当前位置:首页>科技>详解特征工程推荐系统特征工程
发布时间:2026-07-21阅读(1)
作者 | gongyouliu
编辑 | gongyouliu
我们在上一章中讲到了特征构建。通过特征构建可以从已知的数据样本中获得对问题进行建模的数学化的对象(即向量)。针对具体的业务问题,我们可以采用不同的模型来(近似)描述现实世界,不同的模型对数据的要求是不一样的,当尝试或者选定了合适的模型时,我们就需要从已有的特征中选择合适的特征来训练模型(有时特征不够,还要进行构建新特征或者特征处理、增强等操作),那么这些特征中哪些是适合用于构建模型的呢?这就是本章要讲解的特征选择问题。
特征选择是指从所有构建的特征中选择出一个特征子集,用于模型训练与模型学习的过程。特征选择不光要评估特征本身,更需要评估特征与模型的匹配度,评估特征对最终的预测目标的精准度的贡献。特征没有最好的,只有跟应用场景和模型匹配的,特征选择对于构建机器学习应用是非常重要的一环。特征选择主要有以下两个目的:
知道了什么是特征选择以及特征选择的价值,下面我们提供进行特征选择的具体方法,主要有基于统计量的方法、基于模型的方法和基于业务的方法,下面我们分别介绍。
6.1 基于统计量的特征选择方法所谓基于统计量的选择方法,就是基于模型或者/和特征,计算一个/组统计量(数值、向量或者矩阵),基于统计量的具体情况来判断特征是否适合该模型。基于统计量的选择我们介绍如下6种方式,下面我们逐一展开说明。
6.1.1 选择方差大的特征方差反映了特征样本的分布情况,我们可以分析特征的数据分布。分布均匀的特征,样本之间差别不大,该特征不能很好区分不同样本,而分布不均匀的特征,样本之间有极大的区分度,因此通常可以选择方差较大的特征,剔除掉方差变化小的特征。具体方差多大算大,可以事先计算出所有特征的方差,选择一定比例(比如20%)的方差大的特征,或者可以设定一个阈值,选择方差大于阈值的特征。
如果上面的原则或者方法大家不好理解,我这里举个极端的例子说明,看完这个例子我相信大家都能明白。如果我们构建一个模型来预测硕士毕业生工作3年后的收入,假设性别是其中一个特征。如果训练样本中所有的人都是男性,那么男性这个特征就没有区分度(这个例子中性别特征的方差为0),因为所有人都是男性,那么这时性别特征对模型就没有任何价值。
6.1.2 皮尔逊相关系数皮尔森相关系数是一种简单的,能帮助理解特征和目标变量之间关系的方法,用于衡量变量之间的线性相关性,取值区间为[-1,1],-1 表示完全的负相关, 1 表示完全的正相关,0 表示没有线性关系(但是不代表就没关系,可能有非线性关系)。通过分析特征与目标之间的相关性,优先选择与目标相关性高的特征。如果两个特征之间线性相关度的绝对值大,说明这两个特征是有很强的相关关系的,我们没必要都选择,只需要选择其中一个即可。
如果特征或者目标变量都是数值型特征的话,皮尔逊相关系数可以用于计算特征之间的相关性,也可以用于计算特征与目标变量的相关性。
6.1.3 覆盖率特征的覆盖率是指训练样本中有多大比例的样本具备该特征(不具备的原因可能是收集数据时有无效值或者空值导致的)。我们首先计算每个特征的覆盖率,覆盖率很小的特征对模型的预测效果作用不大,可以剔除。
比如,如果年龄是一个特征的话,当大多数用户在注册时不填年龄,那么绝大多数样本的年龄都是空的,那么年龄这个特征的覆盖率就很低,就是一个无效特征。
6.1.4 假设检验假设特征变量和目标变量之间相互独立,选择适当检验方法计算统计量,然后根据统计量做出统计推断(推断变量之间是不是相关的)。例如对于特征变量为类别变量而目标变量为连续数值变量的情况,可以使用方差分析,对于特征变量和目标变量都为连续数值变量的情况,可以使用皮尔森卡方检验,卡方统计量取值越大,特征相关性越高。
6.1.5 互信息在概率论和信息论中,互信息用来度量两个变量之间的相关性。互信息越大则表明两个变量相关性越高,互信息为 0 时,两个变量相互独立。因此可以根据特征变量和目标变量之间的互信息来选择互信息大的特征。关于互信息的计算公式,读者可以参考相关文献资料,这里不细讲。
6.1.6 二分类模型的特征选择方法上面是几种基本的选择特征的方法,针对预测变量是离散的情况(即分类模型,比如预测用户是否点击,下面就以预测二分类模型为例来说明),这时可以先进行分桶再看特征与目标变量的相关性,通过这种方法进行筛选特征。这又分为如下两种情况:
6.1.6.1 特征是离散特征这时可以根据离散特征的不同取值将样本分为几组(比如性别特征可以分为两组:男、女),然后统计每组中目标变量为1的比例(二分类,用0、1表示),同时计算这组样本占总体样本的比例。最终获得如下表格:
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图