ग्रिडशर्चसीवी - पायथन, मशीन-लर्निंग, विज्ञान-सीखने के आउटपुट से फीचर नाम कैसे प्राप्त करें

मैंने sklearn का उपयोग करते हुए Naive Bayes के साथ PCA लागू किया और मैंने GridSearchCV का उपयोग करते हुए PCA घटकों को अनुकूलित किया।

मैंने सर्वश्रेष्ठ अनुमानक के फीचर नामों का पता लगाने की कोशिश की, लेकिन मैं सक्षम नहीं था। यहाँ कोड है जो मैंने कोशिश की है।

from sklearn.cross_validation import train_test_split
features_train, features_test, labels_train, labels_test = 
train_test_split(features, labels, test_size=0.3, random_state=42)
### A Naive Bayes classifier combined with PCA is used and its accuracy is tested

pca = decomposition.PCA()
#clf = GaussianNB()
clf = Pipeline(steps=[("pca", pca), ("gaussian_NB", GaussianNB())])
n_components = [3, 5, 7, 9]
clf = GridSearchCV(clf,
dict(pca__n_components=n_components))

# from sklearn.tree import DecisionTreeClassifier
#clf = DecisionTreeClassifier(random_state=0, min_samples_split=20)
clf = clf.fit(features_train, labels_train)
features_pred = clf.predict(features_test)
print "The number of components of the best estimator is ", clf.best_estimator_.named_steps["pca"].n_components
print "The best parameters:", clf.best_params_
#print "The best estimator", clf.best_estimator_.get_params(deep=True).gaussian_NB
# best_est = RFE(clf.best_estimator_)
# print "The best estimator:", best_est
estimator = clf.best_estimator_
print "The features are:", estimator["features"].get_feature_names()

उत्तर:

उत्तर № 1 के लिए 1

आप भ्रामक लग रहे हैं आयाम में कमी तथा सुविधाओं का चयन। पीसीए आयामीता कमी तकनीक है, यहसुविधाओं का चयन नहीं करता है, यह एक कम आयामी रैखिक प्रक्षेपण की तलाश करता है। आपकी परिणामी विशेषताएं आपके मूल नहीं हैं - वे उन के रैखिक संयोजन हैं। इस प्रकार यदि आपकी मूल विशेषताएं पीसीए के बाद "चौड़ाई", "ऊंचाई" और "आयु" थीं तो मंद 2 में आप "0.4 * चौड़ाई + 0.1 * ऊंचाई - 0.05 * आयु" और "0.3 * ऊंचाई - 0.2 * चौड़ाई जैसी सुविधाओं के साथ समाप्त होते हैं। "।


जवाब के लिए 0 № 2

ऐसा प्रतीत होता है जैसे यह जवाब हो सकता है कि आप "के बाद फिर से। यह एक बहुत अच्छा और संपूर्ण उदाहरण भी शामिल है!"


संबंधित सवाल
सबसे लोकप्रिय