Ultima actualizare la 17 August 2020
reducerea dimensionalității este o tehnică de învățare nesupravegheată.
cu toate acestea, poate fi folosit ca o etapă de pre-procesare a transformării datelor pentru algoritmii de învățare automată pe seturi de date de clasificare și modelare predictivă de regresie cu algoritmi de învățare supravegheați.
există mulți algoritmi de reducere a dimensionalității din care să alegeți și niciun singur algoritm cel mai bun pentru toate cazurile. În schimb, este o idee bună să explorați o serie de algoritmi de reducere a dimensionalității și configurații diferite pentru fiecare algoritm.
în acest tutorial, veți descoperi cum să potriviți și să evaluați algoritmi de reducere a dimensionalității de top în Python.
după finalizarea acestui tutorial, veți ști:
- reducerea dimensionalității caută o reprezentare dimensională inferioară a datelor numerice de intrare care păstrează relațiile importante din date.
- există mulți algoritmi de reducere a dimensionalității și nu există o singură metodă cea mai bună pentru toate seturile de date.
- cum să implementați, să potriviți și să evaluați reducerea dimensionalității de top în Python cu Biblioteca scikit-learn machine learning.
începeți proiectul cu noua mea carte pregătirea datelor pentru învățarea automată, inclusiv tutoriale pas cu pas și fișierele de cod sursă Python pentru toate exemplele.
Să începem.
algoritmi de reducere a dimensionalității cu Python
foto de Bernard Spragg. NZ, unele drepturi rezervate.
- tutorial prezentare generală
- reducere dimensionalitate
- doriți să începeți pregătirea datelor?
- algoritmi de reducere a dimensionalității
- metode de algebră liniară
- metode de învățare multiplă
- Exemple de reducere a dimensionalității
- Scikit-Learn Library Installation
- set de date de clasificare
- analiza componentelor principale
- Singular Value Decomposition
- Linear Discriminant Analysis
- Isomap Embedding
- Locally Linear Embedding
- Modified Locally Linear Embedding
- Further Reading
- tutoriale
- API-uri
- rezumat
- ia un mâner pe pregătirea datelor moderne!
- pregătiți datele de învățare automată în câteva minute
- aduceți tehnici moderne de pregătire a datelor La proiectele dvs. de învățare automată
tutorial prezentare generală
acest tutorial este împărțit în trei părți; acestea sunt:
- reducerea dimensionalității
- algoritmi de reducere a dimensionalității
- Exemple de reducere a dimensionalității
- Scikit-aflați instalarea bibliotecii
- set de date de clasificare
- analiza componentelor principale
- descompunerea valorii singulare
- analiza discriminantă liniară
- încorporarea Isomap
- încorporarea liniară locală
- modificare locală liniară încorporare
reducere dimensionalitate
reducere dimensionalitate se referă la tehnici de reducere a numărului de variabile de intrare în datele de formare.
atunci când se ocupă de date cu dimensiuni ridicate, este adesea util să se reducă dimensionalitatea prin proiectarea datelor într-un subspațiu dimensional inferior care surprinde „esența” datelor. Aceasta se numește reducere a dimensionalității.
— pagina 11, învățarea automată: o perspectivă probabilistică, 2012.
dimensiunea ridicată ar putea însemna sute, mii sau chiar milioane de variabile de intrare.
Mai puține dimensiuni de intrare înseamnă adesea în mod corespunzător mai puțini parametri sau o structură mai simplă în modelul de învățare automată, denumit grade de libertate. Un model cu prea multe grade de libertate este probabil să suprasolicite setul de date de instruire și este posibil să nu funcționeze bine pe date noi.
este de dorit să existe modele simple care să generalizeze bine și, la rândul lor, date de intrare cu puține variabile de intrare. Acest lucru este valabil mai ales pentru modelele liniare în care numărul de intrări și gradele de libertate ale modelului sunt adesea strâns legate.
reducerea dimensionalității este o tehnică de preparare a datelor efectuată pe date înainte de modelare. Poate fi efectuată după curățarea datelor și scalarea datelor și înainte de formarea unui model predictiv.
… reducerea dimensionalității produce o reprezentare mai compactă și mai ușor de interpretat a conceptului țintă, concentrându-se atenția utilizatorului asupra celor mai relevante variabile.
— pagina 289, Data Mining: instrumente și tehnici practice de învățare automată, ediția a 4-a, 2016.
ca atare, orice reducere a dimensionalității efectuată pe datele de antrenament trebuie efectuată și pe date noi, cum ar fi un set de date de testare, un set de date de validare și date atunci când se face o predicție cu modelul final.
doriți să începeți pregătirea datelor?
Ia-Mi gratuit 7 zile de e-mail crash course acum (cu codul de probă).
Faceți clic pentru a vă înscrie și pentru a obține, de asemenea, o versiune gratuită PDF Ebook a cursului.
descărcați Mini-cursul gratuit
algoritmi de reducere a dimensionalității
există mulți algoritmi care pot fi utilizați pentru reducerea dimensionalității.
două clase principale de metode sunt cele extrase din algebra liniară și cele extrase din învățarea multiplă.
metode de algebră liniară
metodele de factorizare matricială extrase din câmpul algebrei liniare pot fi utilizate pentru dimensionalitate.
Pentru mai multe informații despre factorizarea matricei, consultați tutorialul:
- O introducere blândă în factorizarea matricei pentru învățarea automată
unele dintre metodele mai populare includ:
- analiza componentelor principale
- descompunerea valorii singulare
- factorizarea matricei non-Negative
metode de învățare multiplă
metodele de învățare multiplă caută o proiecție dimensională inferioară a intrărilor dimensionale înalte care captează proprietățile importante ale datelor de intrare.
unele dintre cele mai populare metode includ:
- Isomap Embedding
- local Linear Embedding
- multidimensional Scaling
- Spectral Embedding
- t-distribuit Stochastic Neighbor Embedding
fiecare algoritm oferă o abordare diferită a provocării de a descoperi relații naturale în date la dimensiuni mai mici.
nu există cel mai bun algoritm de reducere a dimensionalității și nici o modalitate ușoară de a găsi cel mai bun algoritm pentru datele dvs. fără a utiliza experimente controlate.
în acest tutorial, vom examina modul de utilizare a fiecărui subset al acestor algoritmi populari de reducere a dimensionalității din biblioteca scikit-learn.
exemplele vă vor oferi baza pentru a copia-lipi exemplele și a testa metodele pe propriile date.
nu ne vom scufunda în teoria din spatele modului în care funcționează algoritmii sau le vom compara direct. Pentru un bun punct de plecare pe acest subiect, a se vedea:
- descompunerea semnalelor în componente, scikit-learn API.
- multiple de învățare, scikit-learn API.
să ne scufundăm.
Exemple de reducere a dimensionalității
În această secțiune, vom examina modul de utilizare a algoritmilor populari de reducere a dimensionalității în scikit-learn.
aceasta include un exemplu de utilizare a tehnicii de reducere a dimensionalității ca transformare de date într-o conductă de modelare și evaluarea unei potriviri a modelului pe date.
exemplele sunt concepute pentru a vă copia-lipi în propriul proiect și pentru a aplica metodele la propriile date. Există câțiva algoritmi disponibili în biblioteca scikit-learn care nu sunt demonstrați deoarece nu pot fi folosiți ca transformare de date direct, având în vedere natura algoritmului.
ca atare, vom folosi un set de date de clasificare sintetică în fiecare exemplu.
Scikit-Learn Library Installation
În primul rând, să instalăm biblioteca.
nu treceți peste acest pas, deoarece va trebui să vă asigurați că aveți instalată cea mai recentă versiune.
puteți instala biblioteca scikit-learn folosind programul de instalare PIP Python, după cum urmează:
1
|
sudo pip install scikit-learn
|
For additional installation instructions specific to your platform, see:
- Installing scikit-learn
Next, let’s confirm that the library is installed and you are using a modern version.
Run the following script to print the library version number.
1
2
3
|
# check scikit-learn version
import sklearn
print(sklearn.__version__)
|
Running the example, you should see the following version number or higher.
1
|
0.23.0
|
set de date de clasificare
vom folosi funcția make_classification() pentru a crea un set de date de clasificare binar de testare.
setul de date va avea 1.000 de exemple cu 20 de caracteristici de intrare, dintre care 10 sunt informative și 10 sunt redundante. Aceasta oferă o oportunitate pentru fiecare tehnică de a identifica și elimina caracteristicile de intrare redundante.
sămânța aleatoare fixă pentru generatorul de numere pseudorandom ne asigură că generăm același set de date sintetice de fiecare dată când rulează codul.
An example of creating and summarizing the synthetic classification dataset is listed below.
1
2
3
4
5
6
|
# synthetic classification dataset
from sklearn.seturi de date Import make_classification
# define set de date
X, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_redundant=10, random_state=7)
# rezuma setul de date
print(X. shape, y.shape)
|
rularea exemplului creează setul de date și raportează numărul de rânduri și coloane care corespund așteptărilor noastre.
1
|
(1000, 20) (1000,)
|
It is a binary classification task and we will evaluate a LogisticRegression model after each dimensionality reduction transform.
modelul va fi evaluat folosind standardul aur de validare încrucișată stratificată repetată de 10 ori. Se va raporta precizia de clasificare a deviației medii și standard pentru toate faldurile și repetările.
exemplul de mai jos evaluează modelul din setul de date brute ca punct de comparație.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# evaluați modelul de regresie logistică pe date brute
din valoarea importului NumPy
din numpy import std
din sklearn.seturi de date Import make_classification
din sklearn.model_selection import cross_val_score
din sklearn.model_selection import RepeatedStratifiedKFold
din sklearn.linear_model import LogisticRegression
# define dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_redundant=10, random_state=7)
# define the model
model = LogisticRegression()
# evaluate model
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
n_scores = cross_val_score(model, X, y, scoring=’accuracy’, cv=cv, n_jobs=-1)
# report performance
print(‘Accuracy: %.3f (%.3f) ‘ % (mean( n_scores), std(n_scores)))
|
rularea exemplului evaluează regresia logistică pe setul de date brute cu toate cele 20 de coloane, obținând o precizie de clasificare de aproximativ 82,4%.
o transformare reușită de reducere a dimensionalității pe aceste date ar trebui să conducă la un model care are o precizie mai bună decât această linie de bază, deși acest lucru poate să nu fie posibil cu toate tehnicile.
notă: nu încercăm să „rezolvăm” acest set de date, ci doar să oferim exemple de lucru pe care le puteți utiliza ca punct de plecare.
1
|
Accuracy: 0.824 (0.034)
|
Next, we can start looking at examples of dimensionality reduction algorithms applied to this dataset.
I have made some minimal attempts to tune each method to the dataset. Fiecare metodă de reducere a dimensionalității va fi configurată pentru a reduce cele 20 de coloane de intrare la 10 acolo unde este posibil.
vom folosi o conductă pentru a combina transformarea și modelul de date într-o unitate atomică care poate fi evaluată folosind procedura de validare încrucișată; de exemplu:
1
2
3
4
|
…
# define the pipeline
steps =
model = Pipeline(steps=steps)
|
Let’s get started.
Can you get a better result for one of the algorithms?
Lasă-mă să știu în comentariile de mai jos.
analiza componentelor principale
analiza componentelor principale, sau PCA, ar putea fi cea mai populară tehnică pentru reducerea dimensionalității cu date dense (puține valori zero).
pentru mai multe despre cum funcționează PCA, consultați tutorialul:
- cum se calculează analiza componentelor principale (PCA) de la zero în Python
biblioteca scikit-learn oferă implementarea clasei PCA a analizei componentelor principale care poate fi utilizată ca transformare a datelor de reducere a dimensionalității. Argumentul” n_components ” poate fi setat pentru a configura numărul de dimensiuni dorite în ieșirea transformării.
exemplul complet de evaluare a unui model cu reducerea dimensionalității PCA este prezentat mai jos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# evaluați PCA cu algoritmul de regresie logistică pentru clasificare
din import numpy medie
din import numpy std
din sklearn.seturi de date Import make_classification
din sklearn.model_selection import cross_val_score
din sklearn.model_selection import RepeatedStratifiedKFold
din sklearn.pipeline import Pipeline
din sklearn.descompunerea import PCA
din sklearn.linear_model import LogisticRegression
# define dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_redundant=10, random_state=7)
# define the pipeline
steps =
model = Pipeline(steps=steps)
# evaluate model
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
n_scores = cross_val_score(model, X, y, scoring=’accuracy’, cv=cv, n_jobs=-1)
# report performance
print(‘Accuracy: %.3f (%.3f) ‘ % (mean( n_scores), std(n_scores)))
|
rularea exemplului evaluează conducta de modelare cu reducerea dimensionalității și un model predictiv de regresie logistică.
notă: rezultatele dvs. pot varia în funcție de natura stocastică a algoritmului sau a procedurii de evaluare sau de diferențele de precizie numerică. Luați în considerare rularea exemplului de câteva ori și comparați rezultatul mediu.
în acest caz, nu vedem nicio creștere a performanței modelului în utilizarea transformării PCA.
1
|
Accuracy: 0.824 (0.034)
|
Singular Value Decomposition
Singular Value Decomposition, or SVD, is one of the most popular techniques for dimensionality reduction for sparse data (data with many zero values).
Pentru mai multe despre modul în care funcționează SVD, consultați tutorialul:
- cum se calculează SVD de la zero cu Python
biblioteca scikit-learn oferă implementarea clasei Trunchiatedsvd a descompunerii valorii singulare care poate fi utilizată ca transformare a datelor de reducere a dimensionalității. Argumentul” n_components ” poate fi setat pentru a configura numărul de dimensiuni dorite în ieșirea transformării.
exemplul complet de evaluare a unui model cu reducerea dimensionalității SVD este prezentat mai jos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# evaluați SVD cu algoritmul de regresie logistică pentru clasificare
din import numpy medie
din import numpy std
din sklearn.seturi de date Import make_classification
din sklearn.model_selection import cross_val_score
din sklearn.model_selection import RepeatedStratifiedKFold
din sklearn.pipeline import Pipeline
din sklearn.descompunerea import Trunchiatedsvd
din sklearn.linear_model import LogisticRegression
# define dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_redundant=10, random_state=7)
# define the pipeline
steps =
model = Pipeline(steps=steps)
# evaluate model
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
n_scores = cross_val_score(model, X, y, scoring=’accuracy’, cv=cv, n_jobs=-1)
# report performance
print(‘Accuracy: %.3f (%.3f) ‘ % (mean( n_scores), std(n_scores)))
|
rularea exemplului evaluează conducta de modelare cu reducerea dimensionalității și un model predictiv de regresie logistică.
notă: rezultatele dvs. pot varia în funcție de natura stocastică a algoritmului sau a procedurii de evaluare sau de diferențele de precizie numerică. Luați în considerare rularea exemplului de câteva ori și comparați rezultatul mediu.
în acest caz, nu vedem nicio creștere a performanței modelului în utilizarea transformării SVD.
1
|
Accuracy: 0.824 (0.034)
|
Linear Discriminant Analysis
Linear Discriminant Analysis, or LDA, is a multi-class classification algorithm that can be used for dimensionality reduction.
Numărul de dimensiuni pentru proiecție este limitat la 1 și C-1, unde C este numărul de clase. În acest caz, setul nostru de date este o problemă de clasificare binară (două clase), limitând numărul de dimensiuni la 1.
pentru mai multe despre LDA pentru reducerea dimensionalității, consultați tutorialul:
- analiza discriminantă liniară pentru reducerea dimensionalității în Python
biblioteca scikit-learn oferă implementarea clasei LinearDiscriminantAnalysis a analizei discriminante liniare care poate fi utilizată ca transformare a datelor de reducere a dimensionalității. Argumentul” n_components ” poate fi setat pentru a configura numărul de dimensiuni dorite în ieșirea transformării.
exemplul complet de evaluare a unui model cu reducerea dimensionalității LDA este prezentat mai jos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# evaluați Lda cu algoritmul de regresie logistică pentru clasificare
din import numpy medie
din import numpy std
din sklearn.seturi de date Import make_classification
din sklearn.model_selection import cross_val_score
din sklearn.model_selection import RepeatedStratifiedKFold
din sklearn.pipeline import Pipeline
din sklearn.discriminant_analysis import LinearDiscriminantAnalysis
din sklearn.linear_model import LogisticRegression
# define dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_redundant=10, random_state=7)
# define the pipeline
steps =
model = Pipeline(steps=steps)
# evaluate model
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
n_scores = cross_val_score(model, X, y, scoring=’accuracy’, cv=cv, n_jobs=-1)
# report performance
print(‘Accuracy: %.3f (%.3f) ‘ % (mean( n_scores), std(n_scores)))
|
rularea exemplului evaluează conducta de modelare cu reducerea dimensionalității și un model predictiv de regresie logistică.
notă: rezultatele dvs. pot varia în funcție de natura stocastică a algoritmului sau a procedurii de evaluare sau de diferențele de precizie numerică. Luați în considerare rularea exemplului de câteva ori și comparați rezultatul mediu.
în acest caz, putem observa o ușoară creștere a performanței în comparație cu potrivirea de bază a datelor brute.
1
|
Accuracy: 0.825 (0.034)
|
Isomap Embedding
Isomap Embedding, or Isomap, creates an embedding of the dataset and attempts to preserve the relationships in the dataset.
biblioteca scikit-learn oferă implementarea clasei Isomap a încorporării Isomap care poate fi utilizată ca transformare a datelor de reducere a dimensionalității. Argumentul” n_components ” poate fi setat pentru a configura numărul de dimensiuni dorite în ieșirea transformării.
exemplul complet de evaluare a unui model cu reducerea dimensionalității SVD este prezentat mai jos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# evaluați isomap cu algoritmul de regresie logistică pentru clasificare
din import numpy medie
din import numpy std
din sklearn.seturi de date Import make_classification
din sklearn.model_selection import cross_val_score
din sklearn.model_selection import RepeatedStratifiedKFold
din sklearn.pipeline import Pipeline
din sklearn.distribuitor de import Isomap
din sklearn.linear_model import LogisticRegression
# define dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_redundant=10, random_state=7)
# define the pipeline
steps =
model = Pipeline(steps=steps)
# evaluate model
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
n_scores = cross_val_score(model, X, y, scoring=’accuracy’, cv=cv, n_jobs=-1)
# report performance
print(‘Accuracy: %.3f (%.3f) ‘ % (mean( n_scores), std(n_scores)))
|
rularea exemplului evaluează conducta de modelare cu reducerea dimensionalității și un model predictiv de regresie logistică.
notă: rezultatele dvs. pot varia în funcție de natura stocastică a algoritmului sau a procedurii de evaluare sau de diferențele de precizie numerică. Luați în considerare rularea exemplului de câteva ori și comparați rezultatul mediu.
în acest caz, putem vedea o creștere a performanței cu transformarea datelor Isomap în comparație cu potrivirea de bază a datelor brute.
1
|
Accuracy: 0.888 (0.029)
|
Locally Linear Embedding
Locally Linear Embedding, or LLE, creates an embedding of the dataset and attempts to preserve the relationships between neighborhoods in the dataset.
biblioteca scikit-learn oferă implementarea clasei LocallyLinearEmbedding a încorporării liniare locale care poate fi utilizată ca transformare a datelor de reducere a dimensionalității. Argumentul „n_components” poate fi setat pentru a configura numărul de dimensiuni dorite în ieșirea transformării
exemplul complet de evaluare a unui model cu reducerea dimensionalității LLE este enumerat mai jos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# evaluați regresiile lle și logistice pentru taxonomie
din import numpy înseamnă
din import numpy std
din sklearn.seturi de date Import make_classification
din sklearn.model_selection import cross_val_score
din sklearn.model_selection import RepeatedStratifiedKFold
din sklearn.pipeline import Pipeline
din sklearn.distribuitor import LocallyLinearEmbedding
din sklearn.linear_model import LogisticRegression
# define dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_redundant=10, random_state=7)
# define the pipeline
steps =
model = Pipeline(steps=steps)
# evaluate model
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
n_scores = cross_val_score(model, X, y, scoring=’accuracy’, cv=cv, n_jobs=-1)
# report performance
print(‘Accuracy: %.3f (%.3f) ‘ % (mean( n_scores), std(n_scores)))
|
rularea exemplului evaluează conducta de modelare cu reducerea dimensionalității și un model predictiv de regresie logistică.
notă: rezultatele dvs. pot varia în funcție de natura stocastică a algoritmului sau a procedurii de evaluare sau de diferențele de precizie numerică. Luați în considerare rularea exemplului de câteva ori și comparați rezultatul mediu.
în acest caz, putem vedea o creștere a performanței cu transformarea datelor LLE în comparație cu potrivirea de bază a datelor brute.
1
|
Accuracy: 0.886 (0.028)
|
Modified Locally Linear Embedding
Modified Locally Linear Embedding, or Modified LLE, is an extension of Locally Linear Embedding that creates multiple weighting vectors for each neighborhood.
biblioteca scikit-learn oferă implementarea clasei LocallyLinearEmbedding a încorporării liniare locale modificate care poate fi utilizată ca transformare a datelor de reducere a dimensionalității. Argumentul ” metodă „trebuie setat la” modificat „și argumentul” n_components „poate fi setat pentru a configura numărul de dimensiuni dorite în ieșirea transformării care trebuie să fie mai mic decât argumentul „n_neighbors”.
exemplul complet de evaluare a unui model cu reducere a dimensionalității lle modificată este prezentat mai jos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# evaluați regresiile lle și logistice modificate pentru clasificare
din import numpy medie
din import numpy std
din sklearn.seturi de date Import make_classification
din sklearn.model_selection import cross_val_score
din sklearn.model_selection import RepeatedStratifiedKFold
din sklearn.pipeline import Pipeline
din sklearn.distribuitor import LocallyLinearEmbedding
din sklearn.linear_model import LogisticRegression
# define dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_redundant=10, random_state=7)
# define the pipeline
steps =
model = Pipeline(steps=steps)
# evaluate model
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
n_scores = cross_val_score(model, X, y, scoring=’accuracy’, cv=cv, n_jobs=-1)
# report performance
print(‘Accuracy: %.3f (%.3f) ‘ % (mean( n_scores), std(n_scores)))
|
rularea exemplului evaluează conducta de modelare cu reducerea dimensionalității și un model predictiv de regresie logistică.
notă: rezultatele dvs. pot varia în funcție de natura stocastică a algoritmului sau a procedurii de evaluare sau de diferențele de precizie numerică. Luați în considerare rularea exemplului de câteva ori și comparați rezultatul mediu.
în acest caz, putem vedea o creștere a performanței cu transformarea de date lle modificată în comparație cu potrivirea de bază a datelor brute.
1
|
Accuracy: 0.846 (0.036)
|
Further Reading
This section provides more resources on the topic if you are looking to go deeper.
tutoriale
- Introducere în reducerea dimensionalității pentru învățarea automată
- analiza principală a componentelor pentru reducerea dimensionalității în Python
- descompunerea valorii singulare pentru reducerea dimensionalității în Python
- analiza discriminantă liniară pentru reducerea dimensionalității în Python
API-uri
- descompunerea semnalelor în componente, API scikit-learn.
- multiple de învățare, scikit-learn API.
rezumat
în acest tutorial, ați descoperit cum să potriviți și să evaluați algoritmi de reducere a dimensionalității de top în Python.
Mai exact, ați învățat:
- reducerea dimensionalității caută o reprezentare dimensională inferioară a datelor numerice de intrare care păstrează relațiile importante din date.
- există mulți algoritmi de reducere a dimensionalității și nu există o singură metodă cea mai bună pentru toate seturile de date.
- cum să implementați, să potriviți și să evaluați reducerea dimensionalității de top în Python cu Biblioteca scikit-learn machine learning.
aveți întrebări?
Pune-ți întrebările în comentariile de mai jos și voi face tot posibilul să răspund.
ia un mâner pe pregătirea datelor moderne!
pregătiți datele de învățare automată în câteva minute
…cu doar câteva linii de cod python
Descoperiți cum în noua mea carte electronică:
Pregătirea datelor pentru învățarea automată
oferă tutoriale de auto-studiu cu cod complet de lucru pe:
selectarea caracteristicilor, RFE, curățarea datelor, transformarea datelor, scalarea, reducerea dimensionalității și multe altele…
aduceți tehnici moderne de pregătire a datelor La
proiectele dvs. de învățare automată
vedeți ce este în interior