MulaiMulai sekarang secara gratis

Identifikasi koefisien penalti L1 yang optimal

Sekarang Anda akan menyetel parameter C untuk regularisasi L1 guna menemukan nilai yang mengurangi kompleksitas model sekaligus tetap mempertahankan metrik kinerja model yang baik. Anda akan menjalankan loop for melalui nilai-nilai C yang memungkinkan dan membangun instance logistic regression pada masing-masing nilai tersebut, serta menghitung metrik kinerja.

Sebuah list C telah dibuat dengan nilai-nilai yang memungkinkan. Array l1_metrics telah dibangun dengan 3 kolom, kolom pertama berisi nilai C, dan dua kolom berikutnya menjadi placeholder untuk jumlah koefisien non-zero dan skor recall model. Fitur terstandardisasi dan variabel target telah dimuat sebagai train_X, train_Y untuk pelatihan, dan test_X, test_Y untuk pengujian.

numpy dan pandas telah dimuat sebagai np dan pd, serta fungsi recall_score dari sklearn.

Latihan ini adalah bagian dari kursus

Machine Learning untuk Pemasaran dengan Python

Lihat Kursus

Petunjuk latihan

  • Jalankan loop for pada range dari 0 hingga panjang list C.
  • Untuk setiap kandidat C, inisialisasi dan latih Logistic Regression lalu prediksi churn pada data uji.
  • Untuk setiap kandidat C, simpan jumlah koefisien non-zero dan skor recall pada kolom kedua dan ketiga l1_metrics.
  • Buat pandas DataFrame dari l1_metrics dengan nama kolom yang sesuai.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Run a for loop over the range of C list length
for index in ___(0, len(C)):
  # Initialize and fit Logistic Regression with the C candidate
  logreg = ___(penalty='l1', C=C[___], solver='liblinear')
  logreg.fit(___, train_Y)
  # Predict churn on the testing data
  pred_test_Y = logreg.___(test_X)
  # Create non-zero count and recall score columns
  l1_metrics[index,1] = np.___(logreg.coef_)
  l1_metrics[index,2] = recall_score(___, pred_test_Y)

# Name the columns and print the array as pandas DataFrame
col_names = ['C','Non-Zero Coeffs','Recall']
print(pd.DataFrame(l1_metrics, columns=___))
Edit dan Jalankan Kode