Estou trabalhando com a biblioteca scikit-learn em python. No código abaixo, estou prevendo probabilidade, mas não sei ler a saída.
Testando dados
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])
Dividir o conjunto de dados
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.5, random_state=0)
Calcular a probabilidade
clf = RF()
clf.fit(X_train,y_train)
pred_pro = clf.predict_proba(X_test)
print pred_pro
A saída
[[ 1. 0.]
[ 1. 0.]
[ 0. 1.]]
A lista X_test contém 3 matrizes (eu tenho 6 amostras e test_size = 0,5), portanto a saída também possui 3.
Mas estou prevendo 3 valores (0,1,2), por que estou recebendo apenas 2 elementos em cada matriz?
Como devo ler a saída?
Também notei que, quando modifico o número de valores distintos em y, o número de colunas na saída é sempre uma contagem distinta de y -1.