假设我们有包含 10 个非线性特征的数据集:
import numpy as np
from sklearn.decomposition import PCA
import matplotlib
import matplotlib.pyplot as plt
v1 = np.random.rand(100)
print (type(v1))
v2 = 2**v1
v3 = 3**v1 + np.matmul(v1, v1)
v4 = 4**v1 + np.matmul(v2, v3)
v5 = 5**v1 + np.matmul(v1, v3)
v6 = 6**v1 + np.matmul(v1, v4)
v7 = 7**v1 + np.matmul(v2, v2)
v8 = 8**v1 + np.matmul(v4, v5)
v9 = 9**v1
v10 = 10**v1
v = [v1,v2, v3, v4,v5, v6,v7, v8, v9,v10]
pca = PCA()
pca.fit(v)
pca.explained_variance_ratio_
PC_values = np.arange(pca.n_components_) + 1
plt.plot(PC_values, pca.explained_variance_ratio_, 'ro-', linewidth=2)
plt.title('Scree Plot')
plt.xlabel('Principal Component')
plt.ylabel('Proportion of Variance Explained')
plt.show()
- 我知道 PCA 用于找到线性相关性。但是我们可以从这个例子中学到什么?
- 我们可以使用 PCA 结果并仅使用 PCA 的第一个组件来训练预测我们的模型吗?
- 此处显示的结果是否有效(对进一步处理正确)?