3

ウェブサイトからの 1 年分のデータがあります。機械学習アルゴリズムをトレーニングして、特定の変数 (単語数、投稿時刻など) に基づいて新しいコンテンツの成功を予測したいと考えています。

新しいデータを取得し、それに関する特定の特性を入力して、サイトでのパフォーマンスの確率を取得したいと考えています。

さらに、将来のデータをトレーニング セットに追加し続け、アルゴリズムを継続的にトレーニングして、時間の経過とともに賢くなるようにしたいと考えています。

私の質問は: scikit-learn を使用してこれを達成するにはどうすればよいですか?

4

1 に答える 1

3

あなたが持っているのはバイナリ分類問題です。つまり、与えられた入力が良いかどうかを判断する必要があります。

さまざまな回帰アルゴリズムを試してください。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

于 2012-05-07T20:17:05.943 に答える