PCA 降维的简单示例
1) 利用 PCA 算法将表 1 中的 2 维数据的降低至 1 维,输出降维后的数据。
表 1 数据
数据编号 1 2 3 4 5 6
特征 1 1 2 0 9 8 5
特征 2 2 4 3 2 4 3
2) 将降维后的数据恢复为 2 维数据,比较恢复的数据和表 1 中数据是否相同?并简述原因。
3) 计算降维后主成分的贡献率,贡献率表示投影后信息的保留程度,计算方法为降维后的 k 个特征值(这里 k=1)与特征值总和的比值。
4) 将降维前和降维后的数据分别可视化。用 PCA 对经典数据集 Iris 进行降维
1) 利用 PCA 算法将 Iris 数据集中的 4 维特征中的降低至 2 维,输出降维后的数据。
2) 计算降维后主成分的贡献率。
3) 将降维前和降维后的数据分别可视化。PCA 是否利于数据的可视化?请简述原因。
主成分分析PAC降维
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- ShowMeAI 2022-12-10 13:19关注
望采纳
# 首先,我们需要导入必要的库 import numpy as np from sklearn.decomposition import PCA import matplotlib.pyplot as plt # 然后,我们定义原始数据 data = [[1, 2], [2, 4], [0, 3], [9, 2], [8, 4], [5, 3]] # 接着,我们使用 PCA 算法将数据降维至 1 维 pca = PCA(n_components=1) pca.fit(data) reduced_data = pca.transform(data) # 最后,我们输出降维后的数据 print("降维后的数据是",reduced_data) # 接下来,我们恢复降维后的数据 recovered_data = pca.inverse_transform(reduced_data) # 最后,我们比较恢复的数据和原始数据是否相同 print("恢复数据和原始数据相比是一样的吗", np.allclose(data, recovered_data)) # 接下来,我们计算降维后主成分的贡献率 contribution_ratio = pca.explained_variance_ratio_ # 最后,我们输出贡献率 print("贡献率:", contribution_ratio) # 接下来,我们可视化降维前和降维后的数据 plt.scatter(data[:, 0], data[:, 1], label="Original data") plt.scatter(reduced_data[:, 0], np.zeros(len(reduced_data)), label="Reduced data") plt.legend() plt.show()
# 首先,我们需要导入必要的库 import numpy as np from sklearn.decomposition import PCA import matplotlib.pyplot as plt # 然后,我们导入 Iris 数据集 from sklearn.datasets import load_iris iris = load_iris() # 接着,我们使用 PCA 算法将数据降维至 2 维 pca = PCA(n_components=2) pca.fit(iris.data) reduced_data = pca.transform(iris.data) # 最后,我们输出降维后的数据 print(reduced_data) # 接下来,我们计算降维后主成分的贡献率 contribution_ratio = pca.explained_variance_ratio_ # 最后,我们输出贡献率 print(contribution_ratio) # 接下来,我们可视化降维前和降维后的数据 plt.scatter(iris.data[:, 0],
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
- ¥15 android报错 brut.common.BrutException: could not exec (exit code = 1)
- ¥15 nginx反向代理获取ip,java获取真实ip
- ¥15 eda:门禁系统设计
- ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
- ¥15 376.1电表主站通信协议下发指令全被否认问题
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥15 复杂网络,变滞后传递熵,FDA
- ¥20 csv格式数据集预处理及模型选择
- ¥15 部分网页页面无法显示!