আমি সাইকিট-লার্ন র্যান্ডম ফরেস্ট ক্লাসিফায়ার ব্যবহার করছি এবং আমি উদাহরণটির মতো বৈশিষ্ট্যটির গুরুত্বকে প্লট করতে চাই ।
তবে আমার ফলাফলটি সম্পূর্ণ আলাদা, এই অর্থে যে বৈশিষ্ট্যটির গুরুত্ব স্ট্যান্ডার্ড বিচ্যুতি বৈশিষ্ট্যটির গুরুত্বের চেয়ে প্রায় সর্বদা বড় (সংযুক্ত চিত্র দেখুন)।
এই জাতীয় আচরণ করা কি সম্ভব, বা এটির পরিকল্পনা করার সময় আমি কিছু ভুল করছি?
আমার কোডটি নিম্নলিখিত:
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 ) এমনকি এটির সাথেও অ্যালগোরিদম ভাল পারফর্ম করছে আমার জন্য. আমার একটি বাইনারি শ্রেণিবদ্ধকরণ, সাফল্য / ব্যর্থতা রয়েছে। আমি কার্যত কোনও মিথ্যা সাফল্য পাই না তবে আমি বেশিরভাগ সাফল্যের হাতছাড়া করি। উপরের সমস্ত অনুমান যুক্তিসঙ্গত বলে মনে হয়। এটি ক্ষেত্রে আরও বড় প্রশিক্ষণ এবং পরীক্ষার সেট হতে পারে be আমার কম আছে

predictorsকোনও ফেরত দেয়numpy arrayযা আপনিpandas Dataframeতার কলামগুলির দ্বারা কোনও বস্তুর সাথে উল্লেখ করছেন যাnumpy arraysবৈশিষ্ট্যটি না থাকায় ভুলcolumns।