这段代码使用 Python 对鸢尾花数据集进行主成分分析 (PCA)。

  1. 首先,将 k 设为 2,表示要保留的主成分个数。
  2. 创建一个 PCA 对象,并将 k 作为参数传入。
  3. 加载鸢尾花数据集。
  4. 调用 PCA 对象的 fit 方法,对鸢尾花数据集进行主成分分析。
  5. 输出主成分分析的结果,包括平均值、方差比例和主成分。
  6. 通过调用 PCA 对象的 transform 方法,将原始数据转换为主成分得分矩阵 X
  7. 选择一个特定的鸢尾花种类作为真实数据分布,并将其索引保存在 species_ind 中。
  8. 绘制散点图,横轴和纵轴分别为 X 的第一列和第二列,并使用鸢尾花种类作为颜色标签。
  9. 使用 MinMaxScaler 对象对 X 进行归一化处理。
  10. 绘制归一化后的散点图。
  11. X 中提取特定鸢尾花种类的数据,并对其进行进一步处理。
  12. 将数据转换为 pca_data,采用反正弦转换和平方根开方操作。
  13. 打印输出 x_in

代码内容:

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_)
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()

x_in = X[species_ind[0]: species_ind[-1] + 1]
pca_data = 2*np.arcsin(np.sqrt(x_in)) 
print(x_in)

总结: 这段代码对鸢尾花数据集进行了主成分分析,并对特定种类的数据进行了处理和转换。


原文地址: http://www.cveoy.top/t/topic/lAel 著作权归作者所有。请勿转载和采集!

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