根据 python 的 sklearn PCA 结果制作散点图

Make a scatterplot from sklearn PCA result for python

我正在尝试显示我使用 sklearn 中的 PCA 函数制作的二维数据集的散点图。我的数据返回如下:

array([[ -3.18592855e+04,  -2.13479310e+00],
       [ -3.29633003e+04,   1.40801796e+01],
       [ -3.25352942e+04,   7.36921088e+00],
...

我预计以下代码会起作用:

import pylab
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA

pca = PCA(n_components=2).fit(instances)
pca_2d = pca.transform(instances)

fig = plt.figure(figsize=(8,3))
plt.scatter(pca_2d[0],pca_2d[1])
plt.show()

但这返回了一个不正确的数字,只显示了前两个值。我需要更改什么才能启动 运行?

您提供了前 2 行而不是 2 列 pca_2d 来构建您的散点图。

做:

import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
import numpy as np

instances = np.array([[ 1,  2],
                      [ 3,  4],
                      [ 5,  6]])
pca = PCA(n_components=2).fit(instances)
pca_2d = pca.transform(instances)

fig = plt.figure(figsize=(8,3))
plt.scatter(pca_2d[:,0],pca_2d[:,1])
plt.show()

给好3分: