В следующем коде, когда я передаю kernel='linear'
, точность перекрестной проверки составляет около 90%, но когда я передаю kernel='rbf'
, точность перекрестной проверки составляет около 40%.Разве ядро rbf
не работает и для линейной классификации?
Проблема классификации заключается в классификации букв (AZ) ieno.классов = 26.Данные каждого изображения (всего: 340) представлены в оттенках серого и имеют размер: 20 * 10
. Как и числовые элементы, можно легко визуализировать с помощью простого точечного графика.Есть ли лучшая идея, чем визуализация изображений с использованием методов уменьшения размерности (например, PCA)?
Как узнать, является ли набор данных изображения линейно разделимым или нет?
from sklearn.svm import SVC
np.random.seed(42)
shuffle_index = np.random.permutation(340)
shuffled_X, shuffled_y = X_train[shuffle_index], y_train[shuffle_index]
model = SVC(kernel='linear', probability=True)
model.fit(shuffled_X, shuffled_y)
print(cross_val_score(model, shuffled_X, shuffled_y, cv=2))