これがあなたの問題に対する私の理解です。
データセットがあり、トレーニング データセットと評価データセットなどの 2 つのサブデータ セットを作成します。評価データセットを使用して、分類のパフォーマンスを向上させるにはどうすればよいですか?
この問題のポイントは、より良い分類子を見つけることではなく、評価のための適切な方法を見つけて、本番環境に適切な分類子を用意することです。
評価目的
評価データセットは評価用にタグ付けされているため、これを行う方法があります。トレーニングと評価には別の方法を使用する必要があります。
一般的な方法はクロス検証です。
データセット内のサンプルをランダム化します。初期データセットから 10 個のパーティションを作成します。次に、次の 10 回の反復を実行します。トレーニング用に n 番目を除くすべてのパーティションを取得し、n 番目で評価を行います。
この後、10 回の実行のエラーの中央値を取得します。これにより、分類子のエラー率がわかります。最小の実行では、最悪のケースが得られます。
生産目的
(これ以上の評価はありません)
もう評価は気にしません。したがって、すべてのデータセットのすべてのサンプルを取得し、分類器にトレーニング用に提供します (完全な単純なトレーニングを再実行します)。結果は本番環境で使用できますが、あなたのデータでこれ以上評価することはできません。結果は、前のパーティション セットの最悪のケースと同じくらい最高です。
フローサンプル処理
(生産または学習)
時間の経過とともに新しいサンプルが生成されるフローにいる場合。いくつかのサンプルが正しいエラーのケースに直面する場合があります。システム自体を改善したいので、これは望ましい動作です。リーフのエラーをその場で修正しただけでは、しばらくすると、分類器は元のランダム フォレストと共通点がなくなります。メタ タブー検索のような貪欲な学習を行うことになります。明らかに、これは望んでいません。
新しいサンプルが利用可能になるたびに、すべてのデータセットと新しいサンプルを再処理しようとすると、非常に低いレイテンシーが実験されます。ソリューションは人間のようなもので、バックグラウンド プロセスが実行される場合があり (サービスの使用率が低い場合)、すべてのデータが完全に再学習されます。最後に、古い分類子と新しい分類子を交換します。
完全に再学習するには、睡眠時間が短すぎる場合があります。したがって、そのようなノード コンピューティング クラスタリングを使用する必要があります。おそらくアルゴリズムを書き直す必要があるため、多くの開発コストがかかります。しかし、その時点で、あなたは見つけた最大のコンピューターをすでに持っています。
注:スワッププロセスはマスターすることが非常に重要です。すでに生産計画に含まれている必要があります。アルゴリズムを変更したい場合はどうしますか? バックアップ?基準?停電?等...