Scikit পূর্বাভাস_প্রবাহ আউটপুট ব্যাখ্যা


12

আমি পাইথনে সাইকিট-লার্ন লাইব্রেরির সাথে কাজ করছি। নীচের কোডটিতে, আমি সম্ভাবনার পূর্বাভাস দিচ্ছি তবে আউটপুট কীভাবে পড়তে হয় তা আমি জানি না।

তথ্য পরীক্ষা করা হচ্ছে

from sklearn.ensemble import RandomForestClassifier as RF
from sklearn import cross_validation

X = np.array([[5,5,5,5],[10,10,10,10],[1,1,1,1],[6,6,6,6],[13,13,13,13],[2,2,2,2]])
y = np.array([0,1,1,0,1,2])

ডেটাসেট বিভক্ত করুন

X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.5, random_state=0) 

সম্ভাবনা গণনা করুন

clf = RF()
clf.fit(X_train,y_train)
pred_pro = clf.predict_proba(X_test)
print pred_pro

আউটপুট

[[ 1.  0.]
 [ 1.  0.]
 [ 0.  1.]]

এক্স_স্টেস্ট তালিকায় 3 টি অ্যারে রয়েছে (আমার কাছে 6 টি নমুনা এবং টেস্ট_সাইজ = 0,5 রয়েছে) সুতরাং আউটপুটটিতে 3 টিও রয়েছে।

তবে আমি 3 টি মান (0,1,2) পূর্বাভাস দিচ্ছি তবে কেন আমি প্রতিটি অ্যারেতে কেবল 2 টি উপাদান পাচ্ছি?

আমি আউটপুট কিভাবে পড়া উচিত?

আমি আরও লক্ষ্য করেছি, যখন আমি y এর স্বতন্ত্র মানগুলির সংখ্যাটি সংশোধন করি, আউটপুটে কলামগুলির সংখ্যা সর্বদা y -1 এর স্বতন্ত্র গণনা।


ক্রসভিলেটেডে স্বাগতম। আপনি কি আমার উত্তরটি নীচে দেখেছেন? যদি এটি আপনার প্রশ্নের সমাধান করে তবে এগিয়ে যান এবং সঠিক উত্তর হিসাবে চিহ্নিত করুন। অন্যথায়, আমাকে কী অনুপস্থিত তা আমাকে জানান এবং আমি এটি আপনার জন্য পরিষ্কার করার চেষ্টা করব।
বেন

উত্তর:


5

একবার দেখুন y_train। এটা হয় array([0, 0, 1])। এর অর্থ আপনার বিভাজনে যেখানে নমুনাটি নেওয়া হয়নি সেখানে y = 2। সুতরাং, আপনার মডেলটির কোনও ধারণা নেই যে y = 2 শ্রেণি বিদ্যমান।

অর্থবহ কিছু ফিরিয়ে আনতে আপনার আরও নমুনার প্রয়োজন।

আউটপুট কীভাবে ব্যাখ্যা করতে হয় তা বুঝতে ডক্সও পরীক্ষা করে দেখুন ।


1
এটা সঠিক। যদি আপনি সেট করেন y = np.array([0,2,1,0,1,2])এবং random_state=2আপনি এখন আউটপুটটির 3 টি কলাম দেখতে পাবেন
tdc

উত্তরটি আমার প্রশ্নের সমাধান করেছে। আপনাকে অনেক ধন্যবাদ. এবং কলামগুলি কোন ক্রমে দয়া করে? সবসময় আরোহী?
হনজাবি

চালান clf.classes_। কলামগুলি সেই ক্রমে থাকবে।
বেন

শুধু এই মত: clf.fit(X_train,y_train).classes_?
হনজাবি

1
আমি মনে করি যে কাজ করব কিন্তু আপনি শুধু চালাতে পারেন clf.classes_ পর আপনি চালাতেclf.fit(X_train,y_train)
বেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.