Pythonでscikit-learnライブラリを使用しています。以下のコードでは、確率を予測していますが、出力の読み方がわかりません。
試験データ
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の個別のカウントになります。
CrossValidatedへようこそ。以下の私の答えを見ましたか?問題が解決した場合は、先に進んで正解としてマークしてください。それ以外の場合は、何が欠けているかをお知らせください。解決できるよう努めます。
—
ベン