机器学习——主成分分析法(PCA)

目录

  • 简介
  • 代码实现
  • 主成分分析法、层次分析法、因子分析法的选取和使用

简介

优点:
1、降维
2、过滤因素之间的相关性
由特征向量构成,而且每个特征向量无关性决定了主成分的分量线性无关。
缺点:
并不具有现实可解释性,对于工程上的特征选择没有实际意义。

代码实现

import matplotlib.pyplot as plt                 #加载matplotlib用于数据的可视化
from sklearn.decomposition import PCA           #加载PCA算法包
from sklearn.datasets import load_iris
 
data=load_iris()
y=data.target
x=data.data
pca=PCA(n_components=2)     #加载PCA算法,设置降维后主成分数目为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()

主成分分析法、层次分析法、因子分析法的选取和使用

你可能感兴趣的:(Python,线性代数,机器学习)