Инициализируйте и обучите модель SVC. Выберите полиномиальное ядро и посмотрите, как будет меняться accuracy при степенях ядра от 1 до 5. Выведите степень полинома и accuracy_score для каждого ядра на экран.
# импорт необходимых библиотек
import pandas as pd
from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
scaler = StandardScaler()
# объявляем константу random_state
RANDOM_STATE = 11
# объявляем переменную с данными
# выделяем целевой и входные признаки
data = pd.read_csv('orders_seafood.csv')
X = data.drop(columns=['target', 'client_id'])
y = data['target']
# делим данные на тренировочные и валидационные
X_train, X_test, y_train, y_test = \
train_test_split(X, y, test_size=0.25, random_state=RANDOM_STATE )
# стандартизируем выборки
scaler = StandardScaler()
X_train_scalled = scaler.fit_transform(X_train)
X_test_scalled = scaler.transform(X_test)
# инициализируйте и обучите модель SVM
# с помощью цикла проверьте модель с несколькими степенями ядра полинома
# выведите accuracy для каждой итерации модели
for i in range(5):
clf_poly = SVC(kernel = 'poly', degree = i+1)
clf_poly.fit(X_train_scalled, y_train)
y_pred_poly = clf_poly.predict(X_test_scalled)
r = accuracy_score(y_test, y_pred_poly)
print(i+1, r)
Результат
1 0.6861702127659575
2 0.7021276595744681
3 0.6808510638297872
4 0.6914893617021277
5 0.6861702127659575