CommencezCommencez gratuitement

Élimination récursive des caractéristiques à la main

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

À la deuxième ligne de code, les caractéristiques 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 modules nécessaires ont également été préchargés.

Cette activité fait partie du cours

Réduction de dimensionnalité en Python

Voir le cours

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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