失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 利用PCA(主成分分析法)实现鸢尾花数据集的分类

利用PCA(主成分分析法)实现鸢尾花数据集的分类

时间:2024-01-23 08:54:27

相关推荐

利用PCA(主成分分析法)实现鸢尾花数据集的分类

利用PCA(主成分分析法)实现鸢尾花数据集的分类

依赖库 sklearn、matplotlib

安装方法 在终端输入

pip install sklearn

pip install matplotlib

以下为完整代码及注释

import matplotlib.pyplot as plt#加载matplotlib用于数据的可视化from sklearn.decomposition import PCA#加载PCA算法包from sklearn.datasets import load_iris#加载鸢尾花数据集导入函数#降维data = load_iris()#以字典形式加载鸢尾花数据集y = data.target#使用y表示数据集中的标签X = data.data#使用x表示数据集中的属性数据pca = PCA(n_components = 2)#加载PCA算法,设置降维后主成分数目为2reduced_X = pca.fit_transform(X)#对原始数据进行降维,保存在reduced_Xred_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][0])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()#可视化

效果如下图所示。上述代码中n_components为指定主成分的个数,即降维后数据的维度。可以自行选择进行尝试。

class PCA(self, n_components=None, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None)

PCA方法中svd_solver参数也十分重要。svd_solver为设置特征值分解的方法,默认为‘auto’,其他可选有‘full’,‘arpack’,‘randomized’。

如果觉得《利用PCA(主成分分析法)实现鸢尾花数据集的分类》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。