पायथन में लॉजिस्टिक रिग्रेशन - डेटा तैयार करना
क्लासिफायर बनाने के लिए, हमें डेटा को एक ऐसे फॉर्मेट में तैयार करना चाहिए जो क्लासिफायरियर बिल्डिंग मॉड्यूल द्वारा पूछा जाता है। हम डेटा को तैयार करके करते हैंOne Hot Encoding।
डेटा एन्कोडिंग
हम जल्द ही चर्चा करेंगे कि डेटा को एन्कोडिंग से हमारा क्या मतलब है। सबसे पहले, हम कोड चलाते हैं। कोड विंडो में निम्न कमांड चलाएँ।
In [10]: # creating one hot encoding of the categorical columns.
data = pd.get_dummies(df, columns =['job', 'marital', 'default', 'housing', 'loan', 'poutcome'])
जैसा कि टिप्पणी कहती है, उपरोक्त कथन डेटा के एक गर्म एन्कोडिंग का निर्माण करेगा। आइए देखें कि इसने क्या बनाया है? बनाए गए डेटा की जांच करें“data” डेटाबेस में हेड रिकॉर्ड को प्रिंट करके।
In [11]: data.head()
आप निम्न आउटपुट देखेंगे -
उपरोक्त आंकड़ों को समझने के लिए, हम कॉलम नामों को सूचीबद्ध करके चलाएंगे data.columns नीचे दिखाए अनुसार कमांड -
In [12]: data.columns
Out[12]: Index(['y', 'job_admin.', 'job_blue-collar', 'job_entrepreneur',
'job_housemaid', 'job_management', 'job_retired', 'job_self-employed',
'job_services', 'job_student', 'job_technician', 'job_unemployed',
'job_unknown', 'marital_divorced', 'marital_married', 'marital_single',
'marital_unknown', 'default_no', 'default_unknown', 'default_yes',
'housing_no', 'housing_unknown', 'housing_yes', 'loan_no',
'loan_unknown', 'loan_yes', 'poutcome_failure', 'poutcome_nonexistent',
'poutcome_success'], dtype='object')
अब, हम बताएंगे कि कैसे एक गर्म एन्कोडिंग द्वारा किया जाता है get_dummiesआदेश। नव-निर्मित डेटाबेस में पहला कॉलम "y" फ़ील्ड है जो इंगित करता है कि इस ग्राहक ने TD में सदस्यता ली है या नहीं। अब, हम उन कॉलमों को देखते हैं जो एन्कोडेड हैं। पहला एन्कोडेड कॉलम है“job”। डेटाबेस में, आप पाएंगे कि "नौकरी" कॉलम में "व्यवस्थापक", "ब्लू-कॉलर", "उद्यमी" जैसे कई संभावित मूल्य हैं, और इसी तरह। प्रत्येक संभावित मान के लिए, हमारे पास डेटाबेस में एक नया कॉलम बना है, जिसमें स्तंभ नाम उपसर्ग के रूप में जोड़ा गया है।
इस प्रकार, हमारे पास "job_admin", "job_blue-कॉलर", और इसी तरह के कॉलम हैं। हमारे मूल डेटाबेस में प्रत्येक एन्कोडेड फ़ील्ड के लिए, आपको बनाए गए डेटाबेस में सभी संभावित मानों के साथ स्तंभों की एक सूची मिलेगी, जो मूल डेटाबेस में स्तंभ लेता है। डेटा को नए डेटाबेस में कैसे मैप किया जाता है, यह समझने के लिए कॉलम की सूची की सावधानीपूर्वक जाँच करें।
डेटा मैपिंग को समझना
उत्पन्न डेटा को समझने के लिए, हम डेटा कमांड का उपयोग करके संपूर्ण डेटा का प्रिंट आउट करते हैं। कमांड चलाने के बाद आंशिक आउटपुट नीचे दिखाया गया है।
In [13]: data
उपरोक्त स्क्रीन पहले बारह पंक्तियों को दिखाती है। यदि आप और नीचे स्क्रॉल करते हैं, तो आप देखेंगे कि मैपिंग सभी पंक्तियों के लिए की गई है।
डेटाबेस के नीचे एक आंशिक स्क्रीन आउटपुट आपके त्वरित संदर्भ के लिए यहां दिखाया गया है।
मैप किए गए डेटा को समझने के लिए, हम पहली पंक्ति की जांच करते हैं।
यह कहता है कि इस ग्राहक ने "y" फ़ील्ड में मूल्य के अनुसार टीडी की सदस्यता नहीं ली है। यह भी इंगित करता है कि यह ग्राहक "ब्लू-कॉलर" ग्राहक है। क्षैतिज रूप से नीचे स्क्रॉल करने पर, यह आपको बताएगा कि उसके पास "आवास" है और उसने "ऋण" नहीं लिया है।
इस एक हॉट एन्कोडिंग के बाद, हमें अपने मॉडल का निर्माण शुरू करने से पहले कुछ और डेटा प्रोसेसिंग की आवश्यकता होगी।
"अज्ञात" को छोड़ना
यदि हम मैप किए गए डेटाबेस में कॉलम की जांच करते हैं, तो आपको "अज्ञात" के साथ समाप्त होने वाले कुछ कॉलम की उपस्थिति मिलेगी। उदाहरण के लिए, स्क्रीनशॉट में दिखाए गए कमांड के साथ सूचकांक 12 पर कॉलम की जांच करें -
In [14]: data.columns[12]
Out[14]: 'job_unknown'
यह इंगित करता है कि निर्दिष्ट ग्राहक के लिए नौकरी अज्ञात है। जाहिर है, हमारे विश्लेषण और मॉडल निर्माण में ऐसे स्तंभों को शामिल करने का कोई मतलब नहीं है। इस प्रकार, "अज्ञात" मान वाले सभी स्तंभों को छोड़ दिया जाना चाहिए। यह निम्नलिखित कमांड के साथ किया जाता है -
In [15]: data.drop(data.columns[[12, 16, 18, 21, 24]], axis=1, inplace=True)
सुनिश्चित करें कि आप सही कॉलम संख्या निर्दिष्ट करते हैं। एक संदेह के मामले में, आप कॉलम के नाम को किसी भी समय इसके सूचकांक को निर्दिष्ट करके कभी भी जांच कर सकते हैं जैसा कि पहले बताया गया है।
अवांछित कॉलम को छोड़ने के बाद, आप कॉलम की अंतिम सूची की जांच कर सकते हैं जैसा कि नीचे दिए गए आउटपुट में दिखाया गया है -
In [16]: data.columns
Out[16]: Index(['y', 'job_admin.', 'job_blue-collar', 'job_entrepreneur',
'job_housemaid', 'job_management', 'job_retired', 'job_self-employed',
'job_services', 'job_student', 'job_technician', 'job_unemployed',
'marital_divorced', 'marital_married', 'marital_single', 'default_no',
'default_yes', 'housing_no', 'housing_yes', 'loan_no', 'loan_yes',
'poutcome_failure', 'poutcome_nonexistent', 'poutcome_success'],
dtype='object')
इस बिंदु पर, हमारा डेटा मॉडल निर्माण के लिए तैयार है।