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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
FF-Studio2 分钟前
深入浅出:旋转变位编码(RoPE)在现代大语言模型中的应用
人工智能·深度学习·机器学习·语言模型·自然语言处理
x-cmd19 分钟前
[250204] Mistral Small 3:小巧、快速、强大 | asdf 0.16.0 发布:Golang 重写带来性能飞跃
人工智能·ai·开源·apache·llama·包管理·mistral
AI趋势预见22 分钟前
FinRobot:一个使用大型语言模型的金融应用开源AI代理平台
人工智能·神经网络·学习·语言模型·自然语言处理·金融
灵封~42 分钟前
自定义数据集 使用scikit-learn中svm的包实现svm分类
人工智能·机器学习
Black_Rock_br44 分钟前
LLMs瞬间获得视觉与听觉感知,无需专门训练:Meta的创新——在图像、音频和视频任务上实现最优性能。
人工智能·深度学习·语言模型
Debroon4 小时前
Med-R2:基于循证医学的检索推理框架:提升大语言模型医疗问答能力的新方法
人工智能
人机与认知实验室6 小时前
如何计算态势感知率?
大数据·人工智能
weixin_307779136 小时前
Apache Iceberg数据湖技术在海量实时数据处理、实时特征工程和模型训练的应用技术方案和具体实施步骤及代码
大数据·人工智能·语言模型·音视频
知识鱼丸7 小时前
自定义数据集 使用scikit-learn中svm的包实现svm分类
人工智能
说私域8 小时前
基于开源AI智能名片2 + 1链动模式S2B2C商城小程序视角下的个人IP人设构建研究
人工智能·小程序·开源