Je cherche à faire une classification sur mes données texte. J'ai 300 classes
200 documents de formation par classe (donc 60000 documents in total
) et cela est susceptible d'entraîner des données dimensionnelles très élevées (nous pouvons rechercher plus de 1 million de dimensions ).
Je voudrais effectuer les étapes suivantes dans le pipeline (juste pour vous donner une idée de mes besoins):
- Conversion de chaque document en vecteur d'entité (
tf-idf
ouvector space model
) Feature selection
(Mutual Information
basé de préférence ou tout autre standard)- La formation du classificateur (
SVM
,Naive Bayes
,Logistic Regression
ouRandom Forest
) - Prédire les données invisibles sur la base du modèle de classificateur formé.
La question est donc de savoir quels outils / framework utiliser pour gérer de telles données de grande dimension? Je connais les suspects habituels (R, WEKA ...) mais pour autant que je sache (je peux me tromper), aucun d'entre eux ne peut gérer des données aussi importantes. Existe-t-il un autre outil standard que je pourrais consulter?
Si je dois le paralléliser, dois-je regarder Apache Mahout ? Il semble qu'il ne fournisse pas encore toutes les fonctionnalités dont j'ai besoin.
Merci à tous d'avance.
Mise à jour: J'ai parcouru ce site Web , la liste de diffusion R et Internet en général. Il me semble que les problèmes suivants pourraient apparaître dans ma situation:
(1) Le prétraitement de mes données à l'aide de R ( package tm en particulier) pourrait être impossible , car tm
il sera extrêmement lent.
(2) Étant donné que je devrai utiliser un ensemble de packages R (pré-traitement, matrices clairsemées, classificateurs, etc.) l'interopérabilité entre les packages pourrait devenir un problème, et je pourrais encourir un surcoût supplémentaire lors de la conversion de données d'un format à un autre . Par exemple, si je fais mon prétraitement à l'aide tm
(ou d'un outil externe comme WEKA), je devrai trouver un moyen de convertir ces données sous une forme que les bibliothèques HPC dans R peuvent lire. Et encore une fois, il n'est pas clair pour moi si les packages de classificateur prendraient directement les données fournies par les bibliothèques HPC.
Suis-je sur la bonne voie? Et plus important encore, ai-je un sens?
foreach
bibliothèque écrire du code parallèle en R. Cela fonctionne particulièrement bien en conjonction avec des forêts aléatoires, qui sont intrinsèquement faciles à paralléliser.