सर्वोत्तम L1 penalty गुणांक पहचानें
अब आप L1 regularization के लिए C पैरामीटर को ट्यून करेंगे ताकि वह मान मिल सके जो मॉडल की जटिलता घटाए और साथ ही प्रदर्शन मेट्रिक्स अच्छे बनाए रखे। आप संभावित C मानों पर एक for लूप चलाएँगे, प्रत्येक पर logistic regression के इंस्टेंस बनाएँगे, और performance metrics निकालेंगे.
एक सूची C संभावित मानों के साथ बनाई गई है। l1_metrics array 3 कॉलम्स के साथ तैयार है, जिसमें पहला C मानों के लिए है, और अगले दो non-zero coefficient की गिनती और मॉडल के recall score के placeholders हैं। scaled फीचर्स और target वैरिएबल्स training के लिए train_X, train_Y और testing के लिए test_X, test_Y के रूप में लोड हैं.
numpy और pandas क्रमशः np और pd के रूप में लोड हैं, और sklearn से recall_score फंक्शन भी उपलब्ध है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में मार्केटिंग के लिए मशीन लर्निंग
अभ्यास निर्देश
- सूची
Cकी length तक 0 से range पर एकforलूप चलाएँ. - हर
Cउम्मीदवार के लिए, एक Logistic Regression initialize और fit करें, और test डेटा पर churn की भविष्यवाणी करें. - हर
Cउम्मीदवार के लिए, non-zero coefficients और recall score कोl1_metricsके दूसरे और तीसरे कॉलम में स्टोर करें. l1_metricsसे उपयुक्त कॉलम नामों के साथ एकpandasDataFrame बनाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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=___))