फ़ीचर चयन विधियाँ
फ़िल्टर (प्रसरण, सहसंबंध), रैपर (RFE) और एम्बेडेड (L1 regularization) विधियाँ।
फ़ीचर चयन विधियाँ, CoddyKit पर पाइथन के साथ एआई सीखें का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह पाइथन के साथ एआई सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
फ़ीचर का चयन क्यों करें
फ़ीचर चयन केवल सबसे उपयोगी कॉलम रखता है। कम फ़ीचर होने से प्रशिक्षण तेज़ होता है, अति-अनुरूपण कम होता है और व्याख्या आसान होती है। शोर हटाने से अक्सर सटीकता भी सुधरती है।
विधियों के तीन वर्ग
चयन विधियाँ तीन समूहों में आती हैं:
- फ़िल्टर किसी सांख्यिकीय माप के आधार पर फ़ीचर की रैंक तय करता है (तेज़, मॉडल-रहित)
- रैपर मॉडल प्रशिक्षित करके उपसमुच्चयों की खोज करता है (धीमा, सटीक)
- एम्बेडेड चयन मॉडल की फिटिंग के दौरान होता है
VarianceThreshold
सबसे सरल फ़िल्टर: VarianceThreshold उन फ़ीचर को हटा देता है जिनका विचरण एक सीमा से कम होता है। लगभग स्थिर कॉलम कोई जानकारी नहीं देते।
from sklearn.feature_selection import VarianceThreshold
sel = VarianceThreshold(threshold=0.01)
X_reduced = sel.fit_transform(X)
print("Kept:", X_reduced.shape[1], "of", X.shape[1])f_classif के साथ SelectKBest
SelectKBest सबसे अधिक स्कोर वाले K फ़ीचर रखता है। f_classif के साथ यह ANOVA F-परीक्षण का उपयोग करता है, जो मापता है कि प्रत्येक फ़ीचर का वर्ग लेबल से संबंध कितना मजबूत है।
from sklearn.feature_selection import SelectKBest, f_classif
sel = SelectKBest(score_func=f_classif, k=10)
X_best = sel.fit_transform(X, y)
print(sel.get_support(indices=True))पारस्परिक जानकारी
mutual_info_classif किसी फ़ीचर और लक्ष्य के बीच किसी भी प्रकार की, जिसमें गैर-रैखिक निर्भरता भी शामिल है, निर्भरता को मापता है। F-परीक्षण के विपरीत, यह उन गैर-रैखिक संबंधों को भी पकड़ता है जिन्हें ANOVA नहीं पकड़ पाता।
from sklearn.feature_selection import SelectKBest, mutual_info_classif
sel = SelectKBest(score_func=mutual_info_classif, k=10)
X_mi = sel.fit_transform(X, y)f_classif बनाम mutual_info की तुलना
f_classif तेज़ है और रैखिक संबंधों का पता लगाता है; mutual_info_classif धीमा है, लेकिन गैर-रैखिक संबंधों को भी पकड़ता है। यदि आपको जटिल संबंधों का संदेह हो, तो पारस्परिक जानकारी को प्राथमिकता दें।
import numpy as np
from sklearn.feature_selection import f_classif, mutual_info_classif
f_scores, _ = f_classif(X, y)
mi_scores = mutual_info_classif(X, y)
print("F-test top:", np.argsort(f_scores)[::-1][:5])
print("MI top:", np.argsort(mi_scores)[::-1][:5])पुनरावर्ती फ़ीचर उन्मूलन
RFE एक रैपर विधि है: यह मॉडल को प्रशिक्षित करती है, सबसे कमजोर फ़ीचर हटाती है और इस प्रक्रिया को दोहराती है। फ़ीचर की रैंक तय करने के लिए यह मॉडल के अपने महत्त्व संकेत का उपयोग करती है।
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
rfe = RFE(estimator=LogisticRegression(max_iter=1000), n_features_to_select=10)
rfe.fit(X, y)
print(rfe.support_)RFECV: संख्या का स्वचालित चयन
RFECV, RFE में क्रॉस-वैलिडेशन जोड़ता है, ताकि यह किसी निश्चित अनुमान के बजाय मान्यकरण स्कोर के आधार पर फ़ीचर की सर्वोत्तम संख्या खोज सके।
from sklearn.feature_selection import RFECV
from sklearn.ensemble import RandomForestClassifier
rfecv = RFECV(
estimator=RandomForestClassifier(),
cv=5,
scoring="accuracy",
)
rfecv.fit(X, y)
print("Optimal features:", rfecv.n_features_)Lasso के साथ SelectFromModel
एम्बेडेड चयन: लासो (L1) महत्वहीन गुणांकों को घटाकर ठीक शून्य कर देता है। इसके बाद SelectFromModel केवल गैर-शून्य गुणांकों वाले फ़ीचर रखता है।
from sklearn.feature_selection import SelectFromModel
from sklearn.linear_model import Lasso
sel = SelectFromModel(Lasso(alpha=0.01))
sel.fit(X, y)
X_lasso = sel.transform(X)
print("Kept:", X_lasso.shape[1])ट्री महत्त्व के साथ SelectFromModel
SelectFromModel ऐसे किसी भी अनुमानक के साथ काम करता है जो feature_importances_ उपलब्ध कराता हो, जैसे रैंडम फ़ॉरेस्ट। "माध्य" या "मध्यिका" जैसी threshold निर्धारित करें।
from sklearn.feature_selection import SelectFromModel
from sklearn.ensemble import RandomForestClassifier
sel = SelectFromModel(
RandomForestClassifier(n_estimators=200),
threshold="median",
)
sel.fit(X, y)विधि का चयन
स्पष्ट रूप से अनुपयोगी फ़ीचर हटाने के लिए सस्ते फ़िल्टर (VarianceThreshold, SelectKBest) से शुरुआत करें। अच्छे संतुलन के लिए एम्बेडेड SelectFromModel का उपयोग करें। जब सटीकता सबसे अधिक महत्वपूर्ण हो और गणना संसाधन उपलब्ध हों, तभी RFECV का उपयोग करें।
त्वरित जाँच
फ़ीचर चयन से जुड़े अपने ज्ञान की जाँच करें।
पुनरावलोकन
पुनरावलोकन: फ़ीचर चयन में फ़िल्टर (VarianceThreshold, f_classif या mutual_info_classif के साथ SelectKBest), रैपर (RFECV) और एम्बेडेड (SelectFromModel को लासो या ट्री महत्त्व के साथ उपयोग करना) विधियाँ शामिल हैं। फ़िल्टर सबसे तेज़ होते हैं; RFECV सबसे अधिक सटीक होता है। गैर-रैखिक संबंधों के लिए पारस्परिक जानकारी का उपयोग करें।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 53
- पाठ
- 225
अक्सर पूछे जाने वाले प्रश्न
क्या “फ़ीचर चयन विधियाँ” पाठ निःशुल्क है?
हाँ — पाइथन के साथ एआई सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “फ़ीचर चयन विधियाँ” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“फ़ीचर चयन विधियाँ” में मैं क्या सीखूँगा?
फ़िल्टर (प्रसरण, सहसंबंध), रैपर (RFE) और एम्बेडेड (L1 regularization) विधियाँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ पाइथन के साथ एआई सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या पाइथन के साथ एआई सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर पाइथन के साथ एआई सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“फ़ीचर चयन विधियाँ” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस पाइथन के साथ एआई सीखें पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर पाइथन के साथ एआई सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- फ़ीचर चयन विधियाँ
- इंटरैक्शन और PolynomialFeatures बनाना
- लक्ष्य एन्कोडिंग और उन्नत श्रेणीबद्ध प्रबंधन
- Featuretools के साथ स्वचालित फीचर इंजीनियरिंग