Eliminación recursiva de características manual
Ahora que hemos creado un clasificador de diabetes, veamos si podemos reducir el número de características sin perjudicar demasiado la exactitud del modelo.
En la segunda línea de código se seleccionan las características del DataFrame original. Ajusta esa selección.
Se ha predefinido una instancia de StandardScaler() como scaler y una de LogisticRegression() como lr.
También se han precargado todas las funciones y paquetes necesarios.
Este ejercicio forma parte del curso
Reducción de dimensionalidad en Python
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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))))