【发布时间】:2016-02-23 19:00:16
【问题描述】:
我想知道我是否可以在 xgboost 中进行校准。更具体地说,xgboost 是否带有现有的校准实现,如 scikit-learn 中的,还是有一些方法可以将 xgboost 中的模型放入 scikit-learn 的 CalibratedClassifierCV 中?
据我所知,这是 sklearn 中的常用程序:
# Train random forest classifier, calibrate on validation data and evaluate
# on test data
clf = RandomForestClassifier(n_estimators=25)
clf.fit(X_train, y_train)
clf_probs = clf.predict_proba(X_test)
sig_clf = CalibratedClassifierCV(clf, method="sigmoid", cv="prefit")
sig_clf.fit(X_valid, y_valid)
sig_clf_probs = sig_clf.predict_proba(X_test)
sig_score = log_loss(y_test, sig_clf_probs)
print "Calibrated score is ",sig_score
如果我将 xgboost 树模型放入 CalibratedClassifierCV 会引发错误(当然):
RuntimeError: classifier has no decision_function or predict_proba method.
有没有办法将scikit-learn优秀的校准模块与xgboost集成?
欣赏您富有洞察力的想法!
【问题讨论】:
标签: scikit-learn xgboost