[TOC]
## 1.预处理
### 1)数据无量纲化
* 好处:加快求解速度、提高模型精度
* 主要方法:中心化、缩放
1. 归一化:preprocessing.MinMaxScaler
2. 标准化:
preprocessing.StandardScaler
preprocessing.Normalizer
...
* 基本使用:
1. 实例化对象\-> fit -> transform
2. 简单使用形式:fit\_transform
3. 逆转换:
inverse\_transform (Normalizer和KernelCenterer没有这个方法)
### 2)缺失值
* impute.SimpleImputer
* impute.KNNImputer
* pandas相关方法:dropna、fillna、replace
### 3)处理分类型特征
* 标签编码(OrdinalEncoder、LabelEncoder)
* 独热编码(OneHotEncoder、LabelBinarizer)
### 4)处理连续型特征
* Binarizer
* KBinsDiscretizer
## 2.特征选择
* 模块:feature\_selection
![](https://img.kancloud.cn/fb/3a/fb3a5763af9dd5f0359553349f871215_921x127.png)
### 1)过滤法
** (1)如何过滤:**
* 基于单个特征本身的特性过滤
1. 方差过滤: feature\_selection.VarianceThreshold
* 基于特征与标签的相关性进行过滤
1. 卡方过滤: feature\_selection.chi2
2. 互信息过滤:
(1).feature\_selection.f\_classif(F检验分类),用于标签是离散型变量的数据
(2).feature\_selection.f\_regression(F检验回归),用于标签是连续型变量的
* F检验
1. feature\_selection.mutual\_info\_classif(互信息分类)
2. feature\_selection.mutual\_info\_regression(互信息回归)
** (2)方法:**
* SelectKBest
* SelectPercentile
* SelectFpr/SelectFdr/SelectFwe
### 2)嵌入法
![](https://img.kancloud.cn/c9/c2/c9c2f9cc0f083e5e05cc8ef496d3180e_940x273.png)
* feature\_selection.SelectFromModel
1. 要求评估器拟合后具有coef\_或者feature\_importances\_属性
### 3)包装法
![](https://img.kancloud.cn/eb/a4/eba462755363e7c3d3ff4c9640d6892c_911x240.png)
* feature\_selection.RFE
## 3.降维
* 目的:
1. 算法运算更快,效果更好
2. 数据可视化
* **降维的要求:即减少特征的数量,又保留大部分有效信息**
* 信息的度量:方差
* decomposition.PCA
## 4. pipeline
* Pipeline
1. 好处:便捷性和封装性、联合的参数选择、安全性
2. 注意:管道中的所有评估器,除了最后一个评估器,管理的所有评估器必须都是转换器(要实
3. 现了fit和transform方法),最后一个评估器的类型不限(只需要实现了fit方法)
4. Pipeline构造
5. 嵌套参数:![](https://img.kancloud.cn/f0/46/f04677c0787c16209d1371c7b223fac9_313x31.png)
* FeatureUnion
1. 合并了多个转换器对象形成一个新的转换器