Visualisez la matrice de corrélation par l'analyse des composants principaux avec Python

supposition

・ L'analyse Kepstram de fréquence Mel est effectuée en extrayant le refrain d'une certaine chanson pendant 30 secondes. ・ Demandez la divergence KL entre deux chansons. ・ ↑ Visualiser ・ Visualisez ce qui a été analysé pour les principaux composants ・ Succès s'il s'agit d'une matrice de corrélation

Les données

Comparez le Flying Get et le Heavy Rotation d'AKB48.

La divergence KL requise est de 16 x 16 dimensions

[[  95.31099625   91.15557772   56.59372546  112.20285226   94.41219084
   211.66976101   92.55439072  121.40280516   99.87466514   76.50081387
   176.93201868   91.81223113   85.27707457  105.14295556  125.49246929
   130.92378707]
 [  61.39054933   94.3470823    62.02704779  107.94425798  128.17543843
   309.20131854   90.24173322  107.68055813  109.89023764   50.34427017
   223.12270163   86.42437451   56.75452679  147.27774644  140.3949859
   183.75894278]
 [ 105.66621666   82.44161726   55.37485991   95.92704467   71.93089191
   139.99784461  103.5305553   104.49783045  101.97799459   97.42010348
   125.64532251   93.76049908   96.99409273   81.04788291  101.66325191
   106.66200182]
 [  72.58173889   88.12377418   61.89530358   86.95335195  138.72571321
   312.35785101   90.41438615  113.71909706  118.77928154   65.50818774
   214.00175004  113.10626452   52.0092669   135.97299857  148.63792688
   193.27541302]
 [  81.63626278   89.21027233   65.00120995  130.11972589   98.52470863
   225.72264868   91.47807602  108.48086909   82.19549295   60.1953677
   178.25090454   74.23288462   86.75234338  119.57743314  121.44196645
   130.71085354]
 [ 112.80955973   84.20293672   66.13356741  126.27130948   60.46044078
   108.98487829   94.30643082  114.27767382   85.12283233  100.1694529
   123.12525354   77.02509766  127.07893463   77.72584545   90.34136209
    77.31272758]
 [  98.67181854   79.9882436    60.27699343   95.48883179   57.14726547
   106.75881027   84.51898243  105.15391427   96.42217442  103.36893403
   115.31304902   81.72145888  113.92827284   70.10342339   79.76864038
    85.59532391]
 [ 124.00540056  102.49330066   69.46940492  117.7972943    65.92281076
   122.42686859  109.21028055  139.69386525  120.41384311  124.96030812
   147.40336555   98.98037785  136.61224331   82.25578681  101.68799841
   101.60176282]
 [ 141.02536187   88.11442192   69.53316552  123.67378376   67.97351381
   111.42573997  108.78252174  128.35881238  103.34373259  117.07395769
   122.29312541  102.2082161   129.57301791   78.33587137  110.68395808
    89.29850647]
 [ 105.83495569   71.55826188   60.84049422   93.8003492    77.06177205
   150.83061505   86.87908254  114.92215578  100.28873519   90.46477627
   134.67789323   96.1906124    94.92596407   79.28705749  103.96680059
   107.35708818]
 [ 166.21174246  116.41752126   94.20800055  148.72009053   61.35802568
    82.62043669  132.79504129  158.40382344  130.28234204  168.90800616
   131.6410988   114.45081907  191.85294161   84.81226445  106.30195098
    89.39215458]
 [  65.41033607   67.36512259   45.30766447   70.95585215   66.52775288
   140.37168343   69.72982884   81.57225523   87.82282686   67.15724897
   121.30574971   69.68125315   67.9074851    76.44269754   77.95359039
    98.47073341]
 [  93.18094019   77.11815575   56.16982799   74.68534181   85.72265797
   159.071974     86.2112096   110.31931314  105.62643628   95.54275032
   131.41625514  110.34370673   79.29159169   78.66368263  104.24385502
   122.82713447]
 [ 151.91835442   95.8700754    78.95950183  106.69723914   66.8965109
    83.65254447  116.18496042  145.24555922  122.32195846  154.69915632
   107.94328396  128.95019683  145.70673878   67.11698712  105.83368936
    95.34869169]
 [  77.74571566   68.14642544   49.52404341   90.78773066   80.01443641
   181.90010793   78.31102815   87.9577934    82.56031457   62.65435512
   139.59025763   74.27213077   71.97330552   91.39001379   99.40086861
   112.40496471]
 [  80.29039282   80.71088572   58.43570222  109.4784385    67.87835361
   153.32727136   84.13107423   99.60128605   93.34917358   74.31430677
   147.10640919   65.51538298   99.68106666   93.5848086    87.98955945
    99.60590161]]

Visualisation

Dessinez avec une carte thermique. Utilisez une bibliothèque appelée seaborn qui peut afficher des graphiques proprement.

def set(context="notebook", style="darkgrid", palette="deep", font="Hiragino Kaku Gothic Pro", font_scale=1, color_codes=False, rc=None):

Vous pouvez changer la partie police en une police japonaise.

Visualisez la divergence KL telle qu'elle est

python


#Données dimensionnelles 16x16
KLD = [  95.31099625   91.15557772   56.59372546  112.20285226   94.41219084
   211.66976101   92.55439072  121.40280516   99.87466514   76.50081387
   176.93201868   91.81223113   85.27707457  105.14295556  125.49246929
   130.92378707]
 [  61.39054933   94.3470823  ...


import seaborn as sns
import matplotlib.pyplot as plt

#Chaîne de caractères à afficher sur les axes X et Y
feature_names = ['%d' % i for i in range(KLD.shape[1])]

#Visualisation
sns.heatmap(KLD, annot=False, xticklabels=feature_names, yticklabels=feature_names)

plt.show()

figure_2-1.png

Il n'y a pas de règle car le composant principal n'est pas analysé.

Essayez de sortir la valeur dans chaque dimension.

python


#OK si l'annot est défini sur True
sns.heatmap(KLD, annot=True, xticklabels=feature_names, yticklabels=feature_names)

figure_2.png

Visualisez la matrice de corrélation en analysant les principaux composants

Utilisez une technique appelée PCA

python


from sklearn.decomposition import PCA
import numpy as np

# n_Si les composants ne sont pas spécifiés, les données seront analysées avec le nombre de dimensions.
pca = PCA()
pca.fit(KLD)
features = pca.fit_transform(KLD)
matrix = np.corrcoef(features.transpose())

sns.heatmap(matrix, annot=True, xticklabels=feature_names, yticklabels=feature_names)

plt.show()

figure_2-2.png

Les composantes diagonales sont toutes 1! Il satisfait les caractéristiques de la matrice de corrélation.

Compression dimensionnelle, analyse et visualisation des composants principaux

Ce qui précède a été réalisé tel quel en dimensions 16 × 16, mais Puisqu'il y a beaucoup de 16x16, je vais laisser tomber la dimension à 5x5.

python


#n_les composants deviennent le nombre de dimensions
pca = PCA(n_components=5)

figure_2-4.png

Facile à voir.

Recommended Posts

Visualisez la matrice de corrélation par l'analyse des composants principaux avec Python
2. Analyse multivariée décrite dans Python 3-2. Analyse en composantes principales (algorithme)
Analyse en composants principaux (PCA) et analyse en composants indépendants (ICA) avec python
2. Analyse multivariée expliquée dans Python 3-1. Analyse en composantes principales (scikit-learn)
Python: apprentissage non supervisé: analyse principale
[GWAS] Tracez les résultats de l'analyse en composantes principales (ACP) par PLINK
[Python] Visualisez les informations acquises par Wireshark
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
Ceci et cela de l'analyse en composantes principales
PRML Chapitre 12 Mise en œuvre de l'analyse principale bayésienne Python
[Python] Trouvez la matrice de translocation en notation d'inclusion
[Python] Comparaison de la théorie de l'analyse des composants principaux et de l'implémentation par Python (PCA, Kernel PCA, 2DPCA)
Analyse d'association en Python
Analyse en composantes principales (Analyse en composantes principales: ACP)
Analyse de régression avec Python
Clustering et analyse en composantes principales par méthode K-means (débutant)
Défiez l'analyse des composants principaux des données textuelles avec Python
Trouvez la matrice Hermite et ses valeurs uniques en Python
Décale la chaîne de l'alphabet de N caractères en Python
Analyse des composants principaux à l'aide de python de nim avec nimpy
Visualiser le modèle Keras avec Python 3.5
[Python] Ouvrez le fichier csv dans le dossier spécifié par pandas
Trouver des erreurs en Python
J'ai créé une classe pour obtenir le résultat de l'analyse par MeCab dans ndarray avec python
Analyse des contraintes symétriques axiales avec Python
Produit matriciel en python numpy
[Comprendre au plus court] Principes de base de Python pour l'analyse des données
Matrice transposée au standard Python
Commande Python dans "Analyse des réseaux sociaux apprise par l'open source"
Analyse de régression simple avec Python
Trouver les valeurs propres d'une vraie matrice symétrique en Python
Obtenez l'index de chaque élément de la matrice de confusion en Python
Trier par date en python
Une analyse simple des données de Bitcoin fournie par CoinMetrics en Python
[Python] PCA scratch dans l'exemple de "Introduction à la méthode d'analyse multivariée"
[Compris dans la figure] Gestion de l'environnement virtuel Python par Pipenv
Vérifiez si le hachage de mot de passe généré par PHP correspond en Python
Introduction aux bases de Python de l'apprentissage automatique (apprentissage non supervisé / analyse principale)
Activer le moteur d'analyse morphologique MeCab en Python3 (version mars 2016)
Effectuer une analyse morphologique dans l'environnement d'apprentissage automatique lancé par GCE
Trier les noms de fichiers obtenus par Python glob dans l'ordre numérique
Visualisez la fréquence des occurrences de mots dans les phrases avec Word Cloud. [Python]
[Python3] Enregistrez la matrice de moyenne et de covariance dans json avec les pandas
Jouez en accédant à l'API Riot Games en Python Première moitié
Traitement du langage 100 knock-85 (SVD tronqué): Compression dimensionnelle par analyse en composantes principales
Analyse des ondes cérébrales avec Python: tutoriel Python MNE
Première analyse de régression simple en Python
Python dans le navigateur: la recommandation de Brython
Enregistrez le fichier binaire en Python
Frappez l'API Sesami en Python
Obtenez le chemin du bureau en Python
Dessinez une matrice de diagramme de dispersion avec python
Obtenez le chemin du script en Python
Dans la commande python, python pointe vers python3.8