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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
kaikaile199520 小时前
风、浪、流环境模型的船舶三自由度(纵荡、横荡、艏摇)运动仿真MATLAB
开发语言·人工智能·matlab
HERR_QQ20 小时前
端到端课程自用 4 规划 基于自规划AR的端到端规划 AI 笔记
人工智能·笔记·自动驾驶·transformer
Mr数据杨20 小时前
灾害推文识别与应急信息筛选优化
机器学习·数据分析·kaggle
weisian15120 小时前
基础篇--概念原理-1-Token是什么?——从原理到实战,一篇讲透
人工智能·职场和发展·token
大模型最新论文速读20 小时前
Select to Think:蒸馏 token 排序能力,效果平均提升24%
论文阅读·人工智能·深度学习·机器学习·自然语言处理
老了,不知天命20 小时前
鳶尾花項目JAVA
java·开发语言·机器学习
无忧智库21 小时前
跨行业数据要素可信流通体系建设:打破信任壁垒的完整工程方法论(WORD)
大数据·人工智能
mit6.82421 小时前
NitroGen: AI 自动玩游戏
人工智能
小王毕业啦21 小时前
2007-2024年 省级-农林牧渔总产值、农业总产值数据(xlsx)
大数据·人工智能·数据挖掘·数据分析·社科数据·实证分析·经管数据
数据皮皮侠21 小时前
上市公司创新韧性数据(2000-2024)|顶刊同款 EIR 指数
大数据·人工智能·算法·智慧城市·制造