机器学习中特征工程的构造分析,以前在这方便还是没有去全面的了解,最近有一段磨刀的时间,还是从基础学习开始,理论结合代码推进
通过特征提取,我们能得到未经处理的特征,这时的特征可能有以下问题:
不属于同一量纲,无量纲化处理:即特征的规格不一样,不能够放在一起比较。无量纲化可以解决这一问题。比如身高和年龄
信息冗余:对于某些定量特征,其包含的有效信息为区间划分,例如学习成绩,假若只关心“及格”或不“及格”,那么需要将定量的考分,转换成“1”和“0”表示及格和未及格。二值化可以解决这一问题。
定性特征不能直接使用:某些机器学习算法和模型只能接受定量特征的输入,那么需要将定性特征转换为定量特征。最简单的方式是为每一种定性值指定一个定量值,但是这种方式过于灵活,增加了调参的工作。通常使用哑编码的方式将定性特征转换为定量特征:假设有N种定性值,则将这一个特征扩展为N种特征,当原始特征值为第i种定性值时,第i个扩展特征赋值为1,其他扩展特征赋值为0。哑编码的方式相比直接指定的方式,不用增加调参的工作,对于线性模型来说,使用哑编码后的特征可达到非线性的效果。
比如当前属性有5种情况,然后当前样本x拥有当前属性第三种情况,可以构造特征向量(0,0,1,0,0),这就是哑编 码的过程
存在缺失值:缺失值需要补充。常见的有均值还有众数,中值来补充
信息利用率低:不同的机器学习算法和模型对数据中信息的利用是不同的,之前提到在线性模型中,使用对定性特征哑编码可以达到非线性的效