我有一个带有XGboost和scikit-learn的多输出分类器模型,具有28个类。 Predict_proba返回28个数组的列表,它们的形状为13412 * 28(13412是我的测试数据集中的样本数)。
我很难解释这些概率。我有clf.classes_中的类列表,但是在理解如何准确读取这些概率数组时遇到了问题。
Y_ml1.shape
(125157L,28L)
best_XGB = XGBClassifier(base_score=0.5, booster='gbtree', colsample_bylevel=1,
colsample_bytree=0.7, gamma=0.1, learning_rate=0.2,
max_delta_step=0, max_depth=12, min_child_weight=3, missing=None,
n_estimators=100, n_jobs=1, nthread=None,
objective='multi:softprob', random_state=0, reg_alpha=0,
reg_lambda=1, scale_pos_weight=1, seed=None, silent=True,
subsample=1, num_class =len(list(ml.classes_)))
multi_target_classifier = MultiOutputClassifier(best_XGB, n_jobs=1)
multi_target_classifier.fit(m1, Y_ml1)
y_pred_proba = multi_target_classifier.predict_proba(test_x)
len(y_pred_proba)
28
y_pred_proba[0].shape
(13412L,28L)