Наборы текстовых категорий для MATLAB - PullRequest
1 голос
/ 30 ноября 2010

Я ищу надежный набор данных для задач категоризации текста в формате MATLAB.Я хочу провести несколько экспериментов и не хочу тратить слишком много времени на предварительную обработку текста и создание векторов объектов.Мне нужно что-то, чтобы быть готовым, чтобы я мог включить это в свой алгоритм.Я нашел файлы MATLAB для набора данных Reuters здесь: текст ссылки

Здесь все готово, но я хочу использовать часть этого.При этом «fea» содержит векторы функций для каждого документа.Однако, похоже, что это не нормальная матрица.Я хочу, например, выбрать 1000 лучших документов в этом "fea".Если вы просто загрузите его и загрузите в MATLAB, вы поймете, что я имею в виду.Итак, если это возможно, мне нужно решение для вышеупомянутого набора данных или любых альтернативных наборов данных.Заранее спасибо.

1 Ответ

2 голосов
/ 30 ноября 2010

Хранится как разреженная матрица . Извлеките первые 1000 документов (строк), и, если у вас достаточно места, вы можете преобразовать его в полную плотную матрицу:

load Reuters21578.mat
TF = full( fea(1:1000,:) );

Давайте проверим переменные, которые у нас есть:

>> whos
  Name             Size                   Bytes  Class     Attributes

  TF            1000x18933            151464000  double              
  fea           8293x18933              4749196  double    sparse    
  gnd           8293x1                    66344  double              
  testIdx       2347x1                    18776  double              
  trainIdx      5946x1                    47568  double        

, чтобы вы могли видеть, TF теперь составляет около 150 МБ.

Кроме этого, остальное не требует пояснений:

  • fea: матрица частотных терминов, строки - документы, столбцы - термины
  • gnd: категория каждого документа, где numel(unique(gnd)) == 65
  • trainIdx / testIdx: разделение экземпляров (документов) для целей классификации, содержит индексы строк, используемые как: tr = fea(trainIdx,:); tt = fea(testIdx,:);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...