R---randomForest

来源:互联网 发布:java逻辑 编辑:程序博客网 时间:2024/05/18 02:14
随机森林(randomForest)是利用多棵决策树对样本数据进行训练并预测的分类器。算法预测输出的类别标签 是由算法内部 多棵决策树 生成的标签的众数决定的。内部构造:假设数据集有m个变量,算法对数据集进行分裂,随机有放回的取出n(n<m)个变量和部分数据案例生成一个决策树(树不用剪枝,最大化生长),一直这样不断生成决策树,树多了就是森林了,加上又是随机分裂的,所以称随机森林了(我个人理解的)因为随机分裂,所以算法中的决策树之间无关联,当一个新数据输入模型时,会根据算法中各决策树输出的标签的类别,取众数作为输出标签。randomforest的优点:1.相比于决策树,可以很好的避免过拟合问题。2.能处理维度很高的数据集。3.创建随机森林 是无偏估计4.实现简单R中randomForest包中的rondomForest函数 rf_m=randomForest(label~.,data[train],ntree=50,nPerm=10,mtry=3,proximity=TRUE,importance=TRUE) leabel~.:代表需要预测的列,ntree:生成决策树的数目nperm:计算importance时的重复次数    #可以不写  mtry:选择的分裂属性的个数    #可以不写proximity=TRUE:表示生成临近矩阵  # 可以不写importance=TRUE:输出分裂属性的重要性   #可以不写rf_pred = predict(rf_m,data[test])可以用gmodel包中的CrossTable 验证结果。
原创粉丝点击