2

私がそのような学習曲線を作成しているとしましょう (コードに小さなエラーがある可能性があります。これは単なるサンプルです)。私が望むのは、検証/テストセットを同じサイズに保ちながらトレーニングセットを拡大する、むしろ古典的な学習曲線です。

learningCurve <- generateLearningCurveData("regr.glmnet",
                                           bh.task,
                                           makeResampleDesc(method = "cv", iters = 5, predict = "both"),
                                           seq(0.1, 1, by = 0.1),
                                           list(setAggregation(auc, train.mean), setAggregation(auc, test.mean))
)

上記のコードの問題は、実際には学習者がトレーニング データの一部でトレーニングされているにもかかわらず、測定値がトレーニング セット全体auc.train.meanで評価されていることです。これは、私が望む学習曲線ではありません。この尺度で、学習に使用されたトレーニング セットの一部のパフォーマンスを評価したいと思います。たとえば、次のようになります。

http://www.astroml.org/sklearn_tutorial/practical.html#learning-curves

この一文がすべてを説明していると思います。

トレーニング データの小さなサブセットでトレーニングする場合、トレーニング エラーは、完全なトレーニング セットではなく、このサブセットを使用して計算されることに注意してください。

これを達成する方法は?

4

2 に答える 2

1

この問題の修正はこのプル リクエストにあり、まもなくマージされる予定です。

修正を適用すると、コメントの完全な例について次の学習曲線が得られます。

ここに画像の説明を入力

于 2016-11-27T06:37:20.723 に答える