Я працюю з бібліотекою scikit-learn в python. У наведеному нижче коді я прогнозую ймовірність, але не знаю, як прочитати вихід.
Тестування даних
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 -1.