Ich arbeite mit der Scikit-Learn-Bibliothek in Python. Im folgenden Code prognostiziere ich die Wahrscheinlichkeit, weiß aber nicht, wie ich die Ausgabe lesen soll.
Daten testen
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])
Teilen Sie den Datensatz
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.5, random_state=0)
Berechnen Sie die Wahrscheinlichkeit
clf = RF()
clf.fit(X_train,y_train)
pred_pro = clf.predict_proba(X_test)
print pred_pro
Die Ausgabe
[[ 1. 0.]
[ 1. 0.]
[ 0. 1.]]
Die X_test-Liste enthält 3 Arrays (ich habe 6 Samples und test_size = 0,5), also hat die Ausgabe auch 3.
Aber ich sage 3 Werte (0,1,2) voraus. Warum bekomme ich nur 2 Elemente in jedem Array?
Wie soll ich die Ausgabe lesen?
Ich habe auch festgestellt, dass beim Ändern der Anzahl der unterschiedlichen Werte in y die Anzahl der Spalten in der Ausgabe immer die Anzahl der unterschiedlichen Werte von y -1 ist.