- 这篇博客主要将我之前学习的数据挖掘与机器学习算法进行简单总结,加深下印象。我会在每个算法中贴上之前的连接,有兴趣可以看看。
1、特征工程
1.1、数据清洗
👉 数据清洗
- 1、缺失值的处理:直接删除或填充合适的值;
- 2、重复值的处理:对结果没有影响的话直接删除,有些数据不可删除(如订单表);
- 3、异常值的处理:与整体特征不一致的异常数据或明显不符合常理的数据可删除;
- 4、噪声的处理:噪声是指被测量的变量的随机误差或方差,可以通过分箱将数据分组,聚类算法找出孤立点删除、回归算法使异常数据适合回归函数进行平滑处理;
- 5、标准化:消除不同指标量纲的影响;
- 6、离散化与二值化:有些连续数值或定性变量值可以进行离散化形成类别值(1,2,3)或者二值化(将特征的每个值作为一个新特征,将其赋值0或1);
1.2、特征选取
👉 特征选取
- Filter(过滤法)
- 方差选择法:指定一个方差阈值,选择特征中方差大于阈值的特征进行分析;
- 相关系数法:测量特征和因变量或特征间的线性相关性;与因变量相关性较低的特征可以直接pass掉;若特征间的相关性较大,可以保留其中一个;
- 卡方检验:计算类别离散值之间的相关性;
- 互信息法:评价定性自变量对定性因变量的相关性的即离散型数值;
- Wrapper(包装法)
- 递归特征消除法:使用一个基础机器学习模型来进行多轮训练,每轮训练后,消除若干权值系数的对应的特征,再基于新的特征集进行下一轮训练。速度快、方便,但效果可能不好。
- Embedded(嵌入法)
- 基于惩罚项的特征选择法:正则化惩罚项越大,模型系数就越小。当正则化惩罚项大到一定值,某些特征回归系数就会为0,而这些系数为0的特征就直接筛掉;即我们选择特征系数较大的特征。
- 基于树模型的特征选择:用来计算特征重要程度并排序,选择较重要的特征。
- 降维方法
👉 主成分分析与因子分析- 主成分分析:它利用正交变换将线性相关变量的观测数据转化为少数几个线性无关变量表示的数据,线性无关的变量叫做主成分;
- 因子分析:将变量进行分解成多个因子,选取变量中公共因子去解释较多个要观测变量中存在的复杂关系。
2、线性回归
2.1、普通线性回归
- 线性回归函数是一个或多个称为回归系数的模型参数的线性组合(自变量都是一次方,如 y = 2 x 1 + 3 x 2 + 3 y=2x_1+3x_2+3 y=2x1+3x2+3)。如果我们过度追求数据的预测能力,则容易产生过拟合,对拟合数据即训练集的预测较好,但对未知数据即测试集的预测较差。为了防止过拟合,利用正则化惩罚项改进线性回归模型,产生了岭回归和Lasso回归,分别利用了L2正则化和L1正则化。
2.2、岭回归
- 使用L2正则化,保留所有特征,但是减少特征前面的参数 θ θ θ的大小,具体就是修改线性回归中的损失函数形式即可。
2.3、Lasso回归
- 与岭回归相似,知识Lasso回归利用的是L1正则化,同时不保留所有特征,而是通过增大惩罚项系数来降低特征系数,尽可能的使某些特征系数为0,继而将这些特征筛掉,保留系数不为0的特征。计算量远远少于岭回归。
3、逻辑回归
👉 逻辑回归
- 逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个字,但其是一个分类模型(主要用于二分类),利用了Logistic函数(或称为Sigmoid函数),函数形式为:
g ( y ) = 1 1 + e − y g(y)=\frac 1 {1+e^{-y}} g(y)=1+e−y1;回归的基本方程为: y = ω 0 + ∑ i = 1 n ω i ∗ x i y=\omega_0+\sum_{i=1}^n\omega_i*x_i y=