র্যান্ডম ফরেস্ট মডেলটির সাথে একটি মাল্টিআউটপুট শ্রেণিবিন্যাস সম্পাদন করতে আমি বিজ্ঞানী-শিখার ওয়েবসাইটে এই উদাহরণটি অনুসরণ করছি ।
from sklearn.datasets import make_classification
from sklearn.multioutput import MultiOutputClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.utils import shuffle
import numpy as np
X, y1 = make_classification(n_samples=5, n_features=5, n_informative=2, n_classes=2, random_state=1)
y2 = shuffle(y1, random_state=1)
Y = np.vstack((y1, y2)).T
forest = RandomForestClassifier(n_estimators=10, random_state=1)
multi_target_forest = MultiOutputClassifier(forest, n_jobs=-1)
multi_target_forest.fit(X, Y).predict(X)
print(multi_target_forest.predict_proba(X))
এটি থেকে predict_proba
আমি একটি 2 5x2 অ্যারে পাই:
[array([[ 0.8, 0.2],
[ 0.4, 0.6],
[ 0.8, 0.2],
[ 0.9, 0.1],
[ 0.4, 0.6]]), array([[ 0.6, 0.4],
[ 0.1, 0.9],
[ 0.2, 0.8],
[ 0.9, 0.1],
[ 0.9, 0.1]])]
আমি সত্যিই ম্যাট্রিক্স n_sample
দ্বারা একটি আশা ছিল n_classes
। এটি উপস্থিত ক্লাসগুলির সম্ভাবনার সাথে কীভাবে সম্পর্কিত তা বোঝার জন্য আমি সংগ্রাম করছি।
ডক্স জন্য predict_proba
পদ বলে:
আকৃতির অ্যারে = [এন_সাম্পল, এন_চ্ল্যামস], বা এন_আউটপুটস> যদি 1_ এ জাতীয় অ্যারেগুলির একটি তালিকা।
ইনপুট নমুনার শ্রেণীর সম্ভাবনা। ক্লাসগুলির ক্রমটি শ্রেণি_বিধিতে সম্পর্কিত s
আমি অনুমান করছি যে বিবরণে আমার উত্তরোত্তর রয়েছে তবে আমি কীভাবে এটি আমার শ্রেণীর সম্ভাবনার সাথে সম্পর্কিত তা বুঝতে লড়াই করছি ling
তদুপরি, আমি যখন মডেলটির classes_
জন্য অ্যাট্রিবিউটটি অ্যাক্সেস করার চেষ্টা করি তখন আমি forest
একটি পাই AttributeError
এবং এই বৈশিষ্ট্যটি অস্তিত্বের মধ্যে নেই MultiOutputClassifier
। আমি কীভাবে ক্লাসগুলি আউটপুটের সাথে সম্পর্কিত করতে পারি?
print(forest.classes_)
AttributeError: 'RandomForestClassifier' object has no attribute 'classes_'