Aan de slagBegin gratis

Handmatige Recursive Feature Elimination

Nu we een classifier voor diabetes hebben gemaakt, kijken we of we het aantal features kunnen verminderen zonder de modelnauwkeurigheid te veel te schaden.

Op de tweede coderegel worden de features uit de oorspronkelijke DataFrame geselecteerd. Pas deze selectie aan.

Een StandardScaler()-instantie is vooraf gedefinieerd als scaler en een LogisticRegression()-instantie als lr.

Alle benodigde functies en pakketten zijn ook al ingeladen.

Deze oefening maakt deel uit van de cursus

Dimensionality Reduction in Python

Bekijk cursus

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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 bewerken en uitvoeren