Je travaille avec la bibliothèque scikit-learn en python. Dans le code ci-dessous, je prédis la probabilité mais je ne sais pas lire la sortie.
Test des données
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])
Fractionner l'ensemble de données
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.5, random_state=0)
Calculez la probabilité
clf = RF()
clf.fit(X_train,y_train)
pred_pro = clf.predict_proba(X_test)
print pred_pro
Le résultat
[[ 1. 0.]
[ 1. 0.]
[ 0. 1.]]
La liste X_test contient 3 tableaux (j'ai 6 échantillons et test_size = 0,5) donc la sortie en a 3 aussi.
Mais je prédis 3 valeurs (0,1,2), alors pourquoi ne reçois-je que 2 éléments dans chaque tableau?
Comment lire la sortie?
J'ai également remarqué que lorsque je modifie le nombre de valeurs distinctes en y, le nombre de colonnes en sortie est toujours un nombre distinct de y -1.