Tôi đang làm việc với thư viện scikit-learn trong python. Trong đoạn mã dưới đây, tôi dự đoán xác suất nhưng tôi không biết cách đọc đầu ra.
Kiểm tra dữ liệu
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])
Tách tập dữ liệu
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.5, random_state=0)
Tính xác suất
clf = RF()
clf.fit(X_train,y_train)
pred_pro = clf.predict_proba(X_test)
print pred_pro
Đầu ra
[[ 1. 0.]
[ 1. 0.]
[ 0. 1.]]
Danh sách X_test chứa 3 mảng (tôi có 6 mẫu và test_size = 0,5) vì vậy đầu ra cũng có 3 mảng.
Nhưng tôi dự đoán 3 giá trị (0,1,2) vậy tại sao tôi chỉ nhận được 2 phần tử trong mỗi mảng?
Làm thế nào tôi nên đọc đầu ra?
Tôi cũng nhận thấy, khi tôi sửa đổi số lượng giá trị riêng biệt trong y, số lượng cột trong đầu ra luôn là số lượng riêng biệt của y -1.