鸢尾花数据集降维可视化:主成分分析(PCA)应用
这段代码使用主成分分析(PCA)对鸢尾花数据集进行降维处理。
首先,定义了一个PCA对象,将保留的主成分个数设置为2:
k=2
pca = PCA(n_components=k)
然后,加载鸢尾花数据集并进行拟合,并输出数据集的均值、方差比例以及主成分:
iris_fulldata = load_iris()
iris_dataset = iris_fulldata.data
print('Loading Iris Data....')
pca.fit(iris_dataset)
print('Mean = ', pca.mean_)
print('Variance Ratio = ', pca.explained_variance_ratio_)
print('Components = ', pca.components_)
接下来,使用拟合后的PCA对象对数据集进行转换,得到降维后的数据集X:
X = pca.transform(iris_dataset)
代码中还选择了鸢尾花数据集中的某个特定类别作为真实数据分布,并绘制了降维后的数据点的散点图:
species_value = 2
print('Picking : Iris-',iris_fulldata['target_names'][species_value],'as real data distribution')
species_ind = [i for i, e in enumerate(iris_fulldata['target']) if e == species_value]
plt.scatter(X[:,0], X[:,1],c=iris_fulldata['target'])
plt.show()
最后,对降维后的数据进行了归一化处理,并再次绘制了散点图:
scaler = MinMaxScaler()
scaler.fit(X)
X = scaler.transform(X)
plt.scatter(X[:,0], X[:,1],c=iris_fulldata['target'])
plt.show()
这段代码的目的是对鸢尾花数据集进行降维,并观察降维后的数据分布。通过绘制散点图,可以看出不同类别的数据点在降维后的空间中的分布情况。
原文地址: https://www.cveoy.top/t/topic/lAn7 著作权归作者所有。请勿转载和采集!