特征预处理
- 统一量纲
特征规格不一样,不能放在一起比较。(主要看模型,比如树模型就不太需要,而计算距离之类的模型,或者神经网络就需要),主要有标准化,区间放缩,归一化。
标准化
##标准化,均值为0,方差为1
from sklearn.preprocessing import StandardScaler
#标准化,返回值为标准化后的数据
StandardScaler().fit_transform(iris.data)
区间放缩
from sklearn.preprocessing import MinMaxScaler
#区间缩放,返回值为缩放到[0, 1]区间的数据
MinMaxScaler().fit_transform(iris.data)
归一化
from sklearn.preprocessing import Normalizer
#归一化,返回值为归一化后的数据
Normalizer().fit_transform(iris.data)
- 定量特征二值化
定量特征二值化的核心在于设定一个阈值,大于阈值的赋值为1,小于等于阈值的赋值为0。
from sklearn.preprocessing import Binarizer
#二值化,阈值设置为3,返回值为二值化后的数据
Binarizer(threshold=3).fit_transform(iris.data)
- 对定性特征哑编码
某些机器学习算法和模型只能接受定量特征