Что означает каждый элемент в формате svmLight

Я очень смущен тем, что означает каждая часть в формате данных svmLight. Например:

(метка/цель, [(функция, значение), ...], идентификатор запроса)

Означает ли метка ранг данных, а queryid — идентификатор объекта?

Например: для следующего элемента:

2 QID: 1 1: 4.000000 2: 2,772589 3: 0,266667 4: 0,258154 5: 37,330565 6: 11,431241 7: 37,307017 8: 1,213630 9: 21,342267 10: 10,842279 11: 15,6347367 12: 24267 10: 10.842279 11: 15,6347361 12: 2424267 10: 10,842279 11: 15,6347361 12: 24267. -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.076079 35:27.701632 36:9.139690 37:23.819476 38:0.277200 39:67.283604 40:1.847508 41:19.559974 42:2.973485 43:-44.687666 44:-43.467574 45:-43.302044 #docid = 346319

Означает ли 2 ранг/целевое значение объекта? Тогда что означает qid или docid для файла?

Благодарю вас!


person Chasinggoal    schedule 01.06.2016    source источник


Ответы (1)


Старшее число действительно является «целью» этого объекта. Часть qid:1 используется для ограничения попарных различий между такими объектами. docid, а точнее все, что следует за конечным #, представляет собой информационную строку,

может использоваться для передачи дополнительной информации ядру (например, данных, не являющихся векторами признаков)

(источник).

Общий формат для каждого объекта указан в официальном источнике в разделе «Как использовать»:

<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 к библиотеке опорных векторов SVM-Light, созданная Торстеном Йоахимсом, которые я цитировал ранее. Вам нужно будет написать синтаксический анализатор для анализа файлов данных, родных для svmlight, в формат, который использует pysvmlight. На StackOverflow есть по крайней мере один пример, хотя он не учитывает qid, но это не должно быть слишком сложно добавить, когда вы читаете код этого парсера.

person Oliver W.    schedule 02.06.2016
comment
Благодарю вас! Это очень полезно! - person Chasinggoal; 23.12.2016