根据 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分:
我正在尝试显示我使用 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分: