特征处理
通过特定的统计方法(数学方法)将数据转换成算法要求的数据
数值行数据:标准缩放:
1.归一化
2.标准化
类别型数据:one-hot编码
时间类型:时间的切分
sklearn特征处理API:
sklearn.preprocessing
归一化:
特点:通过对原始数据进行变化把数据映射到(默认为【0,1】)之间
公式:X' = (x-mim)/max-min X'' = X'*(mx-mi)+ mi
注:作用与每一列,max为一列的最大值,min为一列的最小值,那么X''为最终结果,mx,mi分别为指定区间值默认mx为1,mi为0
特征选择原因:
冗余:部分特征的相关度高,容易消耗计算机性能。
噪声:部分特征对预测结果有影响。
特征选择是什么:
特征选择就是单纯低从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值,也不该兰芝,但是选择后的特征维数肯定比选择前小,毕竟我盟只选择了其中的一部分特征。
主要方法(三个):filter(过滤式):VarianceThreshold; Embedded(嵌入式):正则化,决策树;Wrapper(包裹式)
特征选择API:
sklearn.feature_selection.VarianceThreshold (方差值)
VarianceThreshold(threshold=0.0)
。删除所有地方差特征
。Variance.fit_transform(X)
。X:numpy array格式的数据[n_samples, n_features]
。返回值:训练集差异低于threshold的特征将被删除。
。默认值是保留所有非零方差特征,即删除所有样本中具有相同值的特征。
VarianceThreshold流程:
1.初始话VarianceThreshold,制定阈值方差
2.调用fit_transform
[[0,2,0,3],
[0,1,4,3],
[0,1,1,3]]
from sklearn.feature_selection import VarianceThreshold def var(): """ 特征选择-删除低方差的特征 :return: """ var = VarianceThreshold(threshold=0.0) data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]]) print(data)
sklearn住成分分析API
。sklearn.decomposition
PCA是什么
本质:PCA是一种分析、简化数据集的技术
目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以削减回归分析或者聚类分析中特征的数量
PCA语法
。PCA(n_components=None)
。将数据分解为较低位数空间
。PCA.fit_transform(X)
。X:numpy array 格式的数据[n_samples,n_features]
。返回值:转换后制定维度的array