2017-08-06 36 views
0

私はcatboost overfitting検出器を理解しようとしています。それは、ここで説明されていますcatboostオーバーフィット検出器を使用する方法

https://tech.yandex.com/catboost/doc/dg/concepts/overfitting-detector-docpage/#overfitting-detector

その他勾配lightgbmのようなパッケージを強化し、理解しやすいですearly_stopping_roundsと呼ばれるパラメータを使用xgboost(検証エラーがearly_stopping_round段階的に低下していない一度それが訓練を停止します) 。

しかし、私はcatboostで使用されるp_valueアプローチを理解するのに苦労しています。この過検出検出器がどのように機能するのか、そして訓練を停止するのか誰にでも説明できますか?

答えて

2

YandexのWebサイトやgithubリポジトリには記載されていませんが、githubに投稿されたpythonコード(特にhere)を注意深く見れば、overditting検出器がパラメーター。最近のgithubのコミットを見て、catboost開発者は最近、 "Iter"と呼ばれるlightGBMとxgboostで使用される "early_stopping_rounds"パラメータに似たツールを実装しました。 停止前に最も新しい最適な反復を待ってからラウンド数を設定するには、「od_wait」パラメータに数値を入力します。例えば

:私はR 3.4.1でcatboostライブラリを使用しています

fit_param <- list(
    iterations = 500, 
    thread_count = 10, 
    loss_function = "Logloss", 
    depth = 6, 
    learning_rate = 0.03, 
    od_type = "Iter", 
    od_wait = 100 
) 

。私はfit_paramリストの "od_type"と "od_wait"パラメータを設定するのが私の目的のためにうまくいくことを発見しました。

私は、これがまたcatboost開発者によって実装さp_valueのアプローチを使用する方法についての質問に答えるされていません実現。残念ながら私はそこにお手伝いできません。うまくいけば他の誰かが私達の両方に設定することを説明することができます。

+0

これを共有するためのありがとう!私はod_typeとod_waitパラメータについては知りませんでした。これは本当に感謝しています! – ftiaronsem

+0

問題ありません! Yandexのドキュメントは完璧ではありませんので、私は不足しているかもしれないもの見るために週末にPythonのコードを突っつい開始しました。それは私にとっても非常に幸せな発見でした。 – babbeuf

関連する問題