一、主成分分析:
1、定义:高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量。
2、作用:是数据维数压缩,尽可能降低源数据的维数(复杂度),损失少量信息。
3、应用:回归分析或者聚类分析当中。
4、API:sklearn.decomposition.PCA(n_components=None)
- 将数据分解为较低维数空间。
- n_components:
(1)小数:表示保留百分之多少信息
(2)整数:较少到多少特征
- PCA:it_transform(X) X : numpy array格式的数据[n_samples, n_features]。
- 返回值:转换后指定维度的array。
二、代码:
import pandas as pd
from sklearn.feature_selection import VarianceThreshold
from scipy.stats import pearsonr, spearmanr
from sklearn.decomposition import PCA
def pca_demo():
"""
对数据进行PCA降维
:return: None
"""
data = [[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]]
# 1、实例化PCA,小数 - 保留多少信息
transfer = PCA(n_components=0.9)
# 2、调用fit_transform
data1 = transfer.fit_transform(data)
print("保留90%的信息,降维结果是:\n", data1)
# 1、实例化PCA,小数 - 保留多少信息
transfer = PCA(n_components=3)
# 2、调用fit_transform
data2 = transfer.fit_transform(data)
print("降维到3维的结果是:\n", data2)
return None
if __name__ == '__main__':
pca_demo()
三、运行结果: