Machine learning Vowpal Wabbit可读模型

Machine learning Vowpal Wabbit可读模型,machine-learning,data-mining,vowpalwabbit,Machine Learning,Data Mining,Vowpalwabbit,我使用的是Vowpal Wabbit,并生成作为可读模型训练的分类器 我的数据集有22个特征,可读模型作为输出: Version 7.2.1 Min label:-50.000000 Max label:50.000000 bits:18 0 pairs: 0 triples: rank:0 lda:0 0 ngram: 0 skip: options: :0 101143:0.035237 101144:0.033885 101145:0.013357 101146:-0.007537 101

我使用的是Vowpal Wabbit,并生成作为可读模型训练的分类器

我的数据集有22个特征,可读模型作为输出:

Version 7.2.1
Min label:-50.000000
Max label:50.000000
bits:18
0 pairs:
0 triples:
rank:0
lda:0
0 ngram:
0 skip:
options:
:0
101143:0.035237
101144:0.033885
101145:0.013357
101146:-0.007537
101147:-0.039093
101148:-0.013357
101149:0.001748
116060:0.499471
157941:-0.037318
157942:0.008038
157943:-0.011337
196772:0.138384
196773:0.109454
196774:0.118985
196775:-0.022981
196776:-0.301487
196777:-0.118985
197006:-0.000514
197007:-0.000373
197008:-0.000288
197009:-0.004444
197010:-0.006072
197011:0.000270
谁能给我解释一下如何解释文件的最后一部分(选项:)吗?我在使用逻辑回归,我需要检查迭代训练如何更新我的分类器,以便我能够理解何时达到收敛


提前感谢:)

您看到的值是所有22个特征的哈希值和权重,以及生成的训练模型中的一个附加“常量”特征(其哈希值为116060)

格式为:

hash_value:weight
为了查看原始要素名称而不是哈希值,可以使用以下两种方法之一:

  • 在训练集中使用与训练相同的选项,使用
    utl/vw varinfo
    (在源代码树中)实用程序。请尝试
    utl/vw varinfo
    以获取帮助/用法消息
  • 使用相对较新的
    ——invert_hash readable.model
    选项
顺便说一句:由于性能损失较大,将散列值反转回原始功能名称不是默认值。默认情况下,vw对其看到的每个特征字符串应用单向散列。它根本不维护功能名称与其哈希值之间的哈希映射

编辑:

另一个有趣的小贴士是
options:
之后的第一个条目,内容如下:

:0

它本质上意味着任何“其他”特征(所有不在训练集中的特征,因此未散列到权重向量中)默认为权重0。这意味着在vowpal wabbit中训练值为零的特性是多余的,这是默认值。显式
:0
值功能对模型没有任何贡献。当您在训练集中遗漏权重时,如:
feature\u name
中没有尾随的
vowpal wabbit隐式地假设它是一个二进制特征,具有
TRUE
值。IOW:它将所有无值功能的值默认为一(
:1
),而不是零(
:0
)。HTH.

Vowpal Wabbit现在还有一个
--invert_hash
选项,它将为您提供一个可读的模型,其中包含实际变量以及散列


它会消耗更多的内存,但由于您的模型看起来很小,它可能会工作。

我是新来的Vowpal Wabbit,您能告诉我使用逻辑回归训练数据的选项吗?以下内容是否足够:
vw-d列输出-f data.model--丧失功能后勤