【发布时间】:2020-07-13 17:49:14
【问题描述】:
我正在将 PCA 和 SVM 应用于 Sci-Kit Learn 的 load_digits 数据集。
这是一段代码:
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.preprocessing import scale
from sklearn.svm import SVC
X_digits, y_digits = load_digits(return_X_y=True)
data = scale(X_digits)
reduced_data = PCA(n_components=2).fit_transform(data)
clf = SVC(kernel='rbf', C=1e6)
clf.fit(reduced_data, y_digits)
在上面的代码中,reduced_data 是一个 2D numpy 数组,y_digits 是一个 1D numpy 数组。
但是,当我编写以下代码时,我得到了两条线的二维图:
plt.plot(y_digits,'o')
plt.plot(reduced_data,y_digits,'o')
我们不应该在第一行得到一个错误吗(因为y_digits 是一维的,matplotlib 不能绘制一维
plots),以及第二行的 3D 图,因为有两个来自 reduced_data 的输入变量和一个
output 变量为y_digits?我对如何使用 matplotlib 和解释结果有点困惑
【问题讨论】:
标签: python matplotlib multidimensional-array pca