मैं scikit- रैंडम फॉरेस्ट क्लासिफायरियर का उपयोग कर रहा हूं और मैं इस उदाहरण में फीचर महत्व को प्लॉट करना चाहता हूं ।
हालांकि मेरा परिणाम पूरी तरह से अलग है, इस मायने में कि फीचर महत्व मानक विचलन लगभग हमेशा फीचर महत्व से बड़ा है (संलग्न छवि देखें)।
क्या इस तरह का व्यवहार करना संभव है, या क्या मैं इसे साजिश करते समय कुछ गलतियां कर रहा हूं?
मेरा कोड निम्नलिखित है:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier()
clf.fit(predictors.values, outcome.values.ravel())
importance = clf.feature_importances_
importance = pd.DataFrame(importance, index=predictors.columns,
columns=["Importance"])
importance["Std"] = np.std([tree.feature_importances_
for tree in clf.estimators_], axis=0)
x = range(importance.shape[0])
y = importance.ix[:, 0]
yerr = importance.ix[:, 1]
plt.bar(x, y, yerr=yerr, align="center")
plt.show()
pandas DataFrame
आकार के साथ दो हैं m x n
और m x 1
। यह अब स्पष्ट होना चाहिए।
tsfresh
जिसने मुझे प्रासंगिक सुविधाओं की पहचान करने में मदद की है और मेरी सुविधाओं को 600+ से लगभग 400 तक काट दिया है ! [मेरी शीर्ष 35 सुविधाएँ ] ( i.stack.imgur.com/0MROZ.png ) इसके साथ भी एल्गोरिथ्म अच्छा प्रदर्शन कर रहा है। मेरे लिए। मेरे पास एक द्विआधारी वर्गीकरण, सफलता / विफलता है। मुझे वस्तुतः कोई झूठी सफलता नहीं मिलती है, लेकिन मुझे सफलता का प्रतिशत काफी याद आता है। उपरोक्त सभी अनुमान उचित प्रतीत होते हैं। यह एक बड़ा प्रशिक्षण और परीक्षण सेट होने की आवश्यकता हो सकती है। मेरे पास कम है
predictors
वह देता हैnumpy array
जिसे आप किसीpandas Dataframe
वस्तु से संदर्भित कर रहे हैं यह कॉलम है जो गलत है क्योंकिnumpy arrays
इसमें विशेषता नहीं हैcolumns
।