Я хочу зробити класифікацію моїх текстових даних. У мене 300 classes
200 навчальних документів на заняття (так 60000 documents in total
), і це, ймовірно, призведе до дуже високих розмірних даних (ми можемо шукати розміри, що перевищують 1 мільйон ).
Я хотів би виконати наступні кроки в трубопроводі (просто щоб ви зрозуміли, які вимоги є у мене):
- Перетворення кожного документа у векторний (
tf-idf
абоvector space model
) Feature selection
(Mutual Information
бажано на основі, або будь-який інший стандартний)- Навчання класифікатора (
SVM
,Naive Bayes
,Logistic Regression
абоRandom Forest
) - Прогнозування небачених даних на основі навчальної моделі класифікатора.
Отже, питання полягає в тому, які інструменти / рамки я використовую для обробки таких високомірних даних? Мені відомі звичайні підозрювані (R, WEKA ...), але, наскільки я знаю (я можу помилятися), можливо, ніхто з них не може обробляти такі великі дані. Чи є якийсь інший інструмент, який я можу подивитися?
Якщо мені доведеться паралелізувати це, чи варто дивитись на Apache Mahout ? Схоже, це може ще не забезпечити потрібну мені функціональність.
Дякуємо всім заздалегідь.
Оновлення: я оглянув цей веб-сайт , список розсилки R та Інтернет взагалі. Мені здається, що в моїй ситуації можуть виникнути такі проблеми:
(1) Попередня обробка моїх даних за допомогою R ( зокрема пакету tm ) може бути недоцільною , оскільки tm
буде надмірно повільною.
(2) Оскільки мені потрібно буде використовувати ансамбль пакетів R (попередня обробка, розріджені матриці, класифікатори тощо), сумісність між пакетами може стати проблемою, і я можу зазнати додаткових накладних витрат при перетворенні даних з одного формату в інший . Наприклад, якщо я виконую попередню обробку за допомогою tm
(або зовнішнього інструменту, такого як WEKA), мені потрібно буде знайти спосіб перетворення цих даних у форму, яку можуть читати бібліотеки HPC в R. І знову мені незрозуміло, чи пакети класифікаторів безпосередньо братимуть дані, передбачені бібліотеками HPC.
Я на правильному шляху? І що ще важливіше, я маю сенс?
foreach
запису паралельного коду бібліотеки в Р. Це особливо добре поєднується з випадковими лісами, які по суті легко паралелізувати.