Alapvető lineáris algebra az adattudományhoz és a gépi tanuláshoz

Forrás csomópont: 1852280

Kép: Benjamin O. Tayo.

A lineáris algebra a matematikának egy olyan ága, amely rendkívül hasznos az adattudományban és a gépi tanulásban. A lineáris algebra a legfontosabb matematikai készség a gépi tanulásban. A legtöbb gépi tanulási modell kifejezhető mátrix formában. Magát az adatkészletet gyakran mátrixként ábrázolják. A lineáris algebrát adat-előfeldolgozásban, adattranszformációban és modellértékelésben használják. Itt vannak azok a témák, amelyeket ismernie kell:

  • Vektor
  • mátrixok
  • Egy mátrix transzponálása
  • Egy mátrix inverze
  • Egy mátrix meghatározója
  • Egy mátrix nyoma
  • Dot termék
  • sajátértékei
  • Sajátvektorok

Ebben a cikkben a lineáris algebra adattudományban és gépi tanulásban való alkalmazását mutatjuk be a tech stocks adatkészlet segítségével, amely megtalálható. itt.

1. Lineáris algebra adat-előfeldolgozáshoz

 Kezdjük azzal, hogy bemutatjuk, hogyan használják a lineáris algebrát az adatok előfeldolgozásában.

1.1 Importálja a szükséges könyvtárakat a lineáris algebrához

import numpy mint np import panda mint pd import pylab import matplotlib.pyplot mint plt import seaborn as sns 

 

1.2 Adatkészlet és megjelenítési jellemzők olvasása

data = pd.read_csv("tech-stocks-04-2021.csv") data.head() 

 Táblázat 1. Részvényárak a kiválasztott részvényárfolyamokhoz 16 áprilisának első 2021 napjában.

print(data.shape) kimenet = (11,5) 

 A adatok.alak A funkció lehetővé teszi az adatkészletünk méretének megismerését. Ebben az esetben az adatkészlet 5 jellemzővel rendelkezik (dátum, AAPL, TSLA, GOOGL és AMZN), és mindegyik jellemzőhöz 11 megfigyelés tartozik. találka a 2021. áprilisi kereskedési napokra vonatkozik (április 16-ig). Az AAPL, a TSLA, a GOOGL és az AMZN az Apple, a Tesla, a Google és az Amazon részvényeinek záró árfolyamai.

1.3 Adatvizualizáció

Az adatvizualizáció végrehajtásához meg kell határoznunk oszlopmátrixok a megjelenítendő funkciókhoz:

x = adat['dátum'] y = adat['TSLA'] plt.plot(x,y) plt.xticks(np.array([0,4,9]), ['ápr. 1.','ápr. 8. ','április 15.']) plt.title('Tesla részvényárfolyama (dollárban) 2021 áprilisában',size=14) plt.show() 

Ábra 1. A Tesla részvényárfolyama az első 16 napban 2021 áprilisában.

2. Kovariancia mátrix

A kovariancia mátrix az adattudomány és a gépi tanulás egyik legfontosabb mátrixa. Információt ad a jellemzők közötti együttmozgásról (korrelációról). Tegyük fel, hogy van egy tulajdonságmátrixunk 4 jellemzők és ábrán látható megfigyeléseket Táblázat 2:

Táblázat 2. 4 változós mátrixot és n megfigyelést tartalmaz.

A jellemzők közötti összefüggések megjelenítéséhez létrehozhatunk egy szóródási párdiagramot:

cols=data.columns[1:5] print(cols) output = Index(['AAPL', 'TSLA', 'GOOGL', 'AMZN'], dtype='object') sns.pairplot(data[cols] , magasság=3.0) 

ábra 2. Scatter pairplot kiválasztott technológiai részvényekhez.

A jellemzők közötti korreláció mértékének (multikollinearitás) számszerűsítéséhez kiszámíthatjuk a kovariancia mátrixot a következő egyenlet segítségével:

ahol  és  a jellemző átlaga és szórása. Ez az egyenlet azt jelzi, hogy amikor a jellemzők szabványosak, a kovariancia mátrix egyszerűen a pont termék jellemzők között.

Mátrix formában a kovariancia mátrix 4 x 4 valós és szimmetrikus mátrixként fejezhető ki:

Ez a mátrix diagonalizálható az a egységes átalakulás, amelyet főkomponens-elemzésnek (PCA) is neveznek, a következők eléréséhez:

Mivel a mátrix nyoma egységes transzformáció esetén invariáns marad, megfigyeljük, hogy az átlós mátrix sajátértékeinek összege megegyezik az X jellemzőkben foglalt teljes varianciával.1, X2, X3és X4.

2.1 A technológiai részvények kovarianciamátrixának kiszámítása

from sklearn.preprocessing import StandardScaler stdsc = StandardScaler() X_std = stdsc.fit_transform(data[cols].iloc[:,range(0,4)].values) cov_mat = np.cov(X_std.T, bias= True) 

Vegye figyelembe, hogy ez a transzponálás a szabványosított mátrixból.

2.2 A kovariancia mátrix megjelenítése

plt.figure(figsize=(8,8)) sns.set(font_scale=1.2) hm = sns.heatmap(cov_mat, cbar=True, annot=True, square=True, fmt='.2f', annot_kws={ 'size': 12}, yticklabels=cols, xticklabels=cols) plt.title('Korrelációs együtthatókat mutató kovarianciamátrix') plt.tight_layout() plt.show() 

ábra 3. Kovariancia mátrix diagram a kiválasztott technológiai részvényekhez.

A 3. ábrán megfigyelhetjük, hogy az AAPL erősen korrelál a GOOGL-lel és az AMZN-nel, és gyengén a TSLA-val. A TSLA általában gyengén korrelál az AAPL-lel, a GOOGL-lel és az AMZN-nel, míg az AAPL, a GOOGL és az AMZN erősen korrelál egymással.

2.3 Számítsa ki a kovarianciamátrix sajátértékeit

np.linalg.eigvals(cov_mat) output = array([3.41582227, 0.4527295 , 0.02045092, 0.11099732]) np.sum(np.linalg.eigvals(cov_mat))4.000000000000006 output cov_mat) kimenet = 4.000000000000001 

Megfigyeljük, hogy a kovarianciamátrix nyomvonala megegyezik a sajátértékek összegével, ahogy azt vártuk.

2.4 Számítsa ki a kumulatív szórást

Mivel a mátrix nyomvonala invariáns marad unitárius transzformáció esetén, megfigyeljük, hogy az átlós mátrix sajátértékeinek összege megegyezik az X jellemzőkben foglalt teljes varianciával.1, X2, X3és X4. Ezért a következő mennyiségeket definiálhatjuk:

 

Vedd észre, hogy mikor p = 4, a kumulatív variancia a vártnak megfelelően 1 lesz.

eigen = np.linalg.eigvals(cov_mat) cum_var = saját/np.sum(eigen) print(cum_var) output = [0.85395557 0.11318237 0.00511273 0.02774933] print(cu_1.0 varsum) print(np.XNUMX varsum) 

 Megfigyeljük a kumulatív variancia (cum_var), hogy a variancia 85%-át az első sajátérték, 11%-át a második sajátérték tartalmazza. Ez azt jelenti, hogy a PCA implementálásakor csak az első két fő komponens használható, mivel a teljes variancia 97%-át ez a két komponens adja. Ez lényegében csökkentheti a jellemzőtér méretét 2-ről 4-re, amikor a PCA megvalósul.

3. Lineáris regressziós mátrix

Tegyük fel, hogy van egy adatkészletünk, amely 4 előrejelző tulajdonsággal és n megfigyeléseket, az alábbiak szerint.

Táblázat 3. 4 változós mátrixot és n megfigyelést tartalmaz. Az 5. oszlop a célváltozó (y).

Több regressziós modellt szeretnénk felépíteni a y értékek (5. oszlop). Modellünk tehát a formában fejezhető ki

Mátrix formában ez az egyenlet így írható fel

ahol X az (n x 4) jellemző mátrix, w a (4 x 1) mátrix, amely a meghatározandó regressziós együtthatókat reprezentálja, és y az (n x 1) mátrix, amely az y célváltozó n megfigyelését tartalmazza.

Ne feledje, hogy X egy téglalap alakú mátrix, így a fenti egyenletet nem tudjuk megoldani az inverzével X.

Átalakít X négyzetmátrixba megszorozzuk az egyenletünk bal és jobb oldalát transzponálás of X, azaz

Ez az egyenlet így is kifejezhető

ahol

a (4×4) regressziós mátrix. Nyilvánvaló, hogy ezt megfigyeljük R egy valós és szimmetrikus mátrix. Figyeljük meg, hogy a lineáris algebrában két mátrix szorzatának transzponálása a következő összefüggésnek engedelmeskedik

Most, hogy csökkentettük a regressziós problémánkat, és a (4×4) valós, szimmetrikus és invertálható regressziós mátrixban fejeztük ki R, egyszerűen megmutatható, hogy a regressziós egyenlet pontos megoldása akkor

Példák a folytonos és diszkrét változók előrejelzésére szolgáló regressziós elemzésre a következők:

A lineáris regresszió alapjai abszolút kezdőknek

Perceptron osztályozó készítése a legkisebb négyzetek módszerével

4. Lineáris diszkriminancia-elemző mátrix

Egy másik példa a valós és szimmetrikus mátrixra az adattudományban a Linear Discriminant Analysis (LDA) mátrix. Ez a mátrix a következő formában fejezhető ki:

ahol SW a jellemzőn belüli szórási mátrix, és Sa jellemzők közötti szórási mátrix. Mivel mindkét mátrix SW és a SB valódiak és szimmetrikusak, ebből következik L is valós és szimmetrikus. Az átlósítás L olyan jellemző alteret hoz létre, amely optimalizálja az osztályok szétválaszthatóságát és csökkenti a dimenziót. Ezért az LDA felügyelt algoritmus, míg a PCA nem.

Az LDA megvalósításával kapcsolatos további részletekért tekintse meg a következő hivatkozásokat:

Gépi tanulás: dimenziócsökkentés lineáris diszkriminancia-analízissel

GitHub adattár az LDA megvalósításához Iris adatkészlet használatával

Python gépi tanulás, Sebastian Raschka, 3. kiadás (5. fejezet)

Összegzésként

Összefoglalva, a lineáris algebra számos alkalmazását tárgyaltuk az adattudományban és a gépi tanulásban. A tech stocks adatkészlet segítségével olyan fontos fogalmakat illusztráltunk, mint a mátrix mérete, oszlopmátrixok, négyzetmátrixok, kovarianciamátrix, mátrix transzponálása, sajátértékek, pontszorzatok stb. A lineáris algebra az adattudomány és a gépészet alapvető eszköze. tanulás. Így az adattudomány iránt érdeklődő kezdőknek meg kell ismerkedniük a lineáris algebra alapvető fogalmaival.

Kapcsolódó:

Forrás: https://www.kdnuggets.com/2021/05/essential-linear-algebra-data-science-machine-learning.html

Időbélyeg:

Még több KDnuggets