2017-11-07 59 views
0

私はすでに "xgboost.XGBRegressorはXGBoost用のScikit-Learn Wrapperインターフェースです"と知っています。xgb.trainとxgb.XGBRegressor(またはxgb.XGBClassifier)の違いは何ですか?

しかし、他の違いはありますか?

+0

パラメータ名の違い、入力の違い、評価戦略の違い。 [python api](http://xgboost.readthedocs.io/en/latest/python/python_api.html)と[github page](https://github.com/dmlc/xgboost/tree/master)を見てください。/python-package)を参照してください。これは良い質問ではありません。 2つのアプローチの結果を理解するのが難しい場合は、コードで詳細な質問をしてください。 –

答えて

1

xgboost.trainは、グラジエントブースト法によってモデルをトレーニングするための低レベルのAPIです。 DMatrixを調製し、対応する目的関数とパラメータを渡している(彼らはそれを呼び出すように、Scikit-学ぶ状ラッパー

xgboost.XGBRegressorxgboost.XGBClassifierがラッパーです。これはXGBRegressorXGBClassifierで行うことができますすべてxgboost.train機能の基礎となる経由なんとかであることを意味し

self._Booster = train(params, dmatrix, 
         self.n_estimators, evals=evals, 
         early_stopping_rounds=early_stopping_rounds, 
         evals_result=evals_result, obj=obj, feval=feval, 
         verbose_eval=verbose) 

:最後に、fitコールは単に沸きます。それ以外の方法は明らかに真実ではありません。たとえば、xgboost.trainという有用なパラメータの一部は、XGBModel APIではサポートされていません。顕著な違いのリストが含まれています:

  • xgboost.traincallbacksは、各反復の終了時に適用される設定することができます。
  • xgboost.trainは、xgb_modelパラメータを介してトレーニングの継続を許可します。
  • xgboost.trainは、評価関数の最小化だけでなく最大化も可能にします。
関連する問題