本周对于随机森林算法进行了学习,阅读了一篇论文,《音乐情感识别研究进展_陈晓鸥》
仍在查找处理解码 MIDI 文件将数据转换为矩阵的 Pyhton 库,查找到较为不错处理 一般音
频文件的 Python 库。
一、关于随机森林算法
1.使用随机森林算法的原因:
随机森林算法几乎不需要输入的准备。它们不需要测算就能够处理二分特征、分类特征、数
值特征的数据。随机森林算法能完成隐含特征的选择,并且提供一个很好的特征重要度的选
择指标。
随机森林算法训练速度快。性能优化过程刚好又提高了模型的准确性,这种精彩表现并不常
有,反之亦然。这种旨在多样化子树的子设定随机特征,同时也是一种突出的性能优化!调
低给定任意节点的特征划分,能让你简单的处理带有上千属性的数据集。(如果数据集有很
多行的话,这种方法同样的也可以适用于行采样)
随机森林算法很难被打败。针对任何给定的数据集,尽管你常能找到一个优于它的模型(比
较典型的是神经网络或者一些增益算法( boosting algorithm),但这类算法肯定不多,而且
通常建这样的模型并调试好要比随机森林算法模型要耗时的更多。这也是为何随机森林算法
作为基准模型表现出色的原因。
建 立 一 个 差 劲 的 随 机 森 林 模 型 真 的 很 难 ! 因 为 随 机 森 林 算 法 对 指 定 使 用 的 超 参 数
(hyper-parameters )并不十分敏感。为了要得到一个合适的模型,它们不需要做很多调整。
只需使用大量的树,模型就不会产生很多偏差。大多数的随机森林算法的实现方法的参数设
置初始值也都是合理的。
通用性。随机森林算法可以应用于很多类别的模型任务。它们可以很好的处理回归问题,也
能对分类问题应付自如(甚至可以产生合适的标准概率值)。虽然我从没亲自尝试,但它们
还可以用于聚类 分析问题。
简洁性。对于随机森林来说,如果不是结论模型很简洁,就是学习算法本身很简洁。基本的
随机森林学习算法仅用几行代码就可以写出来了。也许这样说有点讽刺。但是也精当得体。
提供了数量庞大的精彩、免费、开源实现方法。你能在几乎所有主要的机器学习资料库和工
具箱中找到一个好的实现方法。我现在知道的是,随机森林算法在 R 、scikit-learn 和 Weka
上都有非常好的实现方法。
如果以上的理由还不够的话,那么随机森林算法还能很容易进行并行生长。Boosted model
或者大规模神经网络可做不到这一点。
scikit-learn 给出了清晰的视觉图展示决策森林的模型容量。
评论0