百面机器学习|学习笔记|第一章特征工程

本集合主要针对《百面机器学习——算法工程师带你去面试》这本书。主要记录笔者认为重要的知识点,希望对大家有帮助。

本章知识疏导:

 百面机器学习|学习笔记|第一章特征工程

1.特征归一化

  1. 目的:消除数据特征之间的量纲影响,使得不同指标之间具有可比性
  2. 常用方法有线性函数归一化零均值归一化
  • 线性函数归一化(Min-Max Scaling,最大最小值归一化),将数据映射到百面机器学习|学习笔记|第一章特征工程的范围内。
    百面机器学习|学习笔记|第一章特征工程
  • 零均值归一化(Z-Score Normalization),将数据映射到均值为0、标准差为1的分布上。
    百面机器学习|学习笔记|第一章特征工程

3. 如果模型用梯度下降来进行求解,数据归一化主要对收敛速度产生影响。将各个特征映射到同一个区间内,可以使得各个特征的更新速度变得更一致,容易更快地通过梯度下降找到最优解。

4. 通过梯度下降求解的模型通常需要归一化,包括线性回归、逻辑回归、支持向量机、神经网络等。但对于决策树并不适用。例如C4.5节点分裂主要依据信息增益比,而归一化并不会改变信息增益比。

2、类别型特征

  1. 类别型特征指在有限选项内取值的特征。通常为字符串形式。决策树等少数模型能直接处理字符串形式的输入,逻辑回归、SVM等类别型特征必须处理成数值型特征才能正确工作。
  2. 处理类别型特征的方法:
  • 序号编码,如成绩可以转化为高、中、低三档,分别用3、2、1表示,转换后依然保留了大小关系。
  • one-hot编码,通常用于处理类别间不具有大小关系的特征。one-hot编码需要注意:当类别取值较多时,用one-hot就会非常稀疏,可以用稀疏向量形式输入来节省空间,目前大部分算法都接受这种输入形式。但是高维one-hot编码会有几个问题:1.knn中高维空间下很难有效衡量两点的距离。2.逻辑回归中参数数量会随维度增高而增多,容易引起过拟合。通常只有部分维度对分类、预测有帮助,因此可以配合特征选择来降维。
  • 二进制编码,和one-hot的思想差不多,它允许多位为1。本质是利用二进制对ID进行hash映射,比one-hot节省空间。