НачатьНачать бесплатно

Моделирование без нормализации

Давайте посмотрим, как может пострадать точность модели, если строить её на данных без предварительной стандартизации.

В этом упражнении мы работаем с подмножеством набора данных wine. Один из столбцов — Proline — имеет значительно более высокую дисперсию по сравнению с остальными. Это типичный случай, когда на помощь приходит логарифмическая нормализация — о ней вы узнаете в следующем разделе.

Процесс обучения модели в scikit-learn уже должен быть вам знаком, поэтому не будем останавливаться на нём подробно. У вас уже есть модель k ближайших соседей (knn), а также наборы X и y, необходимые для обучения и оценки.

Это упражнение является частью курса

Предобработка данных для машинного обучения на Python

Посмотреть курс

Инструкции к упражнению

  • Разделите наборы X и y на обучающую и тестовую выборки, обеспечив равномерное распределение меток классов в обеих частях.
  • Обучите модель knn на обучающих признаках и метках.
  • Выведите точность модели knn на тестовой выборке с помощью метода .score().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, stratify=____, random_state=42)

knn = KNeighborsClassifier()

# Fit the knn model to the training data
knn.____(____, ____)

# Score the model on the test data
print(knn.____(____))
Редактировать и запускать код