ПочатиПочніть безкоштовно

Ручне рекурсивне вилучення ознак

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

На другому рядку коду ознаки вибираються з початкового датафрейму. Змініть цей вибір.

Екземпляр 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))))
Редагувати та запускати код