我需要了解由2个主要成分创建的散点图所传达的信息。
我正在处理“ sklearn.datasets”库中的“波士顿住房”数据集。我对“ sklearn.decomposition”库中的预测变量和使用的“ PCA”进行了标准化,以获得2个主要成分并将其绘制在图形上。
现在我想要的只是帮助以简单的语言解释剧情。enter image description here
答案 0 :(得分:0)
每个主成分都可以理解为数据集中所有要素的线性组合。例如,如果您具有三个变量A,B和C,则可以通过0.5A + 0.25B + 0.25C计算主分量的一种可能性。而值[1、2、4]的数据点的主要成分最终将为0.5 * 1 + 0.25 * 2 + 0.25 * 4 = 2。
通过确定在数据中产生最高方差的特征组合来提取第一个主成分。这大致意味着我们需要调整每个变量的乘数(0.5、0.25、0.25),以使所有观察值之间的方差最大化。
通过this图中数据的直线显示2d数据的第一个主成分(绿色)和第二个(粉红色)
答案 1 :(得分:0)
PC是功能的线性组合。基本上,您可以根据捕获的数据和标签从最高到最低的差异对PC进行排序。 PC1将包含大部分方差,然后是PC2等。因此,对于每个PC,都知道它可以准确解释多少方差。但是,当您像在波士顿住房数据集中那样对2D数据进行散点图绘制时,很难说出“多少”和“哪些”功能对PC有所贡献。这是“ biplot”发挥作用的地方。 biplot可以根据每个特征的角度和向量长度来绘制其特征。当您执行此操作时,您不仅会知道顶级PC解释了多少差异,而且还知道哪些功能最重要。
尝试使用“ pca”库。这将绘制解释的方差,并创建一个双图。
pip install pca
from pca import pca
# Initialize to reduce the data up to the number of componentes that explains 95% of the variance.
model = pca(n_components=0.95)
# Or reduce the data towards 2 PCs
model = pca(n_components=2)
# Fit transform
results = model.fit_transform(X)
# Plot explained variance
fig, ax = model.plot()
# Scatter first 2 PCs
fig, ax = model.scatter()
# Make biplot
fig, ax = model.biplot(n_feat=4)