ファイル内のラベル付きインスタンス (データ) のセットを表現して、トレーニング データとして LibSVM に入力したいと考えています。この質問で言及されている問題について。それには、
- ログイン日
- ログイン時間
- 場所(国コード?)
- 曜日
- 真正性 (0 - 非真正、1 - 真正) - ラベル
このデータを SVM に入力するようにフォーマットするにはどうすればよいですか?
ファイル内のラベル付きインスタンス (データ) のセットを表現して、トレーニング データとして LibSVM に入力したいと考えています。この質問で言及されている問題について。それには、
このデータを SVM に入力するようにフォーマットするにはどうすればよいですか?
データ形式またはデータの変換方法について質問していますか? 後者については、これを行う正しい方法を見つけるために実験する必要があります。一般的な考え方は、データを公称値属性または順序値属性に変換することです。これらのいくつかは単純です - #4, #6 - これらのいくつかは難しいでしょう - #1-#3.
たとえば、#1 を日、月、年の 3 つの属性として表すことも、UNIX のようなタイムスタンプに変換して 1 つの属性として表すこともできます。
IP はさらに難しく、意味のある序数値に変換する簡単な方法はありません。問題によっては、すべての IP を公称属性として使用することが役に立たない場合があります。
これを理解したら、データを変換し、LibSVM ドキュメントを確認してください。一般的な形式の後には : ie+1 1:0 2:0 ..
など
以前の回答には、明言されていない仮定があると思います。明示されていない仮定は、libSVM のユーザーは、カテゴリ データを分類器に入れないようにする必要があることを知っているということです。
たとえば、libSVM は国コードをどう処理するかを知りません。サイトで何かを購入する可能性が最も高い訪問者を予測しようとしている場合、国コード リストで米国がチャドとニジェールの間にある場合、問題が発生する可能性があります。米国からの膨らみは、その近くに位置する国の予測を歪める可能性があります.
これを修正するために、検討中の国ごとに 1 つのカテゴリ (およびおそらく「その他」のカテゴリ) を作成します。次に、分類するインスタンスごとに、インスタンスが属する国以外のすべての国カテゴリをゼロに設定します。(これを libSVM スパース ファイル形式で行う場合、これは大したことではありません)。