一、机器学习算法选择
https://zh.wikipedia.org/wiki/朴素贝叶斯分类器 中提到“2006年有一篇文章详细比较了各种分类方法,发现更新的方法(如提升树和随机森林)的性能超过了贝叶斯分类器”,综合网络中对两者的评价,选择使用随机森林作为机器学习算法。
二、数据预处理
(1)分词:用jieba中文分词将内容切分成一组分词。
(2)热独编码: 将具有多维意义的数据转化成类二进制的数据,例如:"我们"=>包含有"我们"这组词的则为1,否则为0。详见:参考资料(4)
三、Python扩展包sklearn随机森林算法RandomForestClassifier部分参数说明
|
默认值 | 说明 |
---|---|---|
|
|
纯度计算方式,详见:参考资料(1) |
|
|
最大特征数,减小特征选择个数m,树的相关性和分类能力也会相应的降低;增大m,两者也会随之增大。详见:参考资料(2) |
|
|
决策树的最大深度,数据量大的情况下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/
源地址:https://www.mudoom.com/Article/show/id/38.html By佐柱
转载请注明出处,也欢迎偶尔逛逛我的小站,谢谢 :)