J'ai données n dimensions et je veux vérifier l'intégrité, puis-je revenir à la version 2 de l'espace caractéristique dimensionnelle via PCA et le faire?

datascience.stackexchange https://datascience.stackexchange.com/questions/18280

Question

Dire que j'ai des échantillons de données n dimensions. Je veux vérifier l'intégrité des fonctions, si elles sont une bonne représentation des classes respectives, à savoir ces caractéristiques sont bonnes ou non.

Mon plan est le suivant:

J'utilise PCA et convertir en 2 données dim. Tracer ces données. Voir si elles sont assez séparables.

Est-ce que le son plan ci-dessus d'accord pour tester pour voir si les caractéristiques sont bien?

Était-ce utile?

La solution

Cela allait être un commentaire, mais il a grandi à une réponse. Je pense qu'il devrait y avoir des éclaircissements parce que la question elle-même est pas spécifiquement sur la visualisation, mais de vérifier l ' « intégrité » des fonctions.

PCA travaillera pour faire une généralisation de l'ensemble de données dans son ensemble. Il est un point de départ très standard pour l'exploration des données. Si les 2 premiers éléments font apparaître une nette séparation, cela est une indication assez solide au moins une projection de vos données peut bien représenter vos classes. Alors, réponse courte est oui . Si les 2 premiers composants ne montrent pas la séparation, cela ne signifie pas que les caractéristiques ne sont pas nécessairement mauvais, il signifie simplement que les deux premiers éléments n'expliquent pas la majorité de la variabilité dans l'ensemble de données.

La sélection des fonctionnalités est utilisée pour vérifier l'intégrité / importance / valeur des caractéristiques individuelles et comment ils affectent le modèle. Vous pouvez utiliser une importance gini forestière aléatoire pour classer vos caractéristiques ou régularisation avec lasso pour la validation croisée pour savoir comment les caractéristiques individuelles sont pondérées dans un journal. reg. modèle (cela ne nécessite un peu plus de travail que les pondérations ne sont pas nécessairement une mesure exacte d'une importance variable). Sélection et validation croisée sont moyens les plus directs de détermination de l'intégrité de la fonction. PCA est la plupart du temps une bonne première passe et la visualisation utile.

Autres conseils

Je pense que t-SNE peut être utile pour visualiser les données dimensionnelle par projection 2D ou 3D. Par opposition à l'APC, t-END apprend une transformation non linéaire qui conserve la structure de données globale. Sklearn fournit un outil facile à utiliser la mise en œuvre de t-SNE ici .

En bien, je suppose que vous essayez de voir si les caractéristiques sont assez différents? Cela dépend de votre ensemble de données réellement. Comme smallchess l'a souligné, l'APC est couramment utilisé et peut fonctionner avec votre ensemble de données. Essayez et voir si les différentes classes sont distinctes? Sinon, vous pouvez essayer d'utiliser des outils de visualisation de dimensions supérieures.

Par ailleurs, avec PCA vous réduisez les dimensions des nouvelles fonctionnalités qui peuvent ou peuvent ne pas être intuitive dans un sens. Cette interprétation des marques plus compliqué. Si vous cherchez à visualiser les données, pourquoi ne pas aller avec visualisations dimension supérieure? Si vous n'êtes pas au courant des différents outils disponibles .. Voici une question avec beaucoup de réponses sur Quora sur visualisation dimension supérieure

Des outils recommandés, terrain Andrews et coordonnées parallèles parcelles sont très populaires. Je suggère d'utiliser ces outils au lieu d'utiliser PCA et tracer ensuite dans le but que vous décrivez. Si vous n'avez pas besoin de visualiser les données, parfois, vous pouvez simplement obtenir un résumé statistique / description des ensembles de données (moyenne, variance, min, max, etc.). Voici un exemple d'un terrain Andrews. Vous pouvez tracer les différentes classes en différentes couleurs pour voir s'il y a des différences perceptibles entre les classes. exemple Andrews Plot sur la documentation Matlab

Si ce n'est pas ce que vous cherchez, pour visualiser les données pour évaluer la représentation, passez juste pour essayer et construire un modèle avec les caractéristiques et voir si vous obtenez un bon score?

Edit: Voici quelques lacunes de PCA..if il y a des informations que de mal représentés, ne laissez-moi savoir! Une chose à noter est que, avec l'APC, sa transformation est orthogonale. Parfois, vos données exige une représentation non-orthogonale. Ceci est très dépendant de la façon dont vos regards de données comme. Pour donner un exemple, jetez un oeil sur le diagramme ci-dessous. Exemple de défauts PCA

Dans l'exemple ci-dessus, l'APC ne parvient pas à trouver les PC qui maximise la variance due à orthogonalité. L'analyse du facteur indépendant peut mieux fonctionner. En outre, si vous avez l'intention d'utiliser les données transformées pour construire votre modèle sur, il peut y avoir des limites avec les données transformées linéairement. Parfois, nous avons besoin de PC non-linéaires. Voir l'exemple ci-dessous à partir de la page Web de scikit.

Dans un tel cas, un PCA du noyau (en utilisant un truc du noyau similaire dans SVM) peut fonctionner mieux en obtenant une projection pour obtenir une meilleure distinction linéaire.

Il y a de très bonnes suggestions faites ci-dessus en ce qui concerne le problème. Dans une autre approche, (un peu similaire mais pas identique à menthods à base PCA mentionné ci-dessus) est d'utiliser un autoencoder réseau compressif et le former classwise (ou une autoencoder). La compression peut être de dimensions multiples à 2 dimensions et peut être facilement tracée. Depuis le autoencoder (s) apprendrait à représenter différentes classes, si les caractéristiques sélectionnées pour l'ensemble de données d'origine peut partitionner l'espace de données suffisamment, puis dans un diagramme de dispersion 2D les différences pourraient être faits.

Licencié sous: CC-BY-SA avec attribution
scroll top