机器学习系列13:通过随机森林获取特征重要性

我们已经知道通过 L1 正则化和 SBS 算法可以用来做特征选择。

我们还可以通过随机森林从数据集中选择相关的特征。随机森林里面包含了多棵决策树,我们可以通过计算特征在每棵决策树决策过程中所产生的的信息增益平均值来衡量该特征的重要性。

你可能需要参考:《机器学习系列06:决策树

这种方法无需对特征做归一化或者标准化预处理,也不假设数据集是否线性可分。

以红酒数据集为例。我们可以直接通过 feature_importances_ 属性获取每个特征的重要性,所有特征重要性之和为 1.0。

我们可以更直观地可视化观察一下。

可以看到上面随机森林选出的前 3 个特征最重要的特征中有 2 也出现在了之前在

机器学习系列12:减少过拟合------降维(特征选择)》中使用 SFS 算法选择的 3 个最重要的特征中。

我们可以通过 scikit-learn 提供的 SelectFromModel 来通过 threshold 参数设定一个阈值 ,选择满足这个贡献度阈值的特征出来。

可以看到选择了 5 个特征,现在我们就用这 5 个特征拟合一下 kNN 算法。

可以对比一下在用 SFS 算法选择的 3 个特征拟合的 kNN 算法。

选择 5 个特征时,模型在训练集和测试集上的表现和选择全部特征的表现相当!

相关推荐
制冷男孩1 分钟前
机器学习算法-支持向量机SVM
人工智能·算法·机器学习·支持向量机
结冰架构8 分钟前
人工智能大语言模型与AI芯片新进展:技术演进与商业化路径
人工智能·ai·语言模型·自然语言处理·技术
小研学术26 分钟前
如何开展有组织的AI素养教育?
大数据·人工智能·ai·大模型·deepseek·ai素养
中杯可乐多加冰29 分钟前
CloudFront VPC Origins 实践流程深入解析 —— 安全高效架构的实战之道
人工智能·掘金·金石计划
Francek Chen33 分钟前
【现代深度学习技术】循环神经网络07:通过时间反向传播
人工智能·pytorch·rnn·深度学习·神经网络·bptt
ai问道武曲35 分钟前
ai环境conda带torch整体迁移。
人工智能·pytorch·ai·conda
点PY1 小时前
对VTK中的Volume Data体数据进行二维图像处理
图像处理·人工智能
小草cys1 小时前
AI工作流自动化与智能应用开发平台
运维·人工智能·自动化·dify
小可爱的大笨蛋1 小时前
Spring AI Alibaba - MCP连接 MySQL
人工智能·mysql·spring·mcp
小流苏生1 小时前
这只是一罐过期了七年的红牛……
前端·人工智能·程序员