SelectKBest कैसे काम करता है?


15

मैं इस ट्यूटोरियल को देख रहा हूँ: https://www.dataquest.io/mission/75/improving-your-submission

सबसे अच्छी सुविधाओं को खोजने के लिए, धारा 8 में, यह निम्नलिखित कोड दिखाता है।

import numpy as np
from sklearn.feature_selection import SelectKBest, f_classif

predictors = ["Pclass", "Sex", "Age", "SibSp", "Parch", "Fare", "Embarked", "FamilySize", "Title", "FamilyId"]

# Perform feature selection
selector = SelectKBest(f_classif, k=5)
selector.fit(titanic[predictors], titanic["Survived"])

# Get the raw p-values for each feature, and transform from p-values into scores
scores = -np.log10(selector.pvalues_)

# Plot the scores.  See how "Pclass", "Sex", "Title", and "Fare" are the best?
plt.bar(range(len(predictors)), scores)
plt.xticks(range(len(predictors)), predictors, rotation='vertical')
plt.show()

K = 5 क्या कर रहा है, क्योंकि इसका उपयोग कभी नहीं किया जाता है (ग्राफ़ अभी भी सभी विशेषताओं को सूचीबद्ध करता है, चाहे मैं k = 1 या k = "all" का उपयोग करूं)? यह सर्वोत्तम विशेषताओं का निर्धारण कैसे करता है, क्या वे उस विधि से स्वतंत्र हैं जिसका उपयोग करना चाहते हैं (चाहे लॉजिस्टिक प्रतिगमन, यादृच्छिक वन, या जो भी हो)?


K उच्चतम स्कोर के अनुसार सुविधाओं का चयन करें ।
सीनि

जवाबों:


11

SelectKBest वर्ग केवल एक फ़ंक्शन (इस मामले में f_classif लेकिन अन्य हो सकता है) का उपयोग करके सुविधाओं को स्कोर करता है और फिर "सभी लेकिन के उच्चतम स्कोरिंग सुविधाओं को हटा देता है"। http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.SelectKBest.html#sklearn.feature_selection.SelectKBest

तो इसका एक प्रकार का आवरण, यहां महत्वपूर्ण बात यह है कि आप सुविधाओं को स्कोर करने के लिए किस फ़ंक्शन का उपयोग करते हैं।

स्केलेर में अन्य फ़ीचर चयन तकनीकों के लिए पढ़ें: http://scikit-learn.org/stable/modules/feature_selection.html

और हाँ, f_classif और chi2 आपके द्वारा उपयोग की जाने वाली पूर्वानुमान विधि से स्वतंत्र हैं।


2

यदि आप चयनकर्ता का उपयोग करते हैं, तो k पैरामीटर महत्वपूर्ण है। Fit_transform (), जो एक नया सरणी लौटाएगा जहां सुविधा सेट को सर्वश्रेष्ठ 'k' में घटा दिया गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.