PCA 实例演示二维数据降成1维

Posted 青禹小生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PCA 实例演示二维数据降成1维相关的知识,希望对你有一定的参考价值。

 1 import numpy as np
 2 # 将二维数据降成1维
 3 num = [(2.5, 2.4), (0.5, 0.7), (2.2, 2.9), (1.9, 2.2), (3.1, 3.0), (2.3, 2.7), (2, 1.6), (1, 1.1), (1.5, 1.6), (1.1, 0.9)]
 4 num_array = np.array(num)
 5 n1_avg, n2_avg = np.mean(num_array[:, 0]), np.mean(num_array[:, 1])
 6 # 1.样本中心化
 7 new_num_array = np.array(list(zip(num_array[:, 0] - n1_avg, num_array[:, 1] - n2_avg)))
 8 # 2.计算协方差矩阵
 9 num_cov = np.cov(new_num_array[:, 0], new_num_array[:, 1])
10 # 3.特征值分解
11 # a 特征值, b 特征向量
12 a, b = np.linalg.eig(num_cov)
13 # k=1, 取a最大值的索引对应b的特征向量
14 w = b[:, np.argmax(a)]
15 # 4.输出pca降维结果
16 z1_num = new_num_array.dot(w.T)
17 print(z1_num)
18 
19 # 使用sklearn中的PCA
20 from sklearn.decomposition import PCA
21 pca = PCA(n_components=1)
22 z2_num = pca.fit_transform(num_array)
23 print(z2_num)

 

以上是关于PCA 实例演示二维数据降成1维的主要内容,如果未能解决你的问题,请参考以下文章

数学建模MATLAB应用实战系列(九十四)-PCA降维应用案例(附MATLAB代码)

Python数据集可视化:抽取数据集的两个特征进行二维可视化主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用)

LDA和PCA降维总结

PCA降维算法应用实例----kaggle手写数字识别

R语言plotly可视化:使用PCA算法进行数据降维使用plotly可视化PCA所有的主成分绘制散点图矩阵降维后的两个(三个)核心主成分的二维三维可视化图形方差解释的量载荷图等

吴恩达《机器学习》课程总结(14)_降维