ÎncepețiÎncepe gratuit

Eliminarea recursivă manuală a caracteristicilor

Acum că am creat un clasificator pentru diabet, hai să vedem dacă putem reduce numărul de caracteristici fără a afecta prea mult acuratețea modelului.

Pe a doua linie de cod, caracteristicile sunt selectate din DataFrame-ul original. Ajustează această selecție.

O instanță StandardScaler() a fost predefinită ca scaler, iar una LogisticRegression() ca lr.

Toate funcțiile și pachetele necesare au fost preîncărcate.

Acest exercițiu face parte din cursul

Reducerea dimensionalității în Python

Vezi cursul

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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))))
Editează și rulează codul