Обсуждение:Практикум на ЭВМ (317)/2011-2012
Материал из MachineLearning.
м (→Постановка, данные) |
(→Постановка, данные) |
||
Строка 18: | Строка 18: | ||
Матлаб функция, которая записывает результат классификации, представленный в виде матрицы Nx83 (как <code>Y</code>), в файл готовый для отправки в систему: [http://dl.dropbox.com/u/20300574/jrs12_topic/sparse2labels.m]. | Матлаб функция, которая записывает результат классификации, представленный в виде матрицы Nx83 (как <code>Y</code>), в файл готовый для отправки в систему: [http://dl.dropbox.com/u/20300574/jrs12_topic/sparse2labels.m]. | ||
+ | |||
+ | '''Пример''': решение, которое каждому объекту ставит в соответствие 5 наиболее часто встречаемых тематик | ||
+ | load('data.mat'); | ||
+ | [~, idx] = sort(sum(Y), 'descend'); % после чего в idx номера тематик в порядке убывания их популярности | ||
+ | Y_t = sparse(size(X_t, 1), size(Y, 2)); % пустая матрица ответа | ||
+ | Y_t(:,idx(1:5)) = 1; % для каждого объекта выбираем 5 наиболее популярных тематик | ||
+ | sparse2labels(Y_t, 'majority.csv'); | ||
[[Участник:Peter Romov|Peter Romov]] 16:15, 9 февраля 2012 (MSK) | [[Участник:Peter Romov|Peter Romov]] 16:15, 9 февраля 2012 (MSK) |
Версия 13:29, 9 февраля 2012
Содержание |
Реальная задача «Topical Classification of Biomedical Research Papers»
Постановка, данные
Подробное описание задачи: [1].
Объект (журнальная статья) описывается 25640 признаками --- целые числа 0...1000. Каждый признак означает насколько сильно журнальная статья связана с медецинским термином. Признаковые описания разреженные: большая часть признаков у одного объекта равны 0, что означает что одна журнальная статья связана лишь с небольшим числом медецинских терминов.
Имеется 83 тематик (topics). По признаковому описанию журнальной статьи нужно сказать, к каким тематикам она относится. Выход классификатора: подмножество чисел 1..83.
Данные:
- тренировочная выборка, 10'000 объектов, для каждого объекта список тематик, к которым он относится
- тестовая выборка, 10'000 объектов
На сайте соревнования выложены текстовые файлы с матрицами объект-признак, после распаковки они весят под 500МБ и очень долго считываются в матлаб. Я сделал MAT-файл data.mat (8МБ), в котором лежат sparse-матрицы (вид представления матриц в матлабе при котором запоминается список ненулевых элементов матрицы):
-
X
,X_t
— объект-признак для тренировочной и тестовой выборок; -
Y
— матрица правильных ответов для тренировочной выборки, размера 10'000x83, в каждой строке стоят единицы на месте столбцов с номерами выбраных тематик.
Матлаб функция, которая записывает результат классификации, представленный в виде матрицы Nx83 (как Y
), в файл готовый для отправки в систему: [2].
Пример: решение, которое каждому объекту ставит в соответствие 5 наиболее часто встречаемых тематик
load('data.mat'); [~, idx] = sort(sum(Y), 'descend'); % после чего в idx номера тематик в порядке убывания их популярности Y_t = sparse(size(X_t, 1), size(Y, 2)); % пустая матрица ответа Y_t(:,idx(1:5)) = 1; % для каждого объекта выбираем 5 наиболее популярных тематик sparse2labels(Y_t, 'majority.csv');
Peter Romov 16:15, 9 февраля 2012 (MSK)