机器学习5种特征选择的方法!
我们知道模型的性能会随着使用特征数量的增加而增加。但是,当超过峰值时,模型性能将会下降。这就是为什么我们只需要选择能够有效预测的特征的原因。
特征选择类似于降维技术,其目的是减少特征的数量,但是从根本上说,它们是不同的。区别在于要素选择会选择要保留或从数据集中删除的要素,而降维会创建数据的投影,从而产生全新的输入要素。
特征选择有很多方法,在本文中我将介绍 Scikit-Learn 中 5 个方法,因为它们是最简单但却非常有用的,让我们开始吧。
1、方差阈值特征选择
具有较高方差的特征表示该特征内的值变化大,较低的方差意味着要素内的值相似,而零方差意味着您具有相同值的要机器素。
方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征,使用方法我们举例说明:
import pandas as pd import seaborn as sns mpg = sns.load_dataset('mpg').select_dtypes('number') mpg.head()
对于此示例,我仅出于简化目的使用数字特征。在使用方差阈值特征选择之前,我们需要对所有这些数字特征进行转换,因为方差受数字刻度的影响。
fr学习om sklearn.preprocessing import StandardScaler scaler = StandardScaler() mpg = pd.DataFrame(scaler.fit_transform(mpg), columns = mpg.columns) mpg.head()
所有特征都在同一比例上,让我们尝试仅使用方差阈值方法选择我们想要的特征。假设我的方差限制为一个方差。
from&nbs5种p;sklearn.feature_selection import VarianceThreshold selector = VarianceThreshold(1) selector.fit(mpg) mpg.columns[selector.get_support()]
方差阈值是一种无监督学习的特征选择方法。如果我们希望出于监督学习的目的而选择功能怎么办?那就是我们接下来要讨论的。
2、SelectKBest特征特征
单变量特征选择是一种基于单变量统计检验的方法,例如:chi2,P特征earson等等。
SelectKBest 的前提是将未经验证的统计测试与基于 X 和 y 之间的统计结果选择 K 数的特征相结合。
mpg = sns.load_dataset('mpg') mpg = mpg.select_dtypes('number').dropna() #Divide the features into Independent and Dependent Variable X = mpg.选择drop('mpg' , axis =1) y = mpg['mpg']
由于单变量特征选择方法旨在进行监督学习,因此我们将特征分为独立变量和因变量。接下来,我们将使用SelectKBest,假设我只想要最重要的两个特征。
from sklearn.feature_selection import SelectKBest, mutual_info_regression #Select top 2 features&n的方bsp;based on mutual info regression selector = SelectKBest(mutual_info_regression, k =2) selector.fit(X, y) X.columns[selector.get_support()] 3、递归特征消除(RFE)
递归特征消除或RFE是一种特征选择方法,利用机器学习模型通过在递归训练后消除最不重要的特征来选择特征。
根据Scikit-L法!earn,RFE是一种通过递归考虑越来越少的特征集来选择特征的方法。
首先对估计器进行初始特征集训练,然后通过coef_attribute或feature_importances_attribute获得每个特征的重要性。 然后从当前特征中删除最不重要的特征。在修剪后的数据集上递归地重复该过程,直到最终达到所需的要选择的特征数量。
在此示例中,我想使用泰坦尼克号数据集进行分类问题,在那里我想预测谁将生存下来。
#Load the dataset and only selecting the numer机器ical features for example purposes titanic = sns.load_dataset('titanic')[['survived', 'pclass', 'age', 'parch', 'sibsp', 'fare']].dropna() X = titanic.drop('survived', axis = 1) y 学习= titanic['survived']
我想看看哪些特征最能帮助我预测谁可以幸免于泰坦尼克号事件。让我们使用LogisticRegression模型获得最佳特征。
from sklearn.feature_selection import RFE from sklearn.linear_model import LogisticRegression # #Selecting the Best important f5种eatures according to Logistic Regression rfe_selector = RFE(estimator=LogisticRegression(),n_features_to_select = 2, step = 1) rfe_selector.fit(X, y) X.columns[rfe_selector.get_support()]
默认情况下,为RFE选择的特征特征数是全部特征的中位数,步长是1.当然,你可以根据自己的经验进行更改。
4、SelectFromModel 特征选择
Scikit-Learn 的 SelectFromModel 用于选择特征的机器学习模型估计,它基于重要性属性阈值。默认情况下,阈值是平均值。
让我们使用一个数据集示例来更好地理解这一概念。我将使用之前的数据。
from sklearn.feature_selection import SelectFromModel sfm_selector = SelectFromModel(estimator=Lo选择gisticRegression()) sfm_selector.fit(X, y) X.columns[sfm_selector.get_support()]
与RFE一样,你可以使用任何机器学习模型来选择功能,只要可以调用它来估计特征重要性即可。你可以使用随机森林模或XGBoost进行尝试。
5、顺序特征选择(SFS)
顺序特征选择是一种贪婪算法,用于根据交叉验证得分和估计量来向前或向后查找最佳特征,它是 Scikit-Learn 版本0.24中的新增功能。方法如下:
SFS-Forward 通过从零个特征开始进行功能选择,并找的方到了一个针对单个特征训练机器学习模型时可以最大化交叉验证得分的特征。 一旦选择了第一个功能,便会通过向所选功能添加新功能来重复该过程。当我们发现达到所需数量的功能时,该过程将停止。
让我们举一个例子说明。
from sklearn.feature_selection import SequentialFeatureSelector sfs_selector = SequentialFeatureSelector(estimator=LogisticRegression(), n_feat法!ures_to_select = 3, cv =10, direction ='backward') sfs_selector.fit(X, y) X.columns[sfs_selector.get_support()] 结论
特征选择是机器学习模型中的一个重要方面,对于模型无用的特征,不仅影响模型的训练速度,同时也会影响模型的效果。
(责任编辑:5G 资讯)
-
浜氶┈閫婄綉缁滄湇鍔℃寫鎴樺井杞�簯杞�欢涓诲�鍦颁綅锛熻姳閽辫В鍐充笉浜嗛棶棰橈紒
鎹�姤閬擄紝浜氶┈閫婄綉缁滄湇鍔�( AWS锛孉mazon Web Services)鎴栬�鏄�崰涓诲�鍦颁綅鐨勪簯璁$畻鍩虹�璁炬柦骞冲彴锛屼絾鍏朵富瑕佺珵浜夊�鎵嬪井杞�暱鏈熶互鏉ヤ竴鐩翠互鍏跺崰...[详细]
-
豆包宣布正式上线未成年人保护模式。家长朋友们输入密码,开启该模式后,推荐视频、浏览第三方网页、和豆包以外的智能体对话、AI创作功能将被默认关闭。 开启该功能后,翻译、深入研究等功能仍能正常使用。官方表...[详细]
-
云梦级3月26日云梦级消息,3月26日,特步国际(1368.HK)公布2025全年业绩。期内,集团全年营收增加4.2%至人民币141.51亿元,净利润上升10.8%至人民币13.72亿元,以专业度成功...[详细]
-
组织在将业务迁移到云平台时,遇到的最常见的问题之一是成本。采用云计算,组织可以将IT成本从资本支出(硬件设备和软件许可的长期投资)转换为运营支出,因此选择正确的云服务并进行正确估算至关重要。以下将探讨...[详细]
-
云梦级3月1日云梦级消息,今日,《2025快手电商治理与体验报告》正式发布,2025年快手电商采取“AI技术驱动+机制制度创新”的双轮策略,在消费者体验、商家赋能及生态治理三大维度取得突破性进展,致力...[详细]
-
云梦级2月12日云梦级消息,市场调查机构 Mercury Research 于 2 月 10 日发布报告,显示在 2025 年第 4 季度,AMD 在全球 CPU 市场份额实现爆发式增长,出货额与出货...[详细]
-
OpenAI 创始人 Karpathy:未来十年 AI 智能体仍需努力
在人工智能迅速发展的背景下,OpenAI 的联合创始人 Andrej Karpathy 近日发表了一些引人注目的观点。他在一次采访中表示,当前的 AI 智能体距离真正成熟的状态还有很长的路要走,预计需...[详细]
-
10秒克隆你的声音!Fish Audio S1升级震撼来袭,价格仅为ElevenLabs六分之一
近日,Fish Audio S1语音克隆模型迎来重大升级,以其卓越的情感表现力与拟真度,重新定义了语音生成技术的行业标准。这一突破性进展不仅为用户提供了更高质量的语音克隆体验,还以极具竞争力的价格挑战...[详细]
-
云安全日报210915:Adobe Photoshop图片处理软件发现任意代码执行漏洞,需要尽快升级
Adobe Photoshop是美国Adobe公司一套图片处理软件。9月14日,Adobe发布了Adobe Photoshop安全更新,这些更新修复了其中发现的任意代码执行等重要漏洞。以下是漏洞详情:...[详细]
-
新浪科技讯 北京时间5月20日晚间消息,据报道,谷歌今日宣布,将在纽约市开设谷歌的第一家实体零售店“Google Store”。 谷歌称,该实体零售店设在纽约市的切尔西(Chelse),将成为客户体验...[详细]
- https://www.vocabulary.com/dictionary/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,6ZR
- https://www.reginatangoshoes.com/en/catalogsearch/result/index/?T=1686132113407&q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,FYT
- https://www2.ual.es/ProyectoLates/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,WrG
- https://www.universal-music.co.jp/search/?q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,Tp8
- https://www.remit.co.jp/ne/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,yLS
- https://zhidao.baidu.com/index/?action=QUERY&word=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,0ka
- https://www.hanbat.ac.kr/search/front/Search.jsp?qt=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】Zzh
- https://www.military-history.org/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,CsI
- https://www.kores.com/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,lET
- https://www.unclefossil.com/search/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】gad_source=1&gclid=Cj0KCQjw_-GxBhC1ARIsADGgDjsNKplUXa2F6YGlHBK2sHDQ88cgsJBb05DyO99TV9jNq_cT0kGMqyQaAgHQEALw_wcB

Facebook推出新功能:创作者可通过电商渠道赚钱
这个CV数据集生成器火了,支持13类CV任务,DeepMind等打造
标签: 荃信生物 赛乐信 奥托奇拜单抗 鲁塞奇塔单抗
标签: 阅文 天方金码 摘星漫剧场 风月傀儡
标签: 字节跳动 Seed团队 自动驾驶 火山引擎
