Eliminasi Fitur Rekursif Secara Manual
Sekarang setelah kita membuat pengklasifikasi diabetes, mari kita lihat apakah kita dapat mengurangi jumlah fitur tanpa terlalu menurunkan akurasi model.
Pada baris kode kedua, fitur dipilih dari DataFrame asli. Sesuaikan pemilihan ini.
Sebuah instance StandardScaler() telah didefinisikan sebelumnya sebagai scaler dan LogisticRegression() sebagai lr.
Semua fungsi dan paket yang diperlukan juga telah dimuat sebelumnya.
Latihan ini adalah bagian dari kursus
Pengurangan Dimensi dengan Python
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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))))