Обсуждение:Практикум на ЭВМ (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)

Система оценки

Идеи

Личные инструменты