4

R または python で分析を実行している間、機能名 (その値) のみを認識して使用します。Vowpal Wabbit には名前空間もあります。

理解できません: 名前空間の意味; b. 機能とどう違うのですか; c. いつ使用されますか?そして使わない時は?つまり、使用を避けることができますか。d. そして、それはどのように使用されますか?

1つまたは2つの例に感謝します。質問が多くてすみません。

4

1 に答える 1

9

vowpal では wabbit 名前空間を使用して、事前に宣言する必要なく、実行時に対話機能をオンザフライで便利に生成できます。

名前空間のない単純な形式の例は次のとおりです。

1 | a:2 b:3

1ラベル、ab通常の入力フィーチャです。

の後にスペースがあることに注意してください|

x上記を 2 つの名前空間を使用して対比してください (セパレータと名前y空間の間にスペースがないことに注意してください)。|

1 |x a:2 |y b:3

この例は、最初の例と本質的に同等です (機能ハッシュの場所を除く)。元の例と同じ値を持つ 2 つの機能がまだあります。違いは、これらの名前空間を使用すると、オプションを に渡すことで機能を横断できることですvw。例えば:

vw -q xy

xname-space 内のすべての機能とname-space 内のすべての機能を交差させることにより、オンザフライで追加の機能を生成しますy。自動生成された機能の名前は、2 つの名前空間の名前を連結したものになり、値はそれぞれの値の積になります。この特定のケースでは、データセットに 1 つの追加機能があるかのようになります: ab:6(*)

明らかに、これは非常に単純な例です。名前空間に 3 つの機能がある例があるとします。

1 |x a:2 b:3 c:5

に追加-q xxすることで、 6 つの追加の対話機能vwを自動的に生成できます:その場で。そして、たとえば3 つの名前空間がある場合、それらの任意の (または必要なサブセット) をクロスすることができます:コマンドラインで、個別の機能セット間で可能なすべての相互作用を取得できます。aa, ab, ac, bb, bc, ccx, y, z-q xx -q xy -q xz -q yz -q yy -q zz

それだけです。これは、相互作用機能をその場で実験して追加できる強力な機能です。

名前空間 (の最初の文字) を引数として受け入れるいくつかのオプションがあります。

-q
--cubic
--ignore
--keep
--redefine (very new)
--lrq

詳細については、vw コマンド ライン引数 wikiを参照してください。

(*) 実際には、機能名の前に区切り文字を付けて名前空間が追加される^ため、実際のハッシュ文字列は(オプションを使用してこれを確認できます) ではx^a^y^b:6なく、単なる詳細です。ab:6--audit

于 2015-02-19T10:13:34.867 に答える