一、机器学习算法选择
https://zh.wikipedia.org/wiki/朴素贝叶斯分类器 中提到“2006年有一篇文章详细比较了各种分类方法,发现更新的方法(如提升树和随机森林)的性能超过了贝叶斯分类器”,综合网络中对两者的评价,选择使用随机森林作为机器学习算法。
二、数据预处理
(1)分词:用jieba中文分词将内容切分成一组分词。
(2)热独编码: 将具有多维意义的数据转化成类二进制的数据,例如:”我们”=>包含有”我们”这组词的则为1,否则为0。详见:参考资料(4)
三、Python扩展包sklearn随机森林算法RandomForestClassifier部分参数说明
参数名称 |
默认值 |
说明 |
---|---|---|
criterion |
gini |
纯度计算方式,详见:参考资料(1) |
max_features |
auto |
最大特征数,减小特征选择个数m,树的相关性和分类能力也会相应的降低;增大m,两者也会随之增大。详见:参考资料(2) |
max_depth |
None |
决策树的最大深度,数据量大的情况下spark项目组建议为4,来自:https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/tree/RandomForest.scala |
实践部分可参考:《算法实践-随机森林》
参考资料:
(1)Spark 随机森林算法原理、源码分析及案例实战 https://www.ibm.com/developerworks/cn/opensource/os-cn-spark-random-forest/
(2)随机森林(Random Forest) by poll笔记 http://www.cnblogs.com/maybe2030/p/4585705.html
(3)python的决策树和随机森林 https://www.ibm.com/developerworks/cn/opensource/os-cn-spark-random-forest/
(4)OneHotEncoder进行数据预处理 http://willz.net/2013/07/13/data_preprocessing_via_onehotencoder/
《 “机器学习算法-随机森林” 》 有 2 条评论
[…] 这是一篇随机森林算法的python实践代码,如果你还不知道什么是随机森林是干什么用的可先参考《机器学习算法-随机森林》。 […]
[…] 这是一份随机森林算法的python实践代码,如果你还不知道随机森林算法是干什么用的可先参考《机器学习算法-随机森林》。 […]