如何解释vowpal wabbit --rank模型的--audit和--invert_hash输出?

时间:2019-04-22 00:31:19

标签: python azure machine-learning vowpalwabbit

我正在使用VW Windows二进制文件(v8.1.1),但无法找到/运行gd_mf_weights文件来从movielens数据的矩阵分解模型中产生潜在因子。是否可以使用--audit或--invert_hash命令为--rank模型检索潜在项目/用户向量?如何解释输出?

-审核

0.083820 0
user^0:40152322256(250064):1:0.0203829  item^0:39109980128(2289632):1:0.034971
5 1
5 2
5 3
5 4
5 5
2.255293 6

-invert_hash

options: --quadratic ui --rank 5
Checksum: -1594367130
0 0.026660 0.029663 0.066095 0.001638 0.024027 0.049405 0.086664 0.039567 0.004046 0.004133 0.001141
1 0.071812 0.048789 0.009294 0.078689 0.055306 0.079207 0.051241 0.033831 0.038871 0.034245 0.004538
2 0.068148 0.066196 0.043153 0.090472 0.039405 0.068468 0.028950 0.047775 0.065153 0.068769 0.089713
3 0.061660 0.051192 0.036081 0.077850 0.084801 0.042123 0.092750 0.059213 0.045027 0.071334 0.062931
4 0.087708 0.096122 0.003722 0.065780 0.036524 0.008498 0.071953 0.025418 0.038625 0.085860 0.069624
5 0.048324 0.097188 0.020505 0.055188 0.065675 0.010707 0.099586 0.061309 0.013237 0.007674 0.021914

1 个答案:

答案 0 :(得分:0)

是否有理由将-q--rank一起使用,而不是内置的低秩二次交互--lrq

这是我如何使用--lrq--invert_hash来训练分解机推荐器的方法。假设您的数据集如下:

4 |u john |i hammer
...

编码用户“ john”给予项目“ hammer”等级4等的信息。

我将对模型进行如下训练:

$ echo "4 |u john |i hammer" | vw --lrq ui5 --invert_hash model.readable.txt

然后从model.readable.txt(“ :0”行下方的所有内容)中提取潜在因子:

$ cat model.readable.txt
Version 8.6.1
Id 
Min label:0
Max label:4
bits:18
lda:0
0 ngram:
0 skip:
options: --hash_seed 0 --link identity --lrq ui5
Checksum: 3876651432
:0
Constant:142048:0.231715
i^hammer:99576:0.231715
lrq^i^hammer^1:99577:0.238051
lrq^i^hammer^2:99578:0.641153
lrq^i^hammer^3:99579:0.177484
lrq^i^hammer^4:99580:0.333955
lrq^i^hammer^5:99581:2.82811
lrq^u^john^1:15281:1.23084
lrq^u^john^2:15282:0.457055
lrq^u^john^3:15283:1.65113
lrq^u^john^4:15284:0.877392
lrq^u^john^5:15285:0.103614
u^john:15280:0.231715

希望有帮助。