随机森林算法python实现,随机森林特征重要性python

  随机森林算法python实现,随机森林特征重要性python

  大蟒实现用随机森林评估特征的重要性随机森林根据森林中所有决策树计算平均不纯度的减少来测量特征的重要性,而不作任何数据是线性可分或不可分的假设。

  导入numpy作为NP导入pandas作为PD导入matplotlib。py绘图为来自sk learn的PLT。模型_选择从sk学习导入训练_测试_分割。预处理从sk learn导入minmax scaler。从sk learn集成导入randomforestclassifier。feature _ selection导入从模型中选择df _ wine=PD。read _ CSV( XXX \ \ wine。data ,header=None)df _ wine。columns=[ Class label ,酒精,苹果酸,灰分,灰分,灰分碱度,灰分,镁,总酚值,df_wine.iloc[:0].valuesX_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=0,strategy=y)MMS=minmax scaler()X _ train _ norm=MMS。fit _ transform(X _ train)X _ test _ norm=MMStransform(X _ test)stdsc=标准缩放器()X _ train _ STD=stdsc。拟合变换(X训练)X测试标准=标准偏差。transform(X _ test)feat _ labels=。为了总结特征的重要值和随机森林,值得一提的是sci工具包-学习也实现了从模型中选择对象,可以在模型拟合后,根据用户指定的阈值选择特征sfm=SelectFromModel(forest,threshold=0.1,prefit=True) # prefit:预设模型是否期望直接传递给构造函数X _ selected=SFM转换(X _ train)打印(满足此阈值标准的特征数:,X _ selected。范围(X _ selected)中f的shape[1])。shape[1]):print(-)%-* s % f %(f 1,30,feat _ labels[indexes[f]],importances[indexes[f]])运行结果:

  [0.11852942 0.02564836 0.01327854 0.02236594 0.03135708 0.05087243

  0.17475098 0.01335393 0.02556988 0.1439199 0.058739 0.13616194

  0.1854526 ]

  脯氨酸0.185453黄酮类化合物0.174751稀释葡萄酒的颜色强度0.143920外径280/外径315酒精0.1118529色度0.058739总酚0.050872镁0.031357苹果酸0.025648原花青素0.0255576

  满足该阈值标准的特征数量:5脯氨酸0.185453类黄酮0.174751颜色强度0.143920稀释葡萄酒的外径280/外径315 0.136162酒精0.118529运行结果图:

  把葡萄酒数据集中不同的特征按其相对重要性进行排序,请注意,特征重要性值被正常化所以总和为一

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: