लॉजिस्टिक रिग्रेशन से चर्न की भविष्यवाणी

Python में मार्केटिंग के लिए मशीन लर्निंग

Karolis Urbonas

Head of Analytics & Science, Amazon

लॉजिस्टिक रिग्रेशन परिचय

  • बाइनरी रिस्पॉन्स के लिए सांख्यिकीय क्लासिफिकेशन मॉडल
  • टार्गेट की प्रायिकता के log-odds को मॉडल करता है
  • मानता है कि log-odds और प्रेडिक्टर्स के बीच रैखिक संबंध है
  • कोएफिशियंट्स और प्रेडिक्शन प्रायिकता लौटाता है

लॉजिस्टिक रिग्रेशन मॉडल

Python में मार्केटिंग के लिए मशीन लर्निंग

मॉडलिंग स्टेप्स

  1. डेटा को ट्रेनिंग और टेस्टिंग में स्प्लिट करें
  2. मॉडल इनिशियलाइज़ करें
  3. ट्रेनिंग डेटा पर मॉडल फिट करें
  4. टेस्टिंग डेटा पर मान प्रेडिक्ट करें
  5. टेस्टिंग डेटा पर मॉडल परफॉरमेंस मेज़र करें
Python में मार्केटिंग के लिए मशीन लर्निंग

मॉडल फिट करना

Logistic Regression क्लासिफायर इम्पोर्ट करें

from sklearn.linear_model import LogisticRegression

Logistic Regression इंस्टेंस इनिशियलाइज़ करें

logreg = LogisticRegression()

ट्रेनिंग डेटा पर मॉडल फिट करें

logreg.fit(train_X, train_Y)
Python में मार्केटिंग के लिए मशीन लर्निंग

मॉडल परफॉरमेंस मेट्रिक्स

मुख्य मेट्रिक्स:

  • Accuracy - सही प्रेडिक्ट हुए लेबल्स का % (Churn और non‑Churn दोनों)
  • Precision - मॉडल की सभी पॉज़िटिव प्रेडिक्शंस (यहाँ Churn) में से सही क्लासिफाइड का %
  • Recall - सभी पॉज़िटिव सैंपल्स (सभी churned कस्टमर) में से सही क्लासिफाइड का %
Python में मार्केटिंग के लिए मशीन लर्निंग

मॉडल की accuracy नापना

from sklearn.metrics import accuracy_score

pred_train_Y = logreg.predict(train_X) pred_test_Y = logreg.predict(test_X)
train_accuracy = accuracy_score(train_Y, pred_train_Y) test_accuracy = accuracy_score(test_Y, pred_test_Y)
print('Training accuracy:', round(train_accuracy,4)) print('Test accuracy:', round(test_accuracy, 4))
Training accuracy: 0.8108
Test accuracy: 0.8009
Python में मार्केटिंग के लिए मशीन लर्निंग

Precision और recall नापना

from sklearn.metrics import precision_score, recall_score

train_precision = round(precision_score(train_Y, pred_train_Y), 4) test_precision = round(precision_score(test_Y, pred_test_Y), 4)
train_recall = round(recall_score(train_Y, pred_train_Y), 4) test_recall = round(recall_score(test_Y, pred_test_Y), 4)
print('Training precision: {}, Training recall: {}'.format(train_precision, train_recall)) print('Test precision: {}, Test recall: {}'.format(train_recall, test_recall))
Training precision: 0.6725, Training recall: 0.5736
Test precision: 0.5736, Test recall: 0.4835
Python में मार्केटिंग के लिए मशीन लर्निंग

रेग्युलराइज़ेशन

  • मॉडल बिल्डिंग फेज़ में पेनल्टी कोएफिशियंट जोड़ता है
  • ओवरफिटिंग को संबोधित करता है (जब पैटर्न मॉडल "याद" कर लेता है)
  • कुछ रेग्युलराइज़ेशन तकनीकें फीचर सेलेक्शन भी करती हैं, जैसे L1
  • मॉडल को अनदेखे सैंपल्स पर ज़्यादा जनरलाइज़ेबल बनाता है
Python में मार्केटिंग के लिए मशीन लर्निंग

L1 रेग्युलराइज़ेशन और फीचर सेलेक्शन

  • sklearn का LogisticRegression डिफॉल्ट रूप से L2 रेग्युलराइज़ेशन करता है
  • L1 रेग्युलराइज़ेशन, जिसे LASSO भी कहते हैं, को स्पष्ट रूप से सेट किया जा सकता है; यह कुछ मॉडल कोएफिशियंट्स को शून्य तक सिकोड़कर फीचर सेलेक्शन करता है।
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression(penalty='l1', C=0.1, solver='liblinear')
logreg.fit(train_X, train_Y)
  • C पैरामीटर को ऑप्टिमल मान पाने के लिए ट्यून करना पड़ता है
Python में मार्केटिंग के लिए मशीन लर्निंग

L1 रेग्युलराइज़ेशन ट्यून करना

C = [1, .5, .25, .1, .05, .025, .01, .005, .0025]
l1_metrics = np.zeros((len(C), 5))
l1_metrics[:,0] = C

for index in range(0, len(C)): logreg = LogisticRegression(penalty='l1', C=C[index], solver='liblinear') logreg.fit(train_X, train_Y) pred_test_Y = logreg.predict(test_X)
l1_metrics[index,1] = np.count_nonzero(logreg.coef_) l1_metrics[index,2] = accuracy_score(test_Y, pred_test_Y) l1_metrics[index,3] = precision_score(test_Y, pred_test_Y) l1_metrics[index,4] = recall_score(test_Y, pred_test_Y)
col_names = ['C','Non-Zero Coeffs','Accuracy','Precision','Recall'] print(pd.DataFrame(l1_metrics, columns=col_names)
Python में मार्केटिंग के लिए मशीन लर्निंग

उत्तम C मान चुनना

L1 रेग्युलराइज़ेशन में C पैरामीटर ट्यूनिंग

Python में मार्केटिंग के लिए मशीन लर्निंग

उत्तम C मान चुनना

L1 रेग्युलराइज़ेशन में C पैरामीटर ट्यूनिंग

Python में मार्केटिंग के लिए मशीन लर्निंग

कुछ लॉजिस्टिक रिग्रेशन मॉडल चलाते हैं!

Python में मार्केटिंग के लिए मशीन लर्निंग

Preparing Video For Download...