あなたが持っているのはバイナリ分類問題です。つまり、与えられた入力が良いかどうかを判断する必要があります。
さまざまな回帰アルゴリズムを試してください。scikits-learn を使用すると、アルゴリズムの切り替えが非常に簡単になり、何が機能し、何が機能しないかを確認できます。
私の頭の上から、ここに私が試すいくつかの方法があります:
- SVM
- ランダム フォレスト (scikits のランダム化された木の森)
- 回帰 (Ridge、Lasso、IRLS、ロジスティック)
- 単純ベイズ
- k 最近傍
特定のメソッドの品質を評価する方法は? 相互検証を使用します (十分なデータがある場合は 10 倍にし、そうでない場合は 5 倍にします)。これ専用の scikits-learn マニュアルの完全なセクション (5.1) があります。
トレーニング セットに新しいデータを追加するには、モデルを再トレーニングする必要があります。手元にある計算能力によっては、問題になる場合とそうでない場合があります。例がたくさんある場合は、1 つ追加してもあまり変わらないので、いくつかの新しい例でアルゴリズムを再トレーニングしてください。これにより、計算時間が節約されます。
トレーニング セットを使用するアルゴリズムは、オフライン アルゴリズムと呼ばれます。一方、オンライン アルゴリズムは、新しい例が提示されるたびに学習します。実際にこれが必要な場合は、k 最近隣などのオンライン メソッドを試してください。
サンプル コードが必要な場合は、scikit-learn のドキュメントが非常に役立ちます。
- http://scikit-learn.org/0.10/modules/linear_model.html#ridge-regression
http://scikit-learn.org/0.10/user_guide.html