Existe-t-il une implémentation de forêt aléatoire R qui fonctionne bien avec des données très rares? J'ai des milliers ou des millions de variables d'entrée booléennes, mais seules des centaines environ seront VRAIES pour un exemple donné.
Je suis relativement nouveau dans R et j'ai remarqué qu'il existe un package 'Matrix' pour traiter les données rares, mais le package standard 'randomForest' ne semble pas reconnaître ce type de données. Si cela est important, les données d'entrée vont être produites en dehors de R et importées.
Aucun conseil? Je peux également étudier l'utilisation de Weka, Mahout ou d'autres packages.
r
random-forest
sparse
Eryn
la source
la source
Réponses:
Non, il n'y a pas d'implémentation RF pour les données clairsemées dans R. En partie parce que les RF ne correspondent pas très bien à ce type de problème - l'ensachage et la sélection sous-optimale des divisions peuvent gaspiller la plupart des informations du modèle sur les zones zéro uniquement.
Essayez une méthode du noyau ou pensez à convertir vos données en une représentation plus luxuriante avec des descripteurs (ou utilisez une méthode de réduction de la dimensionnalité).
la source
En fait, oui .
C'est
xgboost
fait pour augmenter le gradient eXtreme. C'est actuellement le package de choix pour l'exécution de modèles avec des matrices clairsemées dans R pour beaucoup de gens, et comme le lien ci-dessus l'explique, vous pouvez l'utiliser pour Random Forest en ajustant les paramètres !la source
Le package R "Ranger" devrait faire l'affaire.
https://cran.r-project.org/web/packages/ranger/ranger.pdf
Comparé à randomForest, ce package est probablement l'implémentation RF la plus rapide que j'ai vue. Il traite les variables catégorielles de manière native.
la source
Il existe un blog appelé Quick-R qui devrait vous aider avec les bases de R.
R fonctionne avec les packages. Chaque paquet peut faire quelque chose de différent. Il existe des packages appelés "randomForests" qui devraient être exactement ce que vous demandez.
Sachez que des données éparses poseront des problèmes quelle que soit la méthode que vous appliquerez. À ma connaissance, c'est un problème très ouvert et l'exploration de données en général est plus un art qu'une science. Les forêts aléatoires se débrouillent très bien dans l'ensemble, mais ce n'est pas toujours la meilleure méthode. Vous voudrez peut-être essayer un réseau de neurones avec beaucoup de couches, cela pourrait vous aider.
la source