The Practical Importance of Feature Selection(变量筛选重要性)

2023-11-20 14:51

本文主要是介绍The Practical Importance of Feature Selection(变量筛选重要性),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

python信用评分卡(附代码,博主录制)

https://study.163.com/course/introduction.htm?courseId=1005214003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

原文链接

https://www.kdnuggets.com/2017/06/practical-importance-feature-selection.html

 

Feature selection is useful on a variety of fronts: it is the best weapon against the Curse of Dimensionality; it can reduce overall training times; and it is a powerful defense against overfitting, increasing generalizability.

特征选择在各个方面都很有用:它是反对过度拟合的最佳武器它可以减少整体培训时间它是对过度拟合,增加普遍性的有力防御。

 

By Matthew Mayo, KDnuggets.

If you wanted to classify animals, for example, based on a plethora of relevant collected data, you would quickly find that all sorts of potential data attributes, or features, were relatively unhelpful for classification. For example, given that most living creatures have precisely 1 heart, this particular feature would not be beneficial, from a learning perspective. On the other hand, an attribute denoting whether or not a given animal is hoofed would likely be a powerful predictor.

如果您想对动物进行分类,例如,基于过多的相关收集数据,您会很快发现各种潜在的数据属性或特征对于分类而言相对无益。例如,鉴于大多数生物只有1颗心脏,从学习的角度来看,这一特殊功能并不是有益的。另一方面,表示给定动物是否有蹄的属性可能是强有力的预测因子。

 

Further, using all of these irrelevant attributes, mixed in with the powerful predictors, may actually have a negative effect on the resulting model. This is to say nothing of the increased training times that may come along with the inclusion of useless attributes, or the overfitting which may occur on the training data.

此外,使用所有这些无关属性,与强大的预测变量混合,实际上可能对结果模型产生负面影响。这也就是说,可能伴随着包含无用属性或训练数据可能出现的过度拟合而增加的训练时间。

 

Feature selection is the process of narrowing down a subset of features, or attributes, to be used in the predictive modeling process. Feature selection is useful on a variety of fronts: it is the best weapon against the Curse of Dimensionality; it can reduce overall training times; and it is a powerful defense against overfitting, increasing model generalizability.

特征选择是缩小要在预测建模过程中使用的特征或属性子集的过程。特征选择在各个方面都很有用:它是反对维度诅咒的最佳武器; 它可以减少整体培训时间; 它是对过度拟合的强大防御,增加了模型的普遍性。

 

Something I read recently -- written so eloquently and concisely by data scientist Rubens Zimbres -- alludes to the importance of feature selection from a practical standpoint:

After some experiences, using stacked neural nets, parallel neural nets, asymmetric configs, simple neural nets, multiple layers, dropouts, activation functions etc there is one conclusion: There's NOTHING like a good Feature Selection.

Having had some previous professional contacts with Rubens Zimbres in the past, I reached out to him for some elaboration. He provided the following:

Feature selection should be one of the main concerns for a Data Scientist. Accuracy and generalization power can be leveraged by a correct feature selection, based in correlation, skewness, t-test, ANOVA, entropy and information gain.

Many times a correct feature selection allows you to develop simpler and faster Machine Learning models. Consider the picture below (Support Vector Machine classification of the IRIS dataset): on the left side a wrong variable selection is presented. The linear kernel cannot handle the classification task properly, neither the radial basis function kernel. On the right side, petal width and petal length were selected as features and even the linear kernel is quite accurate. A correct variable selection, a good algorithm choice and hyperparameter tuning are the keys to success. Picture below made with Python.

特征选择应该是数据科学家的主要关注点之一。基于相关性,偏度,t检验,ANOVA,熵和信息增益,通过正确的特征选择可以利用准确性和泛化能力。

很多时候,正确的功能选择可以让您开发更简单,更快速的机器学习模型。考虑下面的图片(IRIS数据集的支持向量机分类):在左侧显示错误的变量选择。线性内核无法正确处理分类任务,也不能处理径向基函数内核。在右侧,选择花瓣宽度和花瓣长度作为特征,甚至线性内核也非常准确。正确的变量选择,良好的算法选择和超参数调整是成功的关键。下面用Python制作的图片。

In a time when ample processing power can tempt us to think that feature selection may not be as relevant as it once was, it's important to remember that this only accounts for one of the numerous benefits of informed feature selection -- decreased training times. As Zimbres notes above, with a simple concrete example, feature selection can quite literally mean the difference between valid, generalizable models and a big waste of time.

在充足的处理能力可以诱使我们认为特征选择可能不像以前那样具有相关性的时代,重要的是要记住,这仅仅是知情特征选择的众多好处之一 - 减少了训练时间。 正如Zimbres上面所说,通过一个简单的具体例子,特征选择可以完全意味着有效的,可推广的模型之间的差异和浪费大量时间。

 

 

https://study.163.com/course/courseMain.htm?courseId=1005988013&share=2&shareId=400000000398149

 

转载于:https://www.cnblogs.com/webRobot/p/10856649.html

这篇关于The Practical Importance of Feature Selection(变量筛选重要性)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395418

相关文章

C# 中变量未赋值能用吗,各种类型的初始值是什么

对于一个局部变量,如果未赋值,是不能使用的 对于属性,未赋值,也能使用有系统默认值,默认值如下: 对于 int 类型,默认值是 0;对于 int? 类型,默认值是 null;对于 bool 类型,默认值是 false;对于 bool? 类型,默认值是 null;对于 string 类型,默认值是 null;对于 string? 类型,哈哈,没有这种写法,会出错;对于 DateTime 类型,默

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

公共筛选组件(二次封装antd)支持代码提示

如果项目是基于antd组件库为基础搭建,可使用此公共筛选组件 使用到的库 npm i antdnpm i lodash-esnpm i @types/lodash-es -D /components/CommonSearch index.tsx import React from 'react';import { Button, Card, Form } from 'antd'

js小题:通过字符串执行同名变量怎么做

在JavaScript中,你不能直接使用一个字符串来直接引用一个变量,因为JavaScript是一种静态类型语言(尽管它的类型在运行时可以变化),变量的名字在编译时就被确定了。但是,有几种方法可以实现类似的功能: 使用对象(或Map)来存储变量: 你可以使用一个对象来存储你的变量,然后使用字符串作为键来访问这些变量。 let myVars = { 'var1': 'Hello', 'var

示例:推荐一个基于第三方开源控件库DataGridFilter封装的FilterColumnDataGrid,可以像Excel拥有列头筛选器

一、目的:基于第三方开源控件库DataGridFilter封装的FilterColumnDataGrid,可以像Excel拥有列头筛选器,感兴趣的可以去下方链接地址查看开源控件库地址。本控件封装的目的在于将第三方库的皮肤和样式封装到皮肤库中可统一设置样式,同时生成nuget方便调用 二、效果如下 三、环境 VS2022 Net7 四、使用方式 1、安装nuget包:H.Con

C++20中的Feature Test Mocros

C++20定义了一组预处理器宏,用于测试各种语言和库的feature。       Feature Test Mocros(特性测试宏)是C++20中引入的一种强大机制,用于应对兼容性问题。Feature Test Mocros作为预处理器指令(preprocessor directives)出现,它使你能够在编译过程中仔细检查特定语言或库功能(particular language

MySQL中的系统变量权限

MySQL的系统变量用于控制服务器的操作。它们可以是全局的(影响整个MySQL服务器实例),也可以是会话的(仅影响当前客户端会话),或者两者兼有。 你可以使用SET语句来动态地改变这些变量的值。例如: 设置全局系统变量的运行时值: 使用set global语句,该语句需要system_VARIABLES_ADMIN权限(或不推荐使用的SUPER权限)。例如: SET GLOBAL max_

python - 变量和字符串

一.变量 变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”。 •不过Python与大多数其他计算机语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的上边。 •所以有些Python程序员会说“Python”没有“变量”,只有“名字”。 >>> t

线程间通信方式(互斥(互斥锁)与同步(无名信号量、条件变量))

1通信机制:互斥与同步 线程的互斥通过线程的互斥锁完成; 线程的同步通过无名信号量或者条件变量完成。 2  互斥 2.1 何为互斥?         互斥是在多个线程在访问同一个全局变量的时候,先让这个线程争抢锁的资源,那个线程争抢到资源,它可以访问这个变量,没有争抢到资源的线程不能够访问这个变量。那这种只有一个线程能够访问到这个变量的现象称之为线程间互斥。 2.2互斥锁API 1.

php 成员变量赋值用连接符报错

今天遇到一个问题,对类中的一个成员变量赋值,一直报错。就是一个常量连接一个字符串 class FileUploadController extends Controller{private $path = BASEDIR."/Public/Upload"; //上传文件保存你路径private $allowType = array('jpg','png','gif');