4

LibSVM の場合。

'A Practical Guide to Support Vector Classification' では、m 数を使用して m-category 属性を表すことが提案されています。たとえば、{red, green, blue} は (0,0,1)、(0,1,0)、(1,0,0) として表すことができます。

しかし、README では、index:value ペアの value は実数しかとれないと書かれています。

データファイルで (0,0,1) を表現する方法を知っている人はいますか?

4

2 に答える 2

3

libsvm は SVM のトレーニングに 1 対 1 の方法を使用するため、これは必要ありません (実際、libsvm のドキュメントでは、1 対 1 が 1 対 1 と比較され、より優れたパフォーマンスを示す研究記事を参照しています)。 )。4 つのカテゴリ a、b、c、d がある場合、libsvm は実際には内部で 6 つの svm を作成します。分類を行うように求められると、6 つすべてを実行し、投票システムを使用して勝者のカテゴリを決定します。これは実際には (1,0,0,..) (0,1,0..) カテゴリ入力を使用するよりも優れています。

libsvm data examplesのサンプル データ セットを見ると 、各カテゴリに整数を割り当て、その整数がエントリの先頭にあることがわかります。次に、そのデータ要素に対応する値のベクトルの各要素が続きます。たとえば、5 つのクラスにデータがあり、各データ要素に3 つのベクトルとデータ ベクトル (3.3、1.5、0.5、7.3、3.5) はクラス 4 に属し、データ ファイルの行は次のようになります。

4 1:3.3 2:1.5 3:0.5 4:7.3 5:3.5

これは本当に醜いですが、ベクトル (.5,0,0,0,.7) がカテゴリ 2 にある場合、対応するデータ行は次のようになります。 (おもう)

2 1:.5 5:.7

その価値 (私が正しければ) は、非常に大量のデータを伴う一部の問題では、膨大な量のエントリがゼロになることです。

于 2010-09-09T21:10:57.510 に答える
0

カテゴリ属性が 3 つの値 (例: 赤、緑、青) を持つことができる場合、libsvm ガイドによると、データ ファイルには 3 つの特徴があります。別の機能の重みを仮定すると、重み 100 単位、色 = 緑の +ve の例では、エンコーディングは以下のようになります。

ラベル重量 赤 緑 青

+1 1:100 2:0 3:1 4:0

于 2015-12-28T15:01:54.767 に答える