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

Ручное рекурсивное устранение признаков

Теперь, когда мы создали классификатор диабета, давайте посмотрим, можно ли сократить количество признаков, не слишком снизив точность модели.

Во второй строке кода признаки выбираются из исходного DataFrame. Скорректируйте этот выбор.

Экземпляр StandardScaler() заранее определён как scaler, а LogisticRegression() — как lr.

Все необходимые функции и пакеты также предварительно загружены.

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

Снижение размерности в Python

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

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

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

# Remove the feature with the lowest model coefficient
X = diabetes_df[['pregnant', 'glucose', 'diastolic', 'triceps', 'insulin', 'bmi', 'family', 'age']]

# Performs a 25-75% train test split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)

# Scales features and fits the logistic regression model
lr.fit(scaler.fit_transform(X_train), y_train)

# Calculates the accuracy on the test set and prints coefficients
acc = accuracy_score(y_test, lr.predict(scaler.transform(X_test)))
print(f"{acc:.1%} accuracy on test set.") 
print(dict(zip(X.columns, abs(lr.coef_[0]).round(2))))
Редактировать и запускать код