CommencerCommencer gratuitement

Élimination récursive manuelle des variables

Maintenant que nous avons créé un classificateur pour le diabète, voyons si nous pouvons réduire le nombre de variables sans trop dégrader la précision du modèle.

À la deuxième ligne de code, les variables sont sélectionnées à partir du DataFrame d’origine. Ajustez cette sélection.

Une instance de StandardScaler() a été prédéfinie sous le nom scaler et une de LogisticRegression() sous le nom lr.

Toutes les fonctions et tous les packages nécessaires ont également été préchargés.

Cet exercice fait partie du cours

Réduction de dimension en Python

Afficher le cours

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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))))
Modifier et exécuter le code