Réduction efficace de la dimensionnalité pour un grand ensemble de données

12

J'ai un ensemble de données avec ~ 1M lignes et ~ 500K fonctionnalités clairsemées. Je veux réduire la dimensionnalité quelque part dans l'ordre des entités denses 1K-5K.

sklearn.decomposition.PCAne fonctionne pas sur des données éparses, et j'ai essayé d'utiliser sklearn.decomposition.TruncatedSVDmais j'obtiens une erreur de mémoire assez rapidement. Quelles sont mes options pour une réduction efficace de la dimensionnalité à cette échelle?

chronogramme
la source

Réponses:

11

Avez-vous entendu parler de l' approximation et de la projection du collecteur uniforme (UMAP) ?

UMAP (Uniform Manifold Approximation and Projection) est une nouvelle technique d'apprentissage multiple pour la réduction de dimension non linéaire. L'UMAP est construit à partir d'un cadre théorique basé sur la géométrie riemannienne et la topologie algébrique. Le résultat est un algorithme évolutif pratique qui s'applique aux données du monde réel. L'algorithme UMAP est compétitif avec t-SNE pour la qualité de la visualisation et préserve sans doute une plus grande partie de la structure globale avec des performances d'exécution supérieures. En outre, l'UMAP tel que décrit n'a pas de restrictions de calcul sur l'intégration de la dimension, ce qui le rend viable comme technique de réduction de dimension à usage général pour l'apprentissage automatique.

Vérifiez leur code et leur papier d'origine pour la liste des avantages et des inconvénients, il est super facile à utiliser.

Faits rapides: UMAP peut gérer de grands ensembles de données et est plus rapide que t-SNE et prend également en charge l'ajustement aux données matricielles clairsemées, et contrairement à t-SNE, une technique de réduction de dimension à usage général, ce qui signifie qu'il peut non seulement être utilisé pour la visualisation, mais aussi pour réduire l'espace des fonctionnalités pour alimenter d'autres modèles d'apprentissage automatique.

Exemples concrets: J'ai comparé la méthode et je l'ai comparée à d'autres cahiers de référence de techniques de réduction de la dimensionnalité , si je souhaite avoir un aperçu rapide et un démarrage rapide.

TwinPenguins
la source
2
(+1) - L'UMAP est vraiment génial! Vous pourriez envisager de reformuler un peu: votre paragraphe au milieu et les puces suivantes répètent les mêmes informations. Vous pouvez également en faire un devis, car il est (plus ou moins) copié-collé depuis leur site Web.
n1k31t4
2
Bien sûr, je peux certainement le réduire, je voulais juste les souligner ici et certains points sont un peu reformulés. Merci. Quoi qu'il en soit, j'aime UMAP.
TwinPenguins
1
Merci pour la recommandation! Je le connaissais comme une alternative au t-SNE pour la visualisation, mais je ne savais pas qu'il était également bon pour la réduction de la dimensionnalité générale.
timleathart
1

Juste au cas où les gens rencontrant ce message trouveraient UMAP pas assez efficace, voici quelques autres techniques que j'ai rencontrées qui sont encore plus efficaces (mais pas aussi de haute qualité):

  •  × mmsklearn.random_projection

  • mmsklearn.feature_extraction.FeatureHasher

chronogramme
la source