Я хочу зробити класифікацію моїх текстових даних. У мене 300 classes200 навчальних документів на заняття (так 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запису паралельного коду бібліотеки в Р. Це особливо добре поєднується з випадковими лісами, які по суті легко паралелізувати.