Aan de slagGa gratis aan de slag

Bepaal de optimale L1-regularisatiecoëfficiënt

Je gaat nu de parameter C voor L1-regularisatie afstemmen om de waarde te vinden die de modelcomplexiteit verlaagt en toch goede modelprestatiemetingen behoudt. Je voert een for-loop uit over mogelijke C-waarden en bouwt voor elke waarde een logistic-regressiemodel, en berekent prestatiekenmerken.

Er is een lijst C aangemaakt met de mogelijke waarden. De array l1_metrics is opgebouwd met 3 kolommen: de eerste bevat de C-waarden, en de volgende twee zijn placeholders voor het aantal niet-nulcoëfficiënten en de recall-score van het model. De geschaalde features en doelvariabelen zijn geladen als train_X, train_Y voor training, en test_X, test_Y voor testen.

Zowel numpy als pandas zijn geladen als np en pd, en ook de functie recall_score uit sklearn is beschikbaar.

Deze oefening maakt deel uit van de cursus

Machine Learning voor marketing in Python

Cursus bekijken

Oefeninstructies

  • Voer een for-loop uit over het bereik van 0 tot de lengte van de lijst C.
  • Initialiseer en fit voor elke C-kandidaat een Logistic Regression en voorspel churn op testgegevens.
  • Sla voor elke C-kandidaat het aantal niet-nulcoëfficiënten en de recall-score op in de tweede en derde kolom van l1_metrics.
  • Maak een pandas DataFrame van l1_metrics met de juiste kolomnamen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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=___))
Code bewerken en uitvoeren