何为优秀的机器学习特征 zz

提供好的特征是机器学习任务中最重要的工作,那么何为优秀的机器学习特征?以及如何高效地组合这些特征?

以二分类问题为例,好的特征具有很好的区分性。例如学习任务是区分两种不同类型的狗:灰猎犬(Greyhound)和拉布拉多犬(Labrador)。假设有身高和眼睛的颜色两种特征。一般而言,灰猎犬的平均身高要比拉布拉多犬要高一些,而狗的眼睛的颜色不取决于够的品种,因此可以认为“身高”这个特征就比“眼睛颜色”这个特征更有用,因为“眼睛颜色”这个特征没有告诉我们任何信息。

虽然灰猎犬的平均身高要比拉布拉多犬要高一些,但并不是说所有灰猎犬的身高都要比拉布拉多犬要高,那么为什么“身高”是一个有用的特征呢?假设在一个数据集D上两种类型的狗的身高分布如下图所示,其中红色表示灰猎犬,蓝色表示比拉布拉多犬。在这个数据集D上灰猎犬和拉布拉多犬各有500值,平均身高分别为28英寸和24英寸。

现在我们需要断定在特定的身高每种狗的概率分布。现假设有一批身高为20英寸的狗,我们该如何预测这批狗的品种,使得我们的预测错误率最低呢?根据上面的图,我们判断这批狗中的大部分可能是拉布拉多犬。同样,看图的靠右侧的柱状图,比如35英寸的身高的狗我们有信心认为其是灰猎犬。25英寸高的狗呢?这个时候我们就很难判断其是什么品种了。综上,身高是一个有用的特征,但它并不完美。一般而言,机器学习任务都很难只需要单一的特征。这就是为什么在机器学习任务里我们需要多种特征,否则就不需要机器学习算法,而只需要写if else语句就够了。Features capture different types of information。

假设一个特征的取值在二分类任务的正例和反例中各占大概一半的比例,那么这样的特征是没有用的,比如上面例子中的狗的眼睛颜色。无用的特征会降低分类器的准确率,特别是在样本数量较少的情况下。

由于不同类型的特征还应该包含不同类型的信息,这样才能够起到互相补充的作用。也就是说应该避免冗余的特征。比如“单位为英寸的身高”和“单位和厘米的身高”两个特征之间并不是相互独立的,只是同一个属性的2种不同维度的测试数据而已,因此这2个特征只要保留其中一个就可以了。应该删除与已有特征高度密切相关的特征。

最后,好的特征还应该是易于理解的。比如要预测从一个城市寄一封信去另一个城市需要多长时间可以到达,一个易于理解的特征的例子是这2座城市之间的距离;一个不易于理解的特征组合是这2个城市各种的经纬度信息。因为简单的关系更加易于学习,复杂的关系则需要更多的训练数据,因此更难被学习出来。

总结

  • 避免无用的特征(avoid useless features)
  • 避免冗余的特征(avoid redundant features)
  • 使用易于理解的简单特征(good features should easy to understand)

好的特征具有如下的特点:

  • 有区分性(Informative)
  • 特征之间相互独立(Independent)
  • 简单易于理解(Simple)

原文地址:https://www.cnblogs.com/end/p/10795547.html

时间: 2024-10-10 01:46:23

何为优秀的机器学习特征 zz的相关文章

机器学习 | 特征工程- 超参数调优方法整理

特征工程是机器学习当中很重要的部分,可以帮助我们设计.创建新特征,以便模型从中提取重要相关性.本文将记录并持续更新相关特征工程的工具包介绍,包括自动模型选择和超参数调优等各方面. · Featuretools Featuretools 是一个开源的Python 库,用于自动化特征工程.自动特征工程能够缩减时间成本,构建更优秀的预测模型,生成更有意义的特征,还能防止数据泄漏(data leakage). 目标任务:从数据表格集中获取所有的数据信息并整合到一张表中,再创建特征. 解决方案:采用深度特

机器学习 特征工程之特征选择

概念 首先看一下维基百科中关于特征选择的介绍: 在机器学习和统计学中,特征选择 也被称为变量选择.属性选择 或变量子集选择 .它是指:为了构建模型而选择相关特征(即属性.指标)子集的过程. 在机器学习中,每个特征对于目标类别的影响并不相同,所以需要从特征集中挑选出一组最具统计意义的特征子集,把其他无用数据删掉,达到降维的目的. 特征选择的目标是寻找最优特征子集.特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目

机器学习特征表达——日期与时间特征做离散处理(数字到分类的映射),稀疏类分组(相似特征归档),创建虚拟变量(提取新特征) 本质就是要么多变少,或少变多

特征表达 接下来要谈到的特征工程类型虽然简单却影响巨大.我们将其称为特征表达. 你的数据并不一定总是理想格式.你需要考虑是否有必要通过另一种形式进行特征表达以获取有用信息. 日期与时间特征: 我们假设你拥有purchase_datetime特征.从中提取purchase_day_of_week与purchase_hour_of_day两项特征可能会更有用.你还可以进行观察聚类以创建诸如purchases_over_last_30_days这类特征. 数字到分类的映射: 假设你拥有years_in

【Machine Learning】机器学习の特征

绘制了一张导图,有不对的地方欢迎指正: 下载地址 机器学习中,特征是很关键的.其中包括,特征的提取和特征的选择.他们是降维的两种方法,但又有所不同: 特征抽取(Feature Extraction):Creatting a subset of new features by combinations of the exsiting features.也就是说,特征抽取后的新特征是原来特征的一个映射. 特征选择(Feature Selection):choosing a subset of all

[机器学习]特征归一化

re: 1. 机器学习之特征归一化(normalization); 2. 详解特征归一化; 3. zhihu; 4. 最大最小标准化与Z-score标准化; End 原文地址:https://www.cnblogs.com/happyamyhope/p/10179680.html

机器学习-特征工程-Missing value和Category encoding

好了,大家现在进入到机器学习中的一块核心部分了,那就是特征工程,洋文叫做Feature Engineering.实际在机器学习的应用中,真正用于算法的结构分析和部署的工作只占很少的一部分,相反,用于特征工程的时间基本都占70%以上,因为是实际的工作中,绝大部分的数据都是非标数据.因而这一块的内容是非常重要和必要的,如果想要提高机器学习应用开发的效率,feature engineering就像一把钥匙,一个加速器,能给整个项目带来事半功倍的效果.另外,feature engineering做的好不

机器学习-特征工程-Feature generation 和 Feature selection

概述:上节咱们说了特征工程是机器学习的一个核心内容.然后咱们已经学习了特征工程中的基础内容,分别是missing value handling和categorical data encoding的一些方法技巧.但是光会前面的一些内容,还不足以应付实际的工作中的很多情况,例如如果咱们的原始数据的features太多,咱们应该选择那些features作为咱们训练的features?或者咱们的features太少了,咱们能不能利用现有的features再创造出一些新的与咱们的target有更加紧密联系

机器学习 - 特征筛选与降维

特征决定了最优效果的上限,算法与模型只是让效果更逼近这个上限,所以特征工程与选择什么样的特征很重要! 以下是一些特征筛选与降维技巧 # -*- coding:utf-8 -*- import scipy as sc import libsvm_file_process as data_process import numpy as np from minepy import MINE from sklearn.feature_selection import VarianceThreshold

何为优秀的代码

引言 优秀代码的评价标准是什么? 一直以来这个问题我都没认真思考过.今天刚好看到了一篇讨论该主体的文章,深有感触,特此记录一下自己的感悟. 结论 如果自己写的代码符合现阶段自己心中优秀代码的评价标准,那么就可以认为代码是优秀的.这里引出2个问题:1. 怎么定义自己心中优秀代码的标准:2. 为什么加入现阶段这个限定词. 问题1解答 俗话说:“一千个读者就有一千个哈姆雷特”,每个人对优秀代码的评价标准都不会完全相同.针对这个问题,我们可以把社会上被大部分人认可的标准来作为自己的评判依据,当然这些标准