scikit-learn:基于Python语言的机器学习工具
scikit-learn(中文网站)是python中一个非常强大的开源工具包,集合了机器学习中经典的分类、回归、聚类算法及数据处理方法,是数据挖掘和数据分析领域的简单而有效的开发工具。
- 分类算法 Classification
支持向量机 SVM
最近邻法
gradient boosting - 回归算法 Regression
支持向量回归 SVR
Lasso - 聚类算法 Clustering
K-Means
谱聚类 spectral clustering
mean-shift
DBSCAN - 特征工程方法
sklearn 特征工程-
数据预处理
from sklearn.preprocessing import *
1.数据标准化 StandardScaler
2.区间缩放法 MinMaxScaler
3.归一化 Normalizer
4.特征二值化(定量特征) Binarizer
5.One-Hot编码(定性特征或类型特征) OneHotEncoder
6.缺失值计算 Imputer
7.数据变换 PolynomialFeatures -
特征选择
from sklearn.feature_selection import *
1.方差选择法 VarianceThreshold(threshold=3)
2.相关系数法 SelectKBest()
3.卡方检验 SelectKBest(chi2)
4.互信息法 SelectKBest()
5.递归特征消除法 RFE(estimator = LogisticRefression(), n_features_to_select=2)
6.基于惩罚项的特征选择法 SelectFromModel(LogisticRegression(penalty=“l1”, C=0.1))
6.基于树模型的特征选择法 SelectFromModel(GradientBoostingClassifier()) -
降维
from sklearn.decomposition import *
1.主成分分析法 PCA
2.线性判别分析法 LDA
-
数据特征相关方法说明如下图
| 包 | 类 | 参数列表 | 类别 | fit方法是否有用 | 说明|
| :–: | :------|:------ |:–😐 :---------- |
| sklearn.preprocessing | StandardScaler | 特征 |无监督| Y | 标准化 |
| sklearn.preprocessing | MinMaxScaler |特征 |无监督|Y|区间缩放|
|sklearn.preprocessing| Normalizer| 特征 | 无信息|N|归一化|
|sklearn.preprocessing|Binarizer|特征|无信息| N|定量特征二值化|
|sklearn.preprocessing|OneHotEncoder|特征|无监督|Y|定性特征编码|
|sklearn.preprocessing|Imputer|特征|无监督|Y|缺失值计算|
|sklearn.preprocessing|PolynomialFeatures|特征|无信息|N|多项式变换(fit方法仅仅生成了多项式的表达式)|
|sklearn.preprocessing|FunctionTransformer|特征|无信息|N|自定义函数变换(自定义函数在transform方法中调用)|
|sklearn.feature_selection|VarianceThreshold|特征|无监督|Y|方差选择法|
|sklearn.feature_selection| SelectKBest|特征/特征+目标值|无监督/有监督|Y|自定义特征评分选择法|
|sklearn.feature_selection|SelectKBest+chi2|特征+目标值|有监督|Y|卡方检验选择法|
|sklearn.feature_selection|RFE|特征+目标值|有监督|Y|递归特征消除法|
|sklearn.feature_selection|SelectFromModel|特征+目标值|有监督|Y|自定义模型训练选择法|
|sklearn.decomposition|PCA|特征|无监督|Y|PCA降维|
|sklearn.lda|LDA|特征+目标值|有监督|Y|LDA降维|