Je travaille avec de grands ensembles de données en utilisant le paquet gbm dans R. Ma matrice de prédicteur et mon vecteur de réponse sont assez clairsemés (c'est-à-dire que la plupart des entrées sont nulles). J'espérais construire des arbres de décision en utilisant un algorithme qui tire parti de cette rareté, comme cela a été fait ici ). Dans cet article, comme dans ma situation, la plupart des articles n'ont que quelques-unes des nombreuses fonctionnalités possibles, ils ont donc pu éviter beaucoup de calculs inutiles en supposant que leurs articles manquaient d'une fonctionnalité donnée, sauf indication contraire explicite des données. J'espère que je pourrais obtenir une accélération similaire en utilisant ce type d'algorithme (puis en entourant un algorithme de renforcement pour améliorer ma précision prédictive).
Puisqu'ils ne semblaient pas publier leur code, je me demandais s'il y avait des packages open source ou des bibliothèques (dans n'importe quelle langue) qui sont optimisés pour ce cas. Idéalement, j'aimerais quelque chose qui pourrait prendre une matrice clairsemée directement à partir du Matrix
package de R , mais je prendrai ce que je peux obtenir.
J'ai regardé autour de moi et il semble que ce genre de chose devrait être là:
Les chimistes semblent rencontrer beaucoup de problèmes (le document que j'ai lié ci-dessus concernait l'apprentissage de nouveaux composés médicamenteux), mais les implémentations que j'ai pu trouver étaient soit propriétaires soit hautement spécialisées pour l'analyse chimique. Il est possible que l'un d'entre eux puisse être réutilisé, cependant.
La classification des documents semble également être un domaine où l'apprentissage à partir d'espaces d'entités clairsemés est utile (la plupart des documents ne contiennent pas la plupart des mots). Par exemple, il y a une référence oblique à une implémentation clairsemée de C4.5 (un algorithme de type CART) dans cet article , mais pas de code.
Selon la liste de diffusion , WEKA peut accepter des données clairsemées, mais contrairement à la méthode dans le document que j'ai lié ci-dessus, WEKA n'est pas optimisé pour en profiter réellement en termes d'éviter les cycles de CPU gaspillés.
Merci d'avance!
glmnet
et e1071::svm
des deux supports Matrix
des objets. GAMboost
et GLMboost
(à partir de l'emballage GAMboost
) peut également.