Я применяю PCA и SVM к load_digits
набору данных Sci-Kit Learn.
Вот фрагмент кода:
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.
Однако, когда я пишу следующий код, я получаю 2D график для обеих строк:
plt.plot(y_digits,'o')
plt.plot(reduced_data,y_digits,'o')
Разве мы не должны получить ошибку для первой строки (поскольку y_digits
- это 1D, а matplotlib не может рисовать 1D
графики) и трехмерный график для второй строки, поскольку есть две входные переменные из reduced_data
и одна переменная
output
для y_digits
? Я немного запутался в том, как использовать matplotlib и интерпретировать результаты