파이썬에서 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에 오신 것을 환영합니다. 아래에서 내 답변을 보셨습니까? 문제가 해결되면 계속해서 정답으로 표시하십시오. 그렇지 않은 경우 누락 된 사항을 알려 주시면 해결해 드리겠습니다.
—
Ben