मैं अजगर में स्किटिट-लर्न लाइब्रेरी के साथ काम कर रहा हूं। नीचे दिए गए कोड में, मैं संभावना का अनुमान लगा रहा हूं लेकिन मुझे नहीं पता कि आउटपुट कैसे पढ़ा जाए।
परीक्षण डेटा
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.]]
X_test सूची में 3 सरणियाँ हैं (मेरे पास 6 नमूने हैं और test_size = 0,5) इसलिए आउटपुट में 3 भी हैं।
लेकिन मैं 3 मानों (0,1,2) की भविष्यवाणी कर रहा हूं, इसलिए मुझे प्रत्येक सरणी में केवल 2 तत्व क्यों मिल रहे हैं?
मुझे आउटपुट कैसे पढ़ना चाहिए?
मैंने यह भी देखा, जब मैं y में अलग-अलग मूल्यों की संख्या को संशोधित करता हूं, तो आउटपुट में स्तंभों की संख्या हमेशा y -1 की विशिष्ट गणना होती है।