R または python で分析を実行している間、機能名 (その値) のみを認識して使用します。Vowpal Wabbit には名前空間もあります。
理解できません: 名前空間の意味; b. 機能とどう違うのですか; c. いつ使用されますか?そして使わない時は?つまり、使用を避けることができますか。d. そして、それはどのように使用されますか?
1つまたは2つの例に感謝します。質問が多くてすみません。
R または python で分析を実行している間、機能名 (その値) のみを認識して使用します。Vowpal Wabbit には名前空間もあります。
理解できません: 名前空間の意味; b. 機能とどう違うのですか; c. いつ使用されますか?そして使わない時は?つまり、使用を避けることができますか。d. そして、それはどのように使用されますか?
1つまたは2つの例に感謝します。質問が多くてすみません。
vowpal では wabbit 名前空間を使用して、事前に宣言する必要なく、実行時に対話機能をオンザフライで便利に生成できます。
名前空間のない単純な形式の例は次のとおりです。
1 | a:2 b:3
は1
ラベル、a
はb
通常の入力フィーチャです。
の後にスペースがあることに注意してください|
。
x
上記を 2 つの名前空間を使用して対比してください (セパレータと名前y
空間の間にスペースがないことに注意してください)。|
1 |x a:2 |y b:3
この例は、最初の例と本質的に同等です (機能ハッシュの場所を除く)。元の例と同じ値を持つ 2 つの機能がまだあります。違いは、これらの名前空間を使用すると、オプションを に渡すことで機能を横断できることですvw
。例えば:
vw -q xy
x
name-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, cc
x, 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