Accueil Finances personnelles Science: utilisation de Python pour effectuer des analyses factorielles et principales - mannequins

Science: utilisation de Python pour effectuer des analyses factorielles et principales - mannequins

Table des matières:

Vidéo: Cours d'ACP : théorie et pratique 2024

Vidéo: Cours d'ACP : théorie et pratique 2024
Anonim

Les scientifiques de données peuvent utiliser Python pour effectuer l'analyse des facteurs et des composantes principales. SVD fonctionne directement sur les valeurs numériques dans les données, mais vous pouvez également exprimer les données comme une relation entre les variables. Chaque fonctionnalité a une certaine variation. Vous pouvez calculer la variabilité comme la mesure de la variance autour de la moyenne. Plus la variance est grande, plus les informations contenues dans la variable sont nombreuses.

De plus, si vous placez la variable dans un ensemble, vous pouvez comparer la variance de deux variables pour déterminer si elles corrèlent, ce qui est une mesure de la force avec laquelle elles ont des valeurs similaires.

En vérifiant toutes les corrélations possibles d'une variable avec les autres dans l'ensemble, vous pouvez découvrir que vous pouvez avoir deux types de variance:

  • Variance unique: Une certaine variance est propre à la variable à l'examen. Il ne peut pas être associé à ce qui arrive à une autre variable.

  • Variance partagée: Une partie de la variance est partagée avec une ou plusieurs autres variables, ce qui crée une redondance dans les données. La redondance implique que vous pouvez trouver la même information, avec des valeurs légèrement différentes, dans diverses caractéristiques et à travers de nombreuses observations.

Bien sûr, l'étape suivante consiste à déterminer la raison de la variance partagée. Essayer de répondre à une telle question, ainsi que de déterminer comment gérer les variances uniques et partagées, a conduit à la création d'une analyse factorielle et en composantes principales.

Considérant le modèle psychométrique

Bien avant que de nombreux algorithmes d'apprentissage automatique aient été inventés, la psychométrie , la discipline en psychologie de la mesure psychologique, tentait de trouver une solution statistique pour mesurer efficacement les dimensions dans la personnalité. La personnalité humaine, comme les autres aspects de l'être humain, n'est pas directement mesurable. Par exemple, il n'est pas possible de mesurer précisément à quel point une personne est introvertie ou intelligente. Questionnaires et tests psychologiques ne font qu'indiquer ces valeurs.

Les psychologues connaissaient la maladie vésiculeuse du sexe et essayaient de l'appliquer au problème. La variance partagée a attiré leur attention: si certaines variables sont presque les mêmes, elles devraient avoir la même origine, pensaient-elles. Les psychologues ont créé une analyse factorielle pour effectuer cette tâche! Au lieu d'appliquer SVD directement aux données, ils l'ont appliqué à une matrice nouvellement créée qui suit la variance commune, dans l'espoir de condenser toutes les informations et de récupérer de nouvelles fonctions utiles appelées fa c tors .

Recherche de facteurs cachés

Une bonne façon de montrer comment utiliser l'analyse factorielle est de commencer par l'ensemble de données Iris.

de sklearn. les jeux de données importent load_iris de sklearn. décomposition import FactorAnalysis iris = load_iris () X, y = iris. données, iris. Facteur cible = FactorAnalysis (n_components = 4, random_state = 101). fit (X)

Après avoir chargé les données et avoir stocké toutes les fonctions prédictives, la classe FactorAnalysis est initialisée avec une requête pour rechercher quatre facteurs. Les données sont ensuite ajustées. Vous pouvez explorer les résultats en observant l'attribut components_, qui renvoie un tableau contenant des mesures de la relation entre les facteurs nouvellement créés, placés en lignes, et les entités d'origine, placées dans des colonnes.

À l'intersection de chaque facteur et caractéristique, un nombre positif indique qu'une proportion positive existe entre les deux; un nombre négatif, au contraire, indique qu'ils divergent et que l'un est le contraire de l'autre.

Vous devrez tester différentes valeurs de n_components car il est impossible de connaître le nombre de facteurs présents dans les données. Si l'algorithme est requis pour plusieurs facteurs, il générera des facteurs avec des valeurs faibles dans le tableau components_.

importez des pandas comme pd print pd. DataFrame (Facteur.Composants_, Colonnes = Iris.Nom_fonction) Longueur du sépale (cm) Largeur du selle (cm) Longueur du pétale (cm) Largeur du pétale (cm) 0 0. 707227 -0. 153147 1. 653151 0. 701569 1 0. 114676 0. 159763 -0. 045604 -0. 014052 2 0. 000000 -0. 000000 -0. 000000 -0. 000000 3 -0. 000000 0. 000000 0. 000000 -0. 000000

Dans le test sur l'ensemble de données Iris, par exemple, les facteurs résultants devraient être au maximum de 2, et non de 4, car seuls deux facteurs ont des connexions significatives avec les caractéristiques d'origine. Vous pouvez utiliser ces deux facteurs comme de nouvelles variables dans votre projet, car ils reflètent une fonctionnalité invisible mais importante que les données précédemment disponibles n'ont fait qu'indiquer.

Utilisation de composants, pas de facteurs

Si un SVD pouvait être appliqué avec succès à la variance commune, vous pourriez vous demander pourquoi vous ne pouvez pas l'appliquer à toutes les variances. En utilisant une matrice de départ légèrement modifiée, toutes les relations dans les données pourraient être réduites et compressées de la même manière que la méthode SVD.

Les résultats de ce processus, qui sont assez similaires à SVD, sont appelés analyse des composantes principales (PCA). Les entités nouvellement créées sont nommées composants . Contrairement aux facteurs, les composants ne sont pas décrits comme la cause première de la structure des données, mais sont simplement des données restructurées, vous pouvez donc les voir comme une somme importante et intelligente de variables sélectionnées.

Pour les applications de science des données, PCA et SVD sont assez similaires. Cependant, PCA n'est pas affectée par l'échelle des caractéristiques d'origine (car elle fonctionne sur des mesures de corrélation qui sont toutes liées entre -1 et +1) et PCA se concentre sur la reconstruction de la relation entre les variables, offrant ainsi des résultats différents.

Atteindre la réduction de la dimensionnalité

La procédure d'obtention d'une ACP est assez similaire à l'analyse factorielle.La différence est que vous ne spécifiez pas le nombre de composants à extraire. Vous décidez plus tard du nombre de composants à conserver après avoir vérifié l'attribut explain_variance_ratio_, qui fournit une quantification de la valeur informative de chaque composant extrait. L'exemple suivant montre comment effectuer cette tâche:

à partir de sklearn. décomposition importer les pandas d'importation PCA comme pd pca = PCA (). fit (X) print 'Variance expliquée par composant:% s'% pca. expliqué_variance_ratio_ imprimer pd. DataFrame (pca. Components_, columns = iris.) Feature_names) Variance expliquée par composant: [0. 92461621 0. 05301557 0. 01718514 0. 00518309] longueur du sépale (cm) largeur du sépale (cm) longueur du pétale (cm) largeur du pétale (cm) 0 0. 361590 -0. 082269 0. 856572 0. 358844 1 -0. 656540 -0. 729712 0. 175767 0. 074706 2 0. 580997 -0. 596418 -0. 072524 -0. 549061 3 0. 317255 -0. 324094 -0. 479719 0. 751121

Dans cette décomposition de l'ensemble de données Iris, le tableau vectoriel fourni par explain_variance_ratio_ indique que la plus grande partie de l'information est concentrée dans le premier composant (92,5%). Il est donc possible de réduire l'ensemble de données entier à seulement deux composants, en fournissant une réduction du bruit et des informations redondantes de l'ensemble de données d'origine.

Science: utilisation de Python pour effectuer des analyses factorielles et principales - mannequins

Le choix des éditeurs

Tableaux et pointeurs en C ++ - le nom du tableau des mannequins

Tableaux et pointeurs en C ++ - le nom du tableau des mannequins

Est un pointeur sur le tableau lui-même. Le tableau est une séquence de variables stockée en mémoire. Le nom du tableau pointe vers le premier élément. C'est une question intéressante sur les pointeurs: Pouvez-vous avoir un en-tête de fonction, comme la ligne suivante, et juste utiliser sizeof pour déterminer comment ...

Boost Bibliothèques et C ++ - mannequins

Boost Bibliothèques et C ++ - mannequins

De nombreux développeurs utilisent les bibliothèques Boost car elles fournissent un code de haute qualité une partie de Boost est en train d'être normalisée pour être incluse dans la bibliothèque standard. L'une des meilleures choses à propos de Boost est que la bibliothèque elle-même est gratuite. Le site Web de Boost tient à faire savoir aux développeurs qu'ils ne ...

Casser les programmes Mis à part C ++ - les mannequins

Casser les programmes Mis à part C ++ - les mannequins

Le programmeur peut casser un seul programme en fichiers sources distincts généralement appelés modules. Ces modules sont compilés séparément dans le code machine par le compilateur C ++, puis combinés au cours du processus de génération pour générer un seul programme. Ces modules sont également connus par les geeks du compilateur en tant qu'unités de traduction C ++. Le processus de combinaison ...

Le choix des éditeurs

Comment régler les paramètres via l'affichage d'informations sur votre Nikon D5200 - mannequins

Comment régler les paramètres via l'affichage d'informations sur votre Nikon D5200 - mannequins

L'information l'affichage ne sert pas uniquement à vérifier les paramètres de prise de vue actuels; Cela vous donne également un accès rapide à certains des paramètres les plus critiques. La touche de cette fonction est le bouton Information Edit, situé à l'arrière de l'appareil photo, à droite du viseur. Voici comment cela fonctionne: Afficher les informations ...

Met en surbrillance le mode d'affichage sur votre Nikon D7100 - mannequins

Met en surbrillance le mode d'affichage sur votre Nikon D7100 - mannequins

En mode d'affichage hautes lumières sur votre Nikon D7100 pense que l'appareil photo peut être surexposé clignoter dans le moniteur de l'appareil photo. L'un des problèmes de photo les plus difficiles à corriger dans un programme de retouche photo est connu sous le nom de surbrillance dans certains cercles et de surbrillance dans d'autres. Les deux termes signifient que les zones les plus claires de ...

Comment régler les paramètres via la bande de contrôle Nikon D3300 - les tétines

Comment régler les paramètres via la bande de contrôle Nikon D3300 - les tétines

Présentes en bas à gauche Au coin du Nikon D3300, le bouton i active une bande de contrôle qui vous donne un accès rapide à certains paramètres de prise de vue critiques. Voici comment utiliser la bande de contrôle pour la photographie dans le viseur: Affichez l'écran d'informations. Vous pouvez le faire en appuyant sur le bouton Info. Appuyez sur le bouton i. Le haut ...

Le choix des éditeurs

Comment imprimer vos diapositives et notes Keynote - Les tétines

Comment imprimer vos diapositives et notes Keynote - Les tétines

Lorsque vous créez une présentation dans Snow Leopard Application Keynote, vous ne pouvez pas toujours vouloir imprimer des documents. Cependant, si vous présentez un long diaporama avec beaucoup d'informations que vous aimeriez que votre public se souvienne, rien ne vaut les documents qui incluent des images réduites de vos diapositives (et, facultativement, les notes de votre présentateur). Vous pouvez ...

Comment réorganiser ou supprimer les signets - les mannequins

Comment réorganiser ou supprimer les signets - les mannequins

Safari enregistre vos signets et vos dossiers de signets dans l'ordre dans lequel vous les créez, en les ajoutant au bas d'une liste toujours croissante. Si vous continuez à ajouter des marque-pages au menu Signets sans les placer dans des dossiers, vous pouvez constater que vous avez un nombre de signets gazillion indiqué bon gré mal gré et que vous ne vous en souvenez plus ...

Pour ouvrir et utiliser l'iDisk de Snow Leopard - les mannequins

Pour ouvrir et utiliser l'iDisk de Snow Leopard - les mannequins

Avec un compte MobileMe actif, iDisk est disponible et vous fournit un espace de stockage supplémentaire. Pour connaître l'espace de stockage utilisé et pour configurer l'accès à votre dossier Public, ouvrez les Préférences Système, cliquez sur l'icône MobileMe, puis sur le bouton iDisk pour afficher les paramètres. Vos paramètres iDisk sont disponibles dans les Préférences Système. Le ...