这段代码使用主成分分析(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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录