Порог для искры XGBoost Классификация модели - PullRequest
0 голосов
/ 09 января 2020

Как установить оптимальный порог для классификатора XGBoost? Значение по умолчанию, используемое в алгоритме, составляет 0,5. Я хотел знать, есть ли какая-либо функция / встроенная функция, которую я могу использовать, чтобы изменить это.

1 Ответ

0 голосов
/ 09 января 2020

При использовании python: вы ищете predict_proba() python API вместо обычного predict() API. С predict_proba() вы получаете вероятность, которая затем может быть сопоставлена ​​с любым классом в зависимости от порогового значения.

Поскольку вы упомянули spark mllib, вы можете использовать scala или java с xgboost4j. В таких случаях также существуют варианты; например, https://xgboost.readthedocs.io/en/latest/jvm/scaladocs/xgboost4j/ml/dmlc/xgboost4j/scala/Booster.html#predict(data:ml.dmlc.xgboost4j.scala.DMatrix,outPutMargin:Boolean,treeLimit:Int):Array[Array[Float]] вы ищете outPutMargin

Для определения порога вы можете использовать RO C кривая или оценить свой бизнес-результат с помощью результата xgboost, например, если все случаи ниже 0,8 если убыток то вы можете установить порог 0,8 * 1012

...