特征选择代码(特征选择实现)
admin 发布:2022-12-20 00:39 154
今天给各位分享特征选择代码的知识,其中也会对特征选择实现进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
特征选择:11 种特征选择策略总结
太多的特征会增加模型的复杂性和过拟合,而太少的特征会导致模型的拟合不足。将模型优化为足够复杂以使其性能可推广,但又足够简单易于训练、维护和解释是特征选择的主要工作。
“特征选择”意味着可以保留一些特征并放弃其他一些特征。本文的目的是概述一些特征选择策略:
该演示的数据集在 MIT 许可下发布,来自 PyCaret——一个开源的低代码机器学习库。
数据集相当干净,但我做了一些预处理。 请注意,我使用此数据集来演示不同的特征选择策略如何工作,而不是构建最终模型,因此模型性能无关紧要。
首先加载数据集:
该数据集包含 202 行和 26 列——每行代表一个 汽车 实例,每列代表其特征和相应的价格。 这些列包括:
现在让我们深入研究特征选择的 11 种策略。
当然,最简单的策略是你的直觉。虽然是直觉,但有时很有用的,某些列在最终模型中不会以任何形式使用(例如“ID”、“FirstName”、“LastName”等列)。 如果您知道某个特定列将不会被使用,请随时将其删除。 在我们的数据中,没有一列有这样的问题所以,我在此步骤中不删除任何列。
缺失值在机器学习中是不可接受的,因此我们会采用不同的策略来清理缺失数据(例如插补)。 但是如果列中缺少大量数据,那么完全删除它是非常好的方法。
无论算法是回归(预测数字)还是分类(预测类别),特征都必须与目标相关。 如果一个特征没有表现出相关性,它就是一个主要的消除目标。 可以分别测试数值和分类特征的相关性。
数值变量
在此示例中, peak-rpm , compression-ratio, stroke, bore, height , symboling 等特征与价格几乎没有相关性,因此我们可以删除它们。
可以手动删除列,但我更喜欢使用相关阈值(在本例中为 0.2)以编程方式进行:
分类变量
可以使用箱线图查找目标和分类特征之间的相关性:
柴油车的中位价高于汽油车。 这意味着这个分类变量可以解释 汽车 价格,所以应放弃它。 可以像这样单独检查每个分类列。
检查一下我们的特征的差异:
这里的“bore”具有极低的方差,虽然这是删除的候选者。 在这个特殊的例子中,我不愿意删除它,因为它的值在2.54和3.94之间,因此方差很低:
df['bore'].describe()
当任何两个特征之间存在相关性时,就会出现多重共线性。 在机器学习中,期望每个特征都应该独立于其他特征,即它们之间没有共线性。 高马力车辆往往具有高发动机尺寸。 所以你可能想消除其中一个,让另一个决定目标变量——价格。
我们可以分别测试数字和分类特征的多重共线性:
数值变量
Heatmap 是检查和寻找相关特征的最简单方法。
大多数特征在某种程度上相互关联,但有些特征具有非常高的相关性,例如长度与轴距以及发动机尺寸与马力。
可以根据相关阈值手动或以编程方式删除这些功能。 我将手动删除具有 0.80 共线性阈值的特征。
还可以使用称为方差膨胀因子 (VIF) 的方法来确定多重共线性并根据高 VIF 值删除特征。 我稍后会展示这个例子。
分类变量
与数值特征类似,也可以检查分类变量之间的共线性。 诸如独立性卡方检验之类的统计检验非常适合它。
让我们检查一下数据集中的两个分类列——燃料类型和车身风格——是独立的还是相关的。
然后我们将在每一列中创建一个类别的交叉表/列联表。
最后,我们将在交叉表上运行卡方检验,这将告诉我们这两个特征是否独立。
输出依次是卡方值、p 值、自由度和预期频率数组。
p 值
有哪些提取中文文本特征向量的代码
一般是先分词,然后用TFIDF方法来向量化,只用词频效果不是很好,然后可以用特征选择方法或特征抽取方法来降低维度,一般的方法有信息熵、信息增益等等很多种的。如果你的机器跑得动的话不降也可以,不过一般来说还是要降的
语料库 matlab 互信息特征选择
语料库不清楚,但是特征选择还是比较清楚的,既然是特征选择,你要搞清楚你的语料库的数据怎么样才算一维特征,比如一个数据矩阵,一列代表一个特征,一行表示一个样本点。
互信息特征选择的方法也很多,要是不想搞清楚具体怎么做的话,起码要先搞清楚MATLAB程序的结构,究竟是让你输入一个什么样的数据(程序一般会告诉你一行数据是表示一维特征还是一个样本点),还有就是注意MATLAB程序说明中有没有对数据的要求,比如规定只接受离散数据
关于特征选择代码和特征选择实现的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:协同源代码(代码共同协作工具)
- 下一篇:小型网上论坛代码(论坛网站代码)
相关推荐
- 05-02管理代码(企业管理代码)[20240502更新]
- 05-02包含跟屏悬浮客服代码的词条[20240502更新]
- 05-02修饰网页代码(网页设计修改)[20240502更新]
- 05-02音乐播放器网页代码(HTML音乐播放器代码)[20240502更新]
- 05-02谷歌离线地图apicss代码(谷歌地图接入)[20240502更新]
- 05-02html5导航条代码生成器(html导航条制作)[20240502更新]
- 05-02functionmatlab代码(matlab出现function)[20240502更新]
- 05-02js变圆代码(图片变圆的代码)[20240502更新]
- 05-02关于类似于漂流瓶html代码的信息[20240502更新]
- 05-01jqtab代码的简单介绍[20240501更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接