Точность после снижения размерности
Вы уменьшите переобучение с помощью снижения размерности. В данном случае применяется довольно радикальный подход: выбирается всего один столбец, который хорошо помогает различать пол. Вы повторите шаги разбивки на обучающую и тестовую выборки, обучения модели и получения предсказаний, чтобы сравнить точность на тестовых и обучающих данных.
Все необходимые пакеты и переменная y уже загружены.
Это упражнение является частью курса
Снижение размерности в Python
Инструкции к упражнению
- Выберите из
ansur_dfтолько столбец с обхватом шеи ('neckcircumferencebase'). - Разбейте данные на выборки, создайте экземпляр классификатора и обучите модель. Этот шаг уже выполнен за вас.
- Снова вычислите показатели точности для обучающей и тестовой выборок.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Assign just the 'neckcircumferencebase' column from ansur_df to X
X = ansur_df[[____]]
# Split the data, instantiate a classifier and fit the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
svc = SVC()
svc.fit(X_train, y_train)
# Calculate accuracy scores on both train and test data
accuracy_train = accuracy_score(____, svc.predict(____))
accuracy_test = accuracy_score(____, svc.predict(____))
print(f"{accuracy_test:.1%} accuracy on test set vs. {accuracy_train:.1%} on training set")