En uygun L1 ceza katsayısını belirle
Şimdi L1 düzenlileştirme için C parametresini ayarlayarak, model karmaşıklığını azaltırken iyi performans metriklerini koruyan değeri bulacaksın. Olası C değerleri üzerinde bir for döngüsü çalıştıracak, her biri için Lojistik Regresyon örnekleri kurup performans metriklerini hesaplayacaksın.
Olası değerlerle bir C listesi oluşturuldu. l1_metrics dizisi 3 sütunla kuruldu; ilki C değerleri, sonraki ikisi ise sıfır olmayan katsayı sayıları ve modelin recall skorunu tutmak için yer tutucu. Ölçeklenmiş öznitelikler ve hedef değişkenler eğitim için train_X, train_Y, test için test_X, test_Y olarak yüklendi.
Hem numpy hem pandas sırasıyla np ve pd olarak, ayrıca sklearn içinden recall_score fonksiyonu yüklendi.
Bu egzersiz
Python ile Pazarlama için Machine Learning
kursunun bir parçasıdırEgzersiz talimatları
Clistesinin uzunluğuna kadar 0'dan başlayan bir aralık üzerinde birfordöngüsü çalıştır.- Her
Cadayı için bir Lojistik Regresyon başlat, eğit ve test verisi üzerinde churn tahmini yap. - Her
Cadayı için sıfır olmayan katsayı sayısını ve recall skorunul1_metrics'in ikinci ve üçüncü sütunlarına kaydet. l1_metrics'ten uygun sütun adlarıyla birpandasDataFrame oluştur.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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=___))