Что означает каждый элемент в формате svmLight
Я очень озадачен тем, что означает каждая часть в формате данных svmLight. Например:
(метка / цель, [(функция, значение), ...], queryid)
Означает ли метка ранг данных, а 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.634736 12: 2.749495 13: -39.467448 14: -37 -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: 30,663,82 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,46,3044 45: -43,46757444 = 346319
2 означает ранг / целевое значение объекта? Тогда что значит qid или docid для файла?
Спасибо!
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. В Stackru есть хотя бы один пример, хотя он не учитывает qid
, но это не должно быть слишком сложно добавить, когда вы читаете код этого парсера.