PCA – Analýza hlavních komponent

Informací je někdy víc než moc a kdo dostal někdy od šéfa za úkol nakreslit do grafu funkci o dvou stech proměnných, pěkně se zapotil, než našel kouzelnou metodu PCA. To má za úkol ‘shrinknout’ libovolný počet porměnných (respektive vlivů) na obvyklé 2, které se dají hezky vyobrazit.

Tady je videíčko od pána Ravala aneb if your mama is so fat, she is not embeddable in 3D space…

Dimensionality Reduction – The Math of Intelligence #5

Tady je videíčko od Statquest, které jde více do detailu samotného mechanismu PCA

StatQuest: Principal Component Analysis (PCA), Step-by-Step

Na závěr to nejdůležitější. Samotný kód v Pythonu

#%%
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.decomposition import PCA

# Cteni dat z csv do dataframu
dat = pd.read_csv("data/data.csv")

# Prevedeni na potrebny format - transformace záleží csv
datta = dat.T
data = datta.values

# PCA
datauT = data [1:,:]
datau = datauT.T
pca_2 = PCA(2)

plot_columnsT = pca_2.fit_transform(datau)
plot_columns = plot_columnsT.T
pca = plot_columns.tolist()

plt.subplot(1, 2, 1)
plt.plot(pca[0]);plt.grid(); plt.xlabel('t')
plt.ylabel('Kanonická proměnná 1')

plt.subplot(1, 2, 2)
plt.plot(pca[1]);plt.grid(); plt.xlabel('t')
plt.ylabel('Kanonická proměnná 2')

plt.suptitle("PCA - Analýza hlavních komponent", fontsize=20)
plt.tight_layout()
plt.subplots_adjust(top=0.88)
plt.show()

Výsledek je vidět na dalším obrázku. Z původních 6 dimenzí nyní máme 2, které nesou většinu důležitých informací jako data původní.
PCA

Napsat komentář

Vaše emailová adresa nebude zveřejněna.