3

--invert_hash は回帰モデルで問題なく動作しますが、行列分解を有効にすると、出力は --readable_model と --invert ハッシュの両方で同じになります。各ユーザーまたはアイテムの潜在変数を確認したいのですが、それらをアイテム/ユーザーの名前と一致させることができません。私の完全なデータセットをすべて表示するのではなく、この小さな再現可能なサンプルで問題を説明します。

#bash
echo "5 |u user1 |i item1
1 |u user1 |i item2
5 |u user2 |i item2
1 |u user2 |i item1" | vw -f test.vwbin --rank 2 

echo "5 |u user1 |i item1
1 |u user1 |i item2
5 |u user2 |i item2
1 |u user2 |i item1" | vw -t -i test.vwbin --invert_hash test.vwih

less test.vwih

結果は次のようになります。

Version 7.7.0
Min label:0.000000
Max label:5.000000
bits:18
0 pairs:
0 triples:
rank:2
lda:0
0 ngram:
0 skip:
options:
0 0.026660 0.029663 0.066095 0.001638 0.024027
1 0.004046 0.004133 0.001141 0.035247 0.077151
2 0.071812 0.048789 0.009294 0.078689 0.055306
... (and so on until line 262143)

これらの行には、文字列 'user1'、'user2'、'item1'、または 'item2' が含まれていません。何か不足していますか?

もう 1 つの質問ですが、ドキュメントで答えを見つけることができませんでした。ランク = 2 であるため、イベントごとに 5 つの潜在変数があるのはなぜですか?

4

0 に答える 0