数据降维、PCA——基于鸢尾花数据集

xiaoxiao2021-02-28  116

主成分分析PCA 主成分分析(Principal Component Analysis, PCA) 主成分: 可以把具有相关性的高纬度变量,合成为线性无关的低纬度变量,称为主成分。主成分能够尽可能保留原始数据的信息。 方差(度量分散程度)协方差(度量两变量间的线性相关性,0,线性无关)特征向量:描述数据结构的非零向量。 原理: 矩阵的主成分就是其协方差矩阵对应的特征向量,按照对应的特征值大小进行排序, 最大的特征值就是第一主成分,其次第二主成分,以此类推。 sklearn库,使用sklearn.decomposition.PCA加载PCA进行降维,主要参数: n_components:指定主成分个数,即降维后数据维度。svd_solver:特征值分解方法 import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.datasets import load_iris data = load_iris() y = data.target X = data.data pca = PCA(n_components=2) reduced_X = pca.fit_transform(X) red_x, red_y = [], [] blue_x, blue_y = [], [] green_x, green_y = [], [] for i in range(len(reduced_X)):     if y[i] == 0:         red_x.append(reduced_X[i][0])         red_y.append(reduced_X[i][1])     elif y[i] == 1:         blue_x.append(reduced_X[i][0])         blue_y.append(reduced_X[i][1])     else:         green_x.append(reduced_X[i][0])         green_y.append(reduced_X[i][1]) plt.scatter(red_x, red_y, c='r', marker='x') plt.scatter(blue_x, blue_y, c='b', marker='D') plt.scatter(green_x, green_y, c='g', marker='.') plt.show()
转载请注明原文地址: https://www.6miu.com/read-34560.html

最新回复(0)