【问题标题】:What does each item mean in svmLight FormatsvmLight 格式中的每一项是什么意思
【发布时间】:2016-10-01 00:20:51
【问题描述】:

我很困惑每个部分在 svmLight 数据格式中的含义。 例如:

(label/target, [(feature, value), ...], queryid)

label是不是表示数据的rank,queryid是object的id?

例如: 对于以下项目:

2 qid:1 1:4.000000 2:2.772589 3:0.26667 4:0.26667 5:0.258154 5:37.330565 6:11.431241 7:37.307017 8:1.213630 9:11:15.634736 12:2.7422791112:2.74949111 37.791635 15:-38.002289 16:14.000000 17:5.634790 18:0.063927 19:0.063290 20:28.303065 21:9.340024 22:24.809801 23:0.231553 24:52.396216 25:1.692954 26:16.619600 27:2.810583 28:-45.733775 29:-44.612550 30 :-44.823263 31:18.000000 32:6.579251 33:0.076923 34:0.076923 34:0.0.076079 36:0.0.076079 36:0.07.70476 43.302044 #docid = 346319

2 是否表示对象的等级/目标值?那么 qid 或 docid 对文件意味着什么?

谢谢!

【问题讨论】:

    标签: python format svm svmlight


    【解决方案1】:

    前导数确实是这个对象的“目标”。 qid:1 部分用于约束此类对象之间的成对差异。 docid,或者更确切地说是最后一个 # 之后的所有内容都是一个信息字符串,

    可用于向内核传递附加信息(例如非特征向量数据)

    (source).

    官方来源中给出了每个对象的一般格式,标题为“如何使用”:

    <line> .=. <target> <feature>:<value> <feature>:<value> ... <feature>:<value> # <info>
    <target> .=. +1 | -1 | 0 | <float> 
    <feature> .=. <integer> | "qid"
    <value> .=. <float>
    <info> .=. <string> 
    

    注意你指定的格式

    (label/target, [(feature, value), ...], queryid)
    

    pysvmlight 的名称,这是一个 Python 绑定到由 Thorsten Joachims 制作的 SVM-Light 支持向量机库,我之前引用过。您需要编写一个解析器来将 svmlight 原生的数据文件解析为 pysvmlight 使用的格式。 StackOverflow 上至少有one example,尽管它没有考虑到qid,但是当您阅读该解析器的代码时添加它应该不会太难。

    【讨论】:

    • 谢谢!这很有帮助!
    猜你喜欢
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 2017-11-03
    • 1970-01-01
    • 2022-12-14
    • 2013-09-19
    • 2022-11-24
    • 1970-01-01
    相关资源
    最近更新 更多