了解MultiOutputClassifier XGBoost模型的predict_proba输出

时间:2019-04-15 05:30:54

标签: python machine-learning scikit-learn xgboost multilabel-classification

我有一个带有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)

0 个答案:

没有答案