Zastanawiam się, czy mogę wykonać kalibrację w xgboost. Mówiąc dokładniej, czy Xgboost ma istniejącą implementację kalibracji, jak w scikit-learn, czy też są sposoby na umieszczenie modelu z xgboost w CalibratedClassifierCv scikit-learn?Kalibracja za pomocą xgboost
O ile wiem, w sklearn to wspólna procedura:
# 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
Gdybym położyć drzewo modelu xgboost do CalibratedClassifierCV błąd zostanie wyrzucony (oczywiście):
RuntimeError: classifier has no decision_function or predict_proba method.
Czy istnieje sposób na integrację doskonałego modułu kalibracyjnego scikit-learn z xgboost?
Doceń swoje wnikliwe pomysły!
Dobra robota. Odkryłem, że dodatkowa kalibracja technik, w których logopedia jest bezpośrednio zoptymalizowana (jak Xgboost), nie daje tak wiele. Losowe lasy i SVM są znanymi sprawcami wysoce dyskryminacyjnych klasyfikatorów, ale ponieważ optymalizują różne rzeczy, mogą korzystać z niektórych kalibracji. Dobra robota –