哪些特征对我的机器学习模型影响最大?

http://blog.sina.com.cn/s/blog_cfa68e330102zelh.html

测量特征重要性没有灵丹妙药,排列重要性是常用的方法之一。与其他技术相比,它具有以下优点。

  • 快速计算
  • 易于使用和理解
  • 它具有我们想要的特征重要性度量的属性。

它是如何工作的 ?

在训练机器学习模型之后计算置换重要性。这种技术向训练有素的模型提出问题,如果我们在保留目标和所有其他列的同时随机打乱一列验证数据,那将如何影响预测机器学习模型的准确性呢?

对单个列的随机打乱应该会导致预测不那么准确,并且我们远不及任何实际数据。因此,对于一个具有高度重要性的特征,这种 random-reshuffle会对机器学习模型预测的准确性造成更大的损害。

Fig.1 Random shuffle of 'Height at age 10(cm)' col

如图1所示,只有“10岁(cm)时的高度”这一列的值被reshuffled ,而其他列中的值与之前一样。如果这一列对训练后的模型非常重要那么这种reshuffle会严重影响性能。

Python代码示例

示例数据集是FIFA 2018 Statistics(https://www.kaggle.com/mathan/fifa-2018-match-statistics#FIFA%202018%20Statistics.csv),下面你可以看到一个简单的RandomForestClassifier正在训练,以预测来自球队的球员是否赢得了“Man of the match”奖。Python代码如下:

import numpy as npimport pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.ensemble import RandomForestClassifierdf = pd.read_csv('FIFA 2018 Statistics.csv')y = df['Man of the Match']=='Yes'features = [i for i in df.columns if df[i].dtype in [np.int64]]X = df[features]train_X, val_X, train_y, val_y = train_test_split(X, y, random_state=1)model = RandomForestClassifier(random_state=0).fit(train_X, train_y)

然后我们使用'eli5'库来计算排列重要性,Python代码如下:

import eli5from eli5.sklearn import PermutationImportanceperm = PermutationImportance(model, random_state=1).fit(val_X, val_y)eli5.show_weights(perm, feature_names=val_X.columns.tolist())

解释结果

特征从上到下依次降低。每行中的第一个数字表示通过该特征的reshuffle 减少了模型性能。第二个数字是特征列的不同reshuffle 的性能降低的随机性的度量。

哪些特征对我的机器学习模型影响最大?相关推荐

  1. 不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 本文作者:s5248 编辑:杨晓凡 2018-01-19 11:32 导语:即便现代机器学习模型已经很先进了,也别

    不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 雷锋网(公众号:雷锋网) AI 科技评论按:眨眼间我们就从人工特征.专家系统来到了自动特征.深度学习的人工智能新时代,众多 ...

  2. Python 3 利用机器学习模型 进行手写体数字检测

    0.引言 介绍了如何生成手写体数字的数据,提取特征,借助 sklearn 机器学习模型建模,进行识别手写体数字 1-9 模型的建立和测试. 用到的几种模型: 1. LR,Logistic Regres ...

  3. python机器学习手写字体识别_Python 3 利用机器学习模型 进行手写体数字检测

    0.引言 介绍了如何生成手写体数字的数据,提取特征,借助 sklearn 机器学习模型建模,进行识别手写体数字 1-9 模型的建立和测试. 用到的几种模型: 1. LR,Logistic Regres ...

  4. 机器学习模型可解释性进行到底——特征重要性(四)

    文章目录 1 四种全局可解释的方法论 1.1 过滤法 1.1.1 方差过滤方差过滤 1.1.2 相关性过滤 1.2 嵌入法 1.2.1 SelectFromModel - 筛选特征 1.2.2 Per ...

  5. Python机器学习建模的标准流程(特征工程+建模调参+模型评估+全流程可视化)

    作者CSDN:进击的西西弗斯 本文链接:https://blog.csdn.net/qq_42216093/article/details/116994199 版权声明:本文为作者原创文章,转载需征得 ...

  6. 独家 | 将时间信息编码用于机器学习模型的三种编码时间信息作为特征的三种方法...

    作者:Eryk Lewinson 翻译:汪桉旭 校对:zrx本文约4400字,建议阅读5分钟 本文研究了三种使用日期相关的信息如何创造有意义特征的方法. 标签:时间帧,机器学习,Python,技术演示 ...

  7. 进一步认识Deepchem的分子特征化: 将化学分子结构作为到随机森林\CNN\RNN\GNN等机器学习模型输入的三种方法

    '''by wufeil进一步认识分子特征化:将化学分子结构作为到随机森林\CNN\RNN\GNN等机器学习模型的输入如何将一个分子SMile表示的分子输入到机器学习/深度学习中呢?例如:CH3CH3 ...

  8. 你的机器学习模型为什么会出错?奉上四大原因解析及五条改进措施

    对开发者来说,目前有一系列的机器学习模型可供选择.雷锋网(公众号:雷锋网)了解,可以用线性回归模型预测具体的数值,用逻辑回归模型对不同的运算结果进行归类,以及用神经网络模型处理非线性的问题等等. 不论 ...

  9. 机器学习模型五花八门不知道怎么选?这份指南告诉你

    作者 | LAVANYA 译者 | 陆离 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]在本文中,我们将探讨不同的机器学习模型,以及每个模型合理的使用场景. 一般来说 ...

最新文章

  1. Linux下PS1设置
  2. torch拼接合并 cat优化记录
  3. win10 配置 maven_home 一会儿成功一会儿失败_在macbook上运行移动硬盘里的win10和macos...
  4. 产品经理的每日反省清单
  5. python 高性能http服务器_Python高性能HTTP客户端
  6. Clojure 学习入门(13)- binding
  7. echarts formatter_Angular 集成 Typescript 版本 Echarts (附代码)
  8. C#操作操作类库五(字符串的常用扩展方法)
  9. linux文件移出目录命令_Linux移动文件命令F01
  10. u盘如何在计算机应用内存,详解为什么8G内存U盘在电脑上显示不到8G只有7.5G
  11. PID调谐方法:根据开环响应特性调谐(一)
  12. php发送邮件——SMTP服务器配置图文教程
  13. IOS微信后台运行时候倒计时暂停问题
  14. java 气象局api_【开放数据】中国气象局API接口
  15. Elasticsearch7.x索引index的备份和恢复,index索引误删恢复
  16. 高效解决阿里云远程桌面连接出现credssp加密oracle修正
  17. 计算机蓝屏故障,计算机蓝屏的故障原因以及解决方法
  18. 【SQLSERVER】清理alwayson过大的事务日志
  19. 短距离无线通讯-NFC
  20. Win10频繁提示“USB端口上的电涌”

热门文章

  1. loadrunner结果图分析
  2. 就在明天!对话晶泰科技赖力鹏:AI制药独角兽的崛起之路
  3. 《机器学习思维导图》,一图掌握机器学习知识要点
  4. ​Python数据可视化工具怎么选?深度评测5款实用工具
  5. 大数据可视化技术面临的挑战及应对措施
  6. 数字治理转型与公共卫生治理能力现代化调查项目
  7. 深度学习中的Normalization模型(附实例公式)
  8. AI大师张钹领衔,清华AI研究院推出知识计算开放平台
  9. 收藏 | 12个ggplot2拓展程序助你强化R可视化
  10. 独家 | 一文解析统计学在机器学习中的重要性(附学习资源)