पाइथन के साथ एआई सीखें · पाठ

लक्ष्य एन्कोडिंग और उन्नत श्रेणीबद्ध प्रबंधन

लक्ष्य एन्कोडिंग, आवृत्ति एन्कोडिंग, बाइनरी एन्कोडिंग और अधिक-विशिष्टता वाले कॉलम के लिए एम्बेडिंग।

पाठ 3, कुल 4 में से13 चरण

लक्ष्य एन्कोडिंग और उन्नत श्रेणीबद्ध प्रबंधन, CoddyKit पर पाइथन के साथ एआई सीखें का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह पाइथन के साथ एआई सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

श्रेणीगत एन्कोडिंग की समस्या

मॉडलों को संख्याएँ चाहिए, लेकिन श्रेणियाँ पाठ होती हैं। कम श्रेणियों के लिए वन-हॉट एन्कोडिंग काम करती है, लेकिन उच्च-कार्डिनैलिटी वाले फ़ीचर (हज़ारों शहर या उत्पाद) बहुत अधिक कॉलम बना देते हैं।

वन-हॉट और लेबल एन्कोडिंग की सीमाएँ

वन-हॉट से आयामों की संख्या बहुत बढ़ जाती है। साधारण लेबल एन्कोडिंग एक झूठा क्रम बना देती है (शहर 5, शहर 2 से बड़ा नहीं है)। उच्च-कार्डिनैलिटी वाले डेटा के लिए हमें अधिक समझदार एन्कोडिंग चाहिए।

लक्ष्य एन्कोडिंग क्या है

लक्ष्य एन्कोडिंग प्रत्येक श्रेणी को उस श्रेणी के लक्ष्य के माध्य से बदल देती है। किसी शहर को उस शहर के ग्राहकों की औसत ग्राहक-त्याग दर से दर्शाया जाता है—एकल, सार्थक संख्या।

import pandas as pd

means = df.groupby("city")["target"].mean()
df["city_encoded"] = df["city"].map(means)

अति-अनुरूपण का खतरा

कम पंक्तियों वाली दुर्लभ श्रेणियों के माध्य अत्यधिक हो सकते हैं, जिससे लक्ष्य की जानकारी अनजाने में लीक होती है और अति-अनुरूपण होता है। केवल एक बार दिखाई देने वाली श्रेणी उस एकल लेबल की हूबहू नकल कर सकती है। हम इसे स्मूदिंग से ठीक करते हैं।

अनुमान का समतलीकरण

समतलीकरण श्रेणी के माध्य और वैश्विक माध्य को उस श्रेणी में मौजूद नमूनों की संख्या के आधार पर भार देकर मिलाता है। दुर्लभ श्रेणियों का झुकाव वैश्विक औसत की ओर हो जाता है, जिससे विचरण कम होता है।

import pandas as pd

global_mean = df["target"].mean()
agg = df.groupby("city")["target"].agg(["mean", "count"])
smoothing = 10
agg["enc"] = (agg["count"] * agg["mean"] + smoothing * global_mean) / (agg["count"] + smoothing)
df["city_enc"] = df["city"].map(agg["enc"])

श्रेणी_एन्कोडर्स लाइब्रेरी

category_encoders पैकेज इन एन्कोडरों को scikit-learn API के साथ लागू करता है, इसलिए वे पाइपलाइन में आसानी से जुड़ जाते हैं और प्रशिक्षण तथा परीक्षण सेट पर एकसमान रूप से लागू होते हैं।

import category_encoders as ce

encoder = ce.TargetEncoder(cols=["city", "product"], smoothing=10)
X_enc = encoder.fit_transform(X_train, y_train)
X_test_enc = encoder.transform(X_test)

व्यवहार में डेटा रिसाव से बचना

एन्कोडर को हमेशा केवल प्रशिक्षण डेटा पर fit करें, फिर सत्यापन/परीक्षण डेटा पर transform करें। इससे भी बेहतर है कि क्रॉस-वैलिडेशन या आउट-ऑफ-फोल्ड एन्कोडिंग का उपयोग करें, ताकि प्रत्येक पंक्ति का एन्कोडिंग उस डेटा से हो जिसमें वह पंक्ति शामिल न हो।

import category_encoders as ce
from sklearn.pipeline import make_pipeline
from sklearn.linear_model import LogisticRegression

pipe = make_pipeline(
    ce.TargetEncoder(cols=["city"]),
    LogisticRegression(),
)
# fit inside CV to encode without leakage

बाइनरी एन्कोडिंग

BinaryEncoder श्रेणियों को बाइनरी अंकों में बदलता है और N कॉलम के बजाय केवल log2(N) कॉलम का उपयोग करता है। यह वन-हॉट और लक्ष्य एन्कोडिंग के बीच एक संक्षिप्त मध्यवर्ती विकल्प है।

import category_encoders as ce

encoder = ce.BinaryEncoder(cols=["product_id"])
X_enc = encoder.fit_transform(X_train)
# 256 categories -> 8 binary columns

अन्य उपयोगी एन्कोडर

category_encoders में CountEncoder (प्रत्येक श्रेणी की आवृत्ति), LeaveOneOutEncoder (वर्तमान पंक्ति को छोड़कर लक्ष्य माध्य), और CatBoostEncoder (क्रमबद्ध लक्ष्य आँकड़े) भी उपलब्ध हैं।

import category_encoders as ce

count_enc = ce.CountEncoder(cols=["city"])
loo_enc = ce.LeaveOneOutEncoder(cols=["city"])

उच्च कार्डिनैलिटी को संभालना

बहुत अधिक कार्डिनैलिटी के लिए: लक्ष्य/गणना एन्कोडिंग को एक कॉलम में संकुचित कर देती है, बाइनरी एन्कोडिंग संक्षिप्त रहती है, और दुर्लभ श्रेणियों को "अन्य" समूह में रखने से शोर कम होता है। चुनाव कार्डिनैलिटी और डेटा रिसाव के जोखिम के आधार पर करें।

import pandas as pd

freq = df["product"].value_counts()
rare = freq[freq < 20].index
df["product"] = df["product"].replace(rare, "other")

एन्कोडर चुनना

कम श्रेणियाँ: वन-हॉट। अनेक श्रेणियों वाले ट्री मॉडल: लक्ष्य या CatBoost एन्कोडिंग। संक्षिप्तता चाहिए: बाइनरी। डेटा रिसाव से हमेशा बचें—केवल प्रशिक्षण डेटा पर fit करें और समतलीकरण या आउट-ऑफ-फोल्ड योजनाओं का उपयोग करें।

त्वरित जाँच

श्रेणीगत एन्कोडिंग के अपने ज्ञान का परीक्षण करें।

पुनरावलोकन

पुनरावलोकन: लक्ष्य एन्कोडिंग किसी श्रेणी को उसके लक्ष्य माध्य से बदलती है और दुर्लभ श्रेणियों के प्रभाव को नियंत्रित करने के लिए समतलीकरण का उपयोग करती है। category_encoders (TargetEncoder, BinaryEncoder, CatBoost/LeaveOneOut) का उपयोग करें और डेटा रिसाव से बचने के लिए केवल प्रशिक्षण डेटा पर fit करें या आउट-ऑफ-फोल्ड विधि अपनाएँ। संक्षिप्त एन्कोडर उन उच्च-कार्डिनैलिटी फीचरों को संभालते हैं जिन्हें वन-हॉट संभाल नहीं सकता।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
53
पाठ
225

अक्सर पूछे जाने वाले प्रश्न

क्या “लक्ष्य एन्कोडिंग और उन्नत श्रेणीबद्ध प्रबंधन” पाठ निःशुल्क है?

हाँ — पाइथन के साथ एआई सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “लक्ष्य एन्कोडिंग और उन्नत श्रेणीबद्ध प्रबंधन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“लक्ष्य एन्कोडिंग और उन्नत श्रेणीबद्ध प्रबंधन” में मैं क्या सीखूँगा?

लक्ष्य एन्कोडिंग, आवृत्ति एन्कोडिंग, बाइनरी एन्कोडिंग और अधिक-विशिष्टता वाले कॉलम के लिए एम्बेडिंग। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ पाइथन के साथ एआई सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या पाइथन के साथ एआई सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर पाइथन के साथ एआई सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“लक्ष्य एन्कोडिंग और उन्नत श्रेणीबद्ध प्रबंधन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस पाइथन के साथ एआई सीखें पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर पाइथन के साथ एआई सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. फ़ीचर चयन विधियाँ
  2. इंटरैक्शन और PolynomialFeatures बनाना
  3. लक्ष्य एन्कोडिंग और उन्नत श्रेणीबद्ध प्रबंधन
  4. Featuretools के साथ स्वचालित फीचर इंजीनियरिंग
← पाइथन के साथ एआई सीखें पर वापस जाएँ