百面机器学习—2. 特征工程与模型评估要点总结


插眼:


一、 特征归一化与标准化问题

1. 什么是归一化?

为了消除数据特征之间的量纲影响,我们需要对特征进行归一化,使得不同指标之间具有可比性,使得各指标处于同一数值量级,以便于分析。

2. 有哪些归一化方法?

在这里插入图片描述

3. 为什么要对数值类型特征做归一化?

1.使不同量纲的特征处于同一数值量级,减少方差大的特征的影响,使模型更准确。
2.加快学习算法的收敛速度。
以随机梯度下降为例,在学习率相同的情况下,经过归一化后的数据容易更快的通过梯度下降找到最优解。
在这里插入图片描述
在实际运用中,通过梯度下降的算法求解的模型都需要归一化,包括线性回归、逻辑回归、支持向量机、神经网络等模型。但对决策树模型并不适用,因为信息增益、信息增益比、基尼指数跟特征是否经过归一化是无关的。

4. 标准化与归一化的区别

我是这么理解的,这些可以统一称为归一化,这里的“一”指的同一量级。
最大最小归一化(Min-Max)与均值归一化对异常值敏感,零均值归一化对异常值的鲁棒性更强

二、 组合特征的相关问题

1. 什么是组合特征?

为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组合,构成高阶组合特征。

2. 怎么处理高维组合特征?

利用降维方法来减少两个高维特征组合后需要学习的参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 怎样有效的找到组合特征?

如果只是简单的两两组合,依然会存在参数过多、过拟合问题,而且并不是所有的特征组合都是有意义的。因此我们需要有效的方法找到应该对哪些特征进行组合。基于决策树的特征组合寻找组合特征,每一条从根节点到叶结点的路径可以看做是一种特征组合的方式。

三、如何处理类别型特征?

描述
  类别特征指在有限选项内取值的特征,通常为字符串形式。除决策树等少数模型可以直接处理字符串形式的输入,对于逻辑回归、支持向量机等模型都需要先将类别型特征直接转换成数值型特征。
在对数据进行预处理时,应该如何处理类别型特征?

  1. 序号编码
    通常处理类别间具有大小关系的数据,会按照大小关系给类别特征赋予一个数值ID

    from sklearn.preprocessing import OrdinalEncoder
    import numpy as np
    
    label = OrdinalEncoder()
    list = ['中国', '美国', '法国', '德国']
    list = np.array(list).reshape(-1,1)
    labels = label.fit_transform(list)
    print(labels)
    
    [[0.]
     [3.]
     [2.]
     [1.]]
    

    如果数据本身并不存在大小关系,使用该编码会给这个特征增加不存在的顺序关系,增加了噪声

  2. 独热编码—onehot编码
    通常用于处理类别间不具有大小关系的特征。

    from sklearn.preprocessing import LabelEncoder,OneHotEncoder
    import numpy as np
    
    label = LabelEncoder()
    labels = label.fit_transform(['中国', '美国', '法国', '德国'])
    print(labels)
    
    labels 
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值