É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
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))))