个人理财 如何使用Python为数据科学选择正确的变量 - 傻瓜

如何使用Python为数据科学选择正确的变量 - 傻瓜

目录:

视频: R语言第17期 :回归模型比较和变量筛选 2025

视频: R语言第17期 :回归模型比较和变量筛选 2025
Anonim

在Python中选择正确的变量可以减少数据科学中的学习过程,信息)可以影响学习者的估计。因此,变量选择可以有效地减少预测方差。为了在训练中只涉及有用的变量并省略多余的变量,可以使用下面的方法:

  • 单变量方法: 选择与目标结果最相关的变量。

    <!贪婪或向后的方法:
  • 只保留可以从学习过程中删除而不损害其性能的变量。 通过单变量度量选择

如果您决定通过与其目标相关联的级别来选择变量,则SelectPercentile类将提供一个自动过程,仅保留最佳关联要素的某个百分比。可用的关联指标是

f_regression:仅用于数字目标并基于线性回归性能。
  • f_classif:仅用于分类目标,并基于方差分析(ANOVA)统计检验。 chi2:对分类目标执行卡方统计,对于预测变量与其目标之间的非线性关系较不明显。

  • <!当评估分类问题的候选者时,f_classif和chi2倾向于提供相同的最高变量集合。测试关联指标的选择仍然是一个很好的做法。

  • SelectPercentile除了可以直接选择最重要的百分比关联外,还可以对最佳变量进行排名,以便更容易地决定排除某个特征参与学习过程的百分比。类SelectKBest类似于它的功能,但它选择了前k个变量,其中k是一个数字,而不是百分位数。从sklearn

    。 feature_selection从sklearn中导入SelectPercentile。 feature_selection import f_regression Selector_f = SelectPercentile(f_regression,percentile = 25)Selector_f。 fit(X,y)for n,s in zip(boston。feature_names,Selector_f。scores_):print'F-score:%3。 (s,n)F分数:88. 15对于特征CRIM F得分:75. 26对于特征ZN F得分:153.35对于特征INDUS F得分:15.97对于特征%功能CHAS F得分:112.59功能NOX F得分:471.85功能RM F得分:83。48对于特征AGE F得分:33.对于特征DIS F得分为58.58对于特征RAD F得分为141.76对于特征TAX F得分为175.对于特征PTRATIO F得分为11.63。 05功能B F-score:601. 62功能LSTAT

使用关联输出级别帮助您为机器学习模型选择最重要的变量,但是您应该注意以下可能的问题: >一些高度相关的变量也可能是高度相关的,引入重复的信息,这在学习过程中起到噪音的作用。某些变量可能会受到惩罚,特别是二进制变量(变量指示状态或特征,当值为1时,值为1,否则为0)。例如,请注意,输出显示二进制变量CHAS与目标变量关联最少(但您从前面的示例中了解到,它在交叉验证阶段具有影响力)。单变量选择过程可以给你一个真正的优势,当你有大量的变量可供选择时,所有其他方法在计算上是不可行的。最好的方法是将SelectPercentile的值减少一半或更多的可用变量,将变量数量减少到一个可管理的数量,从而允许使用更复杂和更精确的方法,如贪婪搜索。

使用贪婪搜索

当使用单变量选择时,您必须自己决定要保留多少个变量:贪婪选择会根据对学习模型的有效贡献,自动减少参与学习模型的特征的数量性能测量由误差测量。适合数据的RFECV类可以为您提供关于有用特征数量的信息,并将它们指向您,并通过方法转换将X数据自动转换为简化变量集合,如下面的例子:sklearn中的

。 feature_selection import RFECV selector = RFECV(estimator = regression,cv = 10,scoring =“mean_squared_error”)选择器。 (X,y)打印(“最佳特征数量:%d”%选择器。n_特征_)最佳特征数量:6

  • 可以通过调用RFECV的属性support_获取最佳变量集合的索引上课后,你适应它。打印波士顿。 feature_names [选择器。请注意,CHAS现在包含在最具预测性的特征之中,与单变量搜索的结果形成对比,RFECV方法可以检测变量是重要的,不管它是二元的,分类的还是数字的,因为它直接评估特征在预测中所扮演的角色

  • 与单变量方法相比,RFECV方法当然更有效率,因为它考虑高度相关的特征,并且被调整以优化评估测量(通常不是卡方或F分数)。作为一个贪婪的过程,它在计算上要求很高,并且可能只接近最好的一组预测器。由于RFECV从数据中学习到最好的一组变量,所以选择可能会过度,这是所有其他机器学习算法发生的情况。在不同的训练数据样本上尝试RFECV可以确定使用的最佳变量。

如何使用Python为数据科学选择正确的变量 - 傻瓜

编辑的选择

如何在Dreamweaver中创建HTML站点地图 - 虚拟人物

如何在Dreamweaver中创建HTML站点地图 - 虚拟人物

创建视觉站点地图,您可以创建网站上所有页面的图表,包括通过导航和子导航的主要页面的互联性。然后,您可以使用这些信息来帮助收集和定义网站内容,并在生成模型时用作指导。

如何创建一个单一的图像CSS3背景 - 傻瓜

如何创建一个单一的图像CSS3背景 - 傻瓜

最简单,最兼容的方式创建一个CSS3的背景,至少有一点点漂亮是使用单个图像。正确的图像说了很多关于您的网站,并提供页面之间的连续性。因为这种方法是标准的,所以你会看到它在很多网站上使用。所有你真正需要的...

如何在CSS3中创建可排序接口 - 傻瓜

如何在CSS3中创建可排序接口 - 傻瓜

电脑要做的,你想要你的CSS3编码来创造这种情况。例如,一台计算机可以按字母顺序将项目比人类可以更快,特别是当列表很长时。但是,排序并不总是合乎逻辑的。您可能希望用户排序...

编辑的选择

尼康D5000数码相机布局 - 傻瓜

尼康D5000数码相机布局 - 傻瓜

这里是一个方便的指针,拨号,按钮和其他外部控制尼康D5000上。 (此数码相机上显示的镜头是与D5000套件一起出售的Nikkor 18-55mm AF-S VR(减震)型号;其他镜头可能不同,标有星号的相机控制具有多种功能。 ...

GoPro相机可以做什么? - 傻瓜

GoPro相机可以做什么? - 傻瓜

GoPro相机可以做什么?这里有一个更相关的问题:你想要做什么?提出这个问题更像是问自己关于自己的愿望和渴望的独特的录像。当你确定你想要捕捉什么时,你所要做的就是将相机连接到...

使用现有的电影为您的GoPro电影 - 傻瓜

使用现有的电影为您的GoPro电影 - 傻瓜

如果你不想创建你自己的GoPro电影照明,你可以尝试使用现有的灯光。以下是在电影中使用可用光源的一些提示。使用白炽灯泡可以使用白炽灯泡来点亮你的电影,但是它们的效果取决于...

编辑的选择

中创建新图像如何在Photoshop CS6中创建新图像 - 傻瓜

中创建新图像如何在Photoshop CS6中创建新图像 - 傻瓜

在Photoshop CS6中从头开始创建一个新的图像。请按照以下步骤使用“新建”功能创建新图像:选择“文件”→“新建”。或者按Ctrl + N(Mac上的Command + N)。输入新文件的名称。如果您不指定名称,Photoshop会为您创建一个名称。 ...

如何在Photoshop CS6中创建新图层 - 虚拟人物

如何在Photoshop CS6中创建新图层 - 虚拟人物

有多种方法可以使用和创建Adobe Photoshop Creative Suite 6中的图层。这些不同的技术可以让您根据您的需求量身定制流程。在打开的图像中创建新的空白图层:单击“图层”面板底部的“创建新图层”图标。您也可以...

如何在Photoshop CS6中创建云 - 虚拟人物

如何在Photoshop CS6中创建云 - 虚拟人物

Photoshop CS6中的云过滤器可以鼓起一片满天的只需点击鼠标即可从头开始。此过滤器使用来自前景和背景颜色的随机值创建云。事实上,大多数Photoshop老手使用这个过滤器太多,他们的图像中有一个惊人的云数量。 ...