Python每日一记42>>>机器学习中特征重要性feature_importances_

2021-01-15 17:04:31 浏览数 (1)

参考链接: Python中的网格搜索优化算法

在进行机器学习算法中,我们常用的算法就像下面的代码形式类型 经历导入数据-预处理-建模-得分-预测  但是总觉得少了点什么,虽然我们建模的目的是进行预测,但是我们想要知道的另一个信息是变量的重要性,在线性模型中,我们有截距和斜率参数,但是其他机器学习算法,如决策树和随机森林,我们貌似没有这样的参数 值得庆幸的是我们有变量重要性指标feature_importances_,但是就目前而言,这个参数好像只有在决策树和以决策树为基础的算法有。但是考虑到随机森林已经能解决大部分的分类和回归问题,我们就暂且以随机森林算法为例,介绍特征重要性吧 

先考虑一个简单的问题   列表中的数据和你元数据的表头是对应的,最大值为1,值越大,越重要  以上只是简单的算法,但是大部分时候,我们会加上交叉验证的网格搜索,那应该怎么办呢 估计算法主题其实就是best_estimator_,再追加特征重要性参数就可以了。注意在这之间要转化为Dataframe,否则会运行错误。 

关于其他机器学习算法的特征重要性,大家可以自行寻找其他方法,正在寻找和学习中,需要提醒的是,特征重要性对于变量自相关性不敏感,也就是说,在变量间存在相关性的时候,特征重要性指标可能与实际想要的结果有所偏差,说白了,就是不准。

0 人点赞