读取和清洗数据
将现实世界中得到的数据(如文本和图像)格式化为算法可以处理的格式(数字特征)。
见另一篇Blog:
机器学习中样本数据预处理
一句话,数据决定了你的任务是成功和失败。
探索和理解输入数据
通常需要统计学和基础数学知识,引入一个概念:探索性数据分析(Exploratory Data Analysis, EDA )。
见Blog:
机器学习探索性数据分析
分析如何最好的将数据呈现给学习算法
特征工程(feature engineering)
一个简单算法在精心选择的特征上的效果要比一个漂亮算法在较差的特征上的效果还要好。
通常好特征的目标是在重要的地方取不同值,而在不重要的地方不变。有时需要借助背景知识通过直觉来判断哪些是好特征。能否自动地把好特征选出来 -> 特征选择(feature selection)
删除低方差的特征
from sklearn.feature_selection import VarianceThreshold
单变量特征选择
from sklearn.feature_selection import SelectKBest
X_new = SelectKBest(chi2, k=2).fit_transform(X, y)
scikit-learn:
- 回归: f_regression, mutual_info_regression
- 分类: chi2, f_classif, mutual_info_classif
递归特征消减
给定一个外部估计器,它为特征赋值(例如,线性模型的系数),递归特性消除(RFE)是通过递归地考虑越来越小的特性集来选择特性。首先,评估人员在初始的特性集上进行训练,并且通过一个coef_
属性或通过一个feature_importances_
属性获得每个特性的重要性。然后,最不