LoslegenKostenlos loslegen

Manuelle rekursive Merkmalselimination

Jetzt, da wir einen Diabetes-Klassifikator erstellt haben, schauen wir, ob wir die Anzahl der Merkmale verringern können, ohne die Modellgenauigkeit zu stark zu beeinträchtigen.

In der zweiten Codezeile werden die Merkmale aus dem ursprünglichen DataFrame ausgewählt. Passe diese Auswahl an.

Eine Instanz von StandardScaler() wurde als scaler und eine von LogisticRegression() als lr vordefiniert.

Alle benötigten Funktionen und Pakete wurden ebenfalls vorab geladen.

Diese Übung ist Teil des Kurses

Dimensionsreduktion in Python

Kurs anzeigen

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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))))
Code bearbeiten und ausführen