在降维之前,会对输入特征进行归一化:
一、标准化有两种一般有两种方法:
1、min-max标准化: 对原有数据进行线性变换,使其落在[0, 1]区间,转换函数如下:
2、z-score 标准化:数据符合正太分布,求出相应的均值方差,转换函数如下:
x* = (x - μ ) / σ
在Python中可以直接调用sklearn的preprocessing方法标准化:
scaler = preprocessing.StandardScaler().fit(features)
features_scaler = scaler.transform(features
二、PCA基本原理:
降维的目的是尽可能少的信息实现降维,PCA是求出特征的协防差矩阵,其次求出协方差的特征值和特征向量,根据特征值排序把特征投影到特征向量上去。
三、Python PCA实现需调用如下包:
from sklearn.decomposition import PCA
1、关于参数:
n_components: PCA主成分个数,除了指定维度还有用'mle',将自动选取特征个数n。
2、PCA对象属性:
components_:返回具有最大方差的成分。
explained_variance_ratio_:返回 所保留的n个成分各自的方差百分比。
n_components_:返回所保留的成分个数n。
3、PCA对象函数:
fit(X): 表示用数据X来训练PCA模型.
transform(X): 将数据X转换成降维后的数据。