IniziaInizia gratis

Eliminazione ricorsiva manuale delle caratteristiche

Ora che abbiamo creato un classificatore per il diabete, vediamo se possiamo ridurre il numero di caratteristiche senza compromettere troppo l'accuratezza del modello.

Nella seconda riga di codice le caratteristiche vengono selezionate dal DataFrame originale. Modifica questa selezione.

Un'istanza di StandardScaler() è stata predefinita come scaler e una di LogisticRegression() come lr.

Anche tutte le funzioni e i pacchetti necessari sono già stati caricati.

Questo esercizio fa parte del corso

Riduzione della dimensionalità in Python

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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))))
Modifica ed esegui il codice