Senast uppdaterad den 17 augusti 2020
Dimensionalitetsreduktion är en oövervakad inlärningsteknik.
ändå kan den användas som ett datatransformering förbehandlingssteg för maskininlärningsalgoritmer på klassificering och regression prediktiv modellering datamängder med övervakade inlärningsalgoritmer.
det finns många dimensionalitetsreduceringsalgoritmer att välja mellan och ingen enskild bästa algoritm för alla fall. Istället är det bra att utforska en rad dimensionalitetsreduceringsalgoritmer och olika konfigurationer för varje algoritm.
i denna handledning kommer du att upptäcka hur du passar och utvärderar toppdimensionalitetsreduceringsalgoritmer i Python.
När du har slutfört denna handledning kommer du att veta:
- Dimensionalitetsreduktion söker en lägre dimensionell representation av numeriska inmatningsdata som bevarar de framträdande relationerna i data.
- Det finns många olika dimensionalitetsreduceringsalgoritmer och ingen enskild bästa metod för alla datamängder.
- hur man implementerar, passar och utvärderar toppdimensionalitetsreduktion i Python med scikit-learn machine learning library.
kickstarta ditt projekt med min nya bokdataberedning för maskininlärning, inklusive steg-för-steg-handledning och Python-källkodsfilerna för alla exempel.
Låt oss komma igång.
Dimensionalitetsreduceringsalgoritmer med Python
foto av Bernard Spragg. NZ, vissa rättigheter reserverade.
- handledning Översikt
- Dimensionalitetsreduktion
- vill du komma igång med Databeredning?
- Dimensionalitetsreduceringsalgoritmer
- linjära Algebrametoder
- Manifold Learning Methods
- exempel på Dimensionalitetsreduktion
- Scikit-lär dig Biblioteksinstallation
- Klassificeringsdataset
- Principal Component Analysis
- Singular Value Decomposition
- Linear Discriminant Analysis
- Isomap Embedding
- Locally Linear Embedding
- Modified Locally Linear Embedding
- Further Reading
- Tutorials
- API: er
- sammanfattning
- ta hand om Modern Databeredning!
- Förbered dina Maskininlärningsdata på några minuter
- ta med moderna Databeredningstekniker till dina Maskininlärningsprojekt
handledning Översikt
denna handledning är uppdelad i tre delar; de är:
- Dimensionalitetsreduktion
- Dimensionalitetsreduceringsalgoritmer
- exempel på Dimensionalitetsreduktion
- Scikit-lär dig Biblioteksinstallation
- Klassificeringsdataset
- Principal Component Analysis
- Singular Value Decomposition
- linjär Diskrimineringsanalys
- Isomap-inbäddning
- lokalt linjär inbäddning
- modifierad lokalt linjär inbäddning
- inbäddning
Dimensionalitetsreduktion
dimensionalitetsreduktion avser tekniker för att minska antalet inmatningsvariabler i träningsdata.
vid hantering av högdimensionella data är det ofta användbart att minska dimensionen genom att projicera data till ett lägre dimensionellt underrum som fångar” essensen ” av data. Detta kallas dimensioneringsreduktion.
— sidan 11, maskininlärning: ett probabilistiskt perspektiv, 2012.
Högdimensionalitet kan innebära hundratals, tusentals eller till och med miljoner inmatningsvariabler.
färre ingångsdimensioner betyder ofta motsvarande färre parametrar eller en enklare struktur i maskininlärningsmodellen, kallad frihetsgrader. En modell med för många frihetsgrader kommer sannolikt att överpassa träningsdatasetet och kanske inte fungerar bra på nya data.
det är önskvärt att ha enkla modeller som generaliserar väl, och i sin tur matar in data med få ingångsvariabler. Detta gäller särskilt för linjära modeller där antalet ingångar och frihetsgraderna för modellen ofta är nära besläktade.
Dimensionalitetsreduktion är en databeredningsteknik som utförs på data före modellering. Det kan utföras efter data rengöring och data skalning och innan utbildning en prediktiv modell.
… dimensionalitetsreduktion ger en mer kompakt, lättare tolkningsbar representation av målkonceptet, med fokus på användarens uppmärksamhet på de mest relevanta variablerna.
— sidan 289, Data Mining: praktiska Maskininlärningsverktyg och tekniker, 4: e upplagan, 2016.
som sådan måste varje dimensioneringsreduktion som utförs på träningsdata också utföras på nya data, såsom ett testdataset, valideringsdataset och data när man gör en förutsägelse med den slutliga modellen.
vill du komma igång med Databeredning?
Ta min gratis 7-dagars e-postkraschkurs nu (med provkod).
Klicka för att registrera dig och få en gratis PDF-e-bokversion av kursen.
ladda ner din gratis minikurs
Dimensionalitetsreduceringsalgoritmer
det finns många algoritmer som kan användas för dimensionalitetsreducering.
två huvudklasser av metoder är de som dras från linjär algebra och de som dras från mångfaldigt lärande.
linjära Algebrametoder
Matrisfaktoriseringsmetoder hämtade från fältet linjär algebra kan användas för dimensionalitet.
För mer information om matrisfaktorisering, se handledningen:
- en mild introduktion till matrisfaktorisering för maskininlärning
några av de mer populära metoderna inkluderar:
- Principal Components Analysis
- Singular Value Decomposition
- icke-negativ matrisfaktorisering
Manifold Learning Methods
Manifold learning methods söker en lägre dimensionell projektion av högdimensionell ingång som fångar de framträdande egenskaperna hos ingångsdata.
några av de mer populära metoderna inkluderar:
- Isomap-inbäddning
- lokalt linjär inbäddning
- flerdimensionell skalning
- spektral inbäddning
- t-distribuerad stokastisk granne inbäddning
varje algoritm erbjuder ett annat tillvägagångssätt för utmaningen att upptäcka naturliga relationer i data vid lägre dimensioner.
det finns ingen bästa dimensionalitetsreduceringsalgoritm och inget enkelt sätt att hitta den bästa algoritmen för dina data utan att använda kontrollerade experiment.
i denna handledning kommer vi att granska hur man använder varje delmängd av dessa populära dimensionalitetsreduceringsalgoritmer från scikit-learn-biblioteket.
exemplen kommer att ligga till grund för dig att kopiera och klistra in exemplen och testa metoderna på dina egna data.
Vi kommer inte att dyka in i teorin bakom hur algoritmerna fungerar eller jämföra dem direkt. För en bra utgångspunkt om detta ämne, se:
- sönderdelande signaler i komponenter, scikit-learn API.
- Manifold Learning, scikit-lär API.
låt oss dyka in.
exempel på Dimensionalitetsreduktion
i det här avsnittet kommer vi att granska hur man använder populära dimensionalitetsreduceringsalgoritmer i scikit-learn.
detta inkluderar ett exempel på att använda dimensionalitetsreduceringstekniken som en datatransformation i en modelleringspipeline och utvärdera en modell som passar på data.
exemplen är utformade för att du ska kopiera och klistra in i ditt eget projekt och tillämpa metoderna på dina egna data. Det finns några algoritmer tillgängliga i scikit-learn-biblioteket som inte visas eftersom de inte kan användas som en datatransformering direkt med tanke på algoritmens natur.
som sådan kommer vi att använda en syntetisk klassificeringsdataset i varje exempel.
Scikit-lär dig Biblioteksinstallation
låt oss först installera biblioteket.
hoppa inte över det här steget eftersom du måste se till att du har den senaste versionen installerad.
Du kan installera scikit-learn-biblioteket med PIP Python-installationsprogrammet, enligt följande:
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
|
Klassificeringsdataset
Vi kommer att använda funktionen make_classification() för att skapa en test binär klassificeringsdataset.
datasetet kommer att ha 1000 exempel med 20 inmatningsfunktioner, varav 10 är informativa och 10 är överflödiga. Detta ger en möjlighet för varje teknik att identifiera och ta bort överflödiga inmatningsfunktioner.
det fasta slumpmässiga fröet för pseudorandom-talgeneratorn säkerställer att vi genererar samma syntetiska dataset varje gång koden körs.
An example of creating and summarizing the synthetic classification dataset is listed below.
1
2
3
4
5
6
|
# synthetic classification dataset
from sklearn.dataset import make_classification
# definiera dataset
x, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_redundant=10, random_state=7)
# sammanfatta dataset
Skriv ut(X. shape, y.shape)
|
om du kör exemplet skapas datauppsättningen och rapporterar antalet rader och kolumner som matchar våra förväntningar.
1
|
(1000, 20) (1000,)
|
It is a binary classification task and we will evaluate a LogisticRegression model after each dimensionality reduction transform.
modellen kommer att utvärderas med hjälp av guldstandarden för upprepad stratifierad 10-faldig korsvalidering. Medel – och standardavvikelsens klassificeringsnoggrannhet över alla veck och upprepningar kommer att rapporteras.
exemplet nedan utvärderar modellen på den råa datauppsättningen som en jämförelsepunkt.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# utvärdera logistisk regressionsmodell på rådata
från numpy importmedelvärde
från numpy importera std
från sklearn.dataset importerar make_classification
från sklearn.model_selection importera cross_val_score
från sklearn.model_selection import RepeatedStratifiedKFold
från 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) ’ % (medelvärde(n_scores), std(n_scores))
|
Running the example utvärderar den logistiska regressionen på rådatauppsättningen med alla 20 kolumner och uppnår en klassificeringsnoggrannhet på cirka 82,4 procent.
en lyckad dimensionalitetsreduceringstransformering på dessa data bör resultera i en modell som har bättre noggrannhet än denna baslinje, även om detta kanske inte är möjligt med alla tekniker.
Obs: vi försöker inte” lösa ” denna dataset, bara ge fungerande exempel som du kan använda som utgångspunkt.
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. Varje dimensionalitetsreduceringsmetod kommer att konfigureras för att minska de 20 ingångskolumnerna till 10 där det är möjligt.
Vi kommer att använda en Pipeline för att kombinera datatransformationen och modellen till en atomenhet som kan utvärderas med hjälp av korsvalideringsproceduren; till exempel:
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?
Låt mig veta i kommentarerna nedan.
Principal Component Analysis
Principal Component Analysis, eller PCA, kan vara den mest populära tekniken för dimensionalitetsreduktion med täta data (få nollvärden).
För mer information om hur PCA fungerar, se handledningen:
- hur man beräknar Principal Component Analysis (PCA) från början i Python
scikit-learn-biblioteket tillhandahåller PCA-klassens implementering av Principal Component Analysis som kan användas som en dimensionalitetsreduceringsdatatransformering. Argumentet ”n_components” kan ställas in för att konfigurera antalet önskade dimensioner i transformationens utgång.
det fullständiga exemplet på utvärdering av en modell med PCA-dimensioneringsreduktion listas nedan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# utvärdera PCA med logistisk regressionsalgoritm för klassificering
från numpy import mean
från numpy import std
från sklearn.dataset importerar make_classification
från sklearn.model_selection importera cross_val_score
från sklearn.model_selection import RepeatedStratifiedKFold
från sklearn.pipeline import Pipeline
från sklearn.nedbrytning importera PCA
från 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) ’ % (medelvärde(n_scores), std(n_scores))
|
Running the example utvärderar modelleringsrörledningen med dimensionalitetsreduktion och en logistisk regression prediktiv modell.
notera: dina resultat kan variera med tanke på algoritmens eller utvärderingsprocedurens stokastiska karaktär eller skillnader i numerisk precision. Överväg att köra exemplet några gånger och jämföra det genomsnittliga resultatet.
i det här fallet ser vi ingen hiss i modellprestanda vid användning av PCA-transformen.
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).
För mer information om hur SVD fungerar, se handledningen:
- hur man beräknar SVD Från början med Python
scikit-learn-biblioteket ger den stympade SvD-klassimplementeringen av Singularvärdesnedbrytning som kan användas som en dimensionalitetsreduceringsdatatransformering. Argumentet ”n_components” kan ställas in för att konfigurera antalet önskade dimensioner i transformationens utgång.
det fullständiga exemplet på utvärdering av en modell med SVD-dimensioneringsreduktion listas nedan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# utvärdera SvD med logistisk regressionsalgoritm för klassificering
från numpy import mean
från numpy import std
från sklearn.dataset importerar make_classification
från sklearn.model_selection importera cross_val_score
från sklearn.model_selection import RepeatedStratifiedKFold
från sklearn.pipeline import Pipeline
från sklearn.nedbrytning import Stympadsvd
från 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) ’ % (medelvärde(n_scores), std(n_scores))
|
Running the example utvärderar modelleringsrörledningen med dimensionalitetsreduktion och en logistisk regression prediktiv modell.
notera: dina resultat kan variera med tanke på algoritmens eller utvärderingsprocedurens stokastiska karaktär eller skillnader i numerisk precision. Överväg att köra exemplet några gånger och jämföra det genomsnittliga resultatet.
i det här fallet ser vi ingen hiss i modellprestanda vid användning av SVD-transformen.
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.
antalet dimensioner för projektionen är begränsat till 1 och C-1, där C är antalet klasser. I det här fallet är vår dataset ett binärt klassificeringsproblem (två klasser), vilket begränsar antalet dimensioner till 1.
För mer information om Lda för dimensionalitetsreduktion, se handledningen:
- linjär Diskrimineringsanalys för Dimensionalitetsreduktion i Python
scikit-learn-biblioteket tillhandahåller lineardiscriminantanalysis-klassen implementering av linjär Diskrimineringsanalys som kan användas som en dimensionalitetsreduceringsdatatransformering. Argumentet ”n_components” kan ställas in för att konfigurera antalet önskade dimensioner i transformationens utgång.
det fullständiga exemplet på utvärdering av en modell med Lda-dimensioneringsreduktion listas nedan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# utvärdera Lda med logistisk regressionsalgoritm för klassificering
från numpy import mean
från numpy import std
från sklearn.dataset importerar make_classification
från sklearn.model_selection importera cross_val_score
från sklearn.model_selection import RepeatedStratifiedKFold
från sklearn.pipeline import Pipeline
från sklearn.discriminant_analysis importera LinearDiscriminantAnalysis
från 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) ’ % (medelvärde(n_scores), std(n_scores))
|
Running the example utvärderar modelleringsrörledningen med dimensionalitetsreduktion och en logistisk regression prediktiv modell.
notera: dina resultat kan variera med tanke på algoritmens eller utvärderingsprocedurens stokastiska karaktär eller skillnader i numerisk precision. Överväg att köra exemplet några gånger och jämföra det genomsnittliga resultatet.
i det här fallet kan vi se en liten ökning av prestanda jämfört med baslinjen på rådata.
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.
scikit-learn-biblioteket tillhandahåller isomap-klassens implementering av Isomap-inbäddning som kan användas som en dimensionalitetsreduceringsdatatransformering. Argumentet ”n_components” kan ställas in för att konfigurera antalet önskade dimensioner i transformationens utgång.
det fullständiga exemplet på utvärdering av en modell med SVD-dimensioneringsreduktion listas nedan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# utvärdera isomap med logistisk regressionsalgoritm för klassificering
från numpy import mean
från numpy import std
från sklearn.dataset importerar make_classification
från sklearn.model_selection importera cross_val_score
från sklearn.model_selection import RepeatedStratifiedKFold
från sklearn.pipeline import Pipeline
från sklearn.manifold import Isomap
från 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) ’ % (medelvärde(n_scores), std(n_scores))
|
Running the example utvärderar modelleringsrörledningen med dimensionalitetsreduktion och en logistisk regression prediktiv modell.
notera: dina resultat kan variera med tanke på algoritmens eller utvärderingsprocedurens stokastiska karaktär eller skillnader i numerisk precision. Överväg att köra exemplet några gånger och jämföra det genomsnittliga resultatet.
i det här fallet kan vi se en hiss i prestanda med Isomap – datatransformen jämfört med baslinjen på rådata.
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.
scikit-learn-biblioteket tillhandahåller locallylinearembedding-klassens implementering av lokalt linjär inbäddning som kan användas som en dimensioneringsreduceringsdatatransformering. Argumentet ”n_components” kan ställas in för att konfigurera antalet önskade dimensioner i utsignalen från transformationen
det fullständiga exemplet för att utvärdera en modell med LLE-dimensioneringsreduktion listas nedan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# utvärdera lle och logistiska regressioner för taxonomi
från numpy import betyder
från numpy import std
från sklearn.dataset importerar make_classification
från sklearn.model_selection importera cross_val_score
från sklearn.model_selection import RepeatedStratifiedKFold
från sklearn.pipeline import Pipeline
från sklearn.grenrör import LocallyLinearEmbedding
från 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) ’ % (medelvärde(n_scores), std(n_scores))
|
Running the example utvärderar modelleringsrörledningen med dimensionalitetsreduktion och en logistisk regression prediktiv modell.
notera: dina resultat kan variera med tanke på algoritmens eller utvärderingsprocedurens stokastiska karaktär eller skillnader i numerisk precision. Överväg att köra exemplet några gånger och jämföra det genomsnittliga resultatet.
i det här fallet kan vi se en hiss i prestanda med LLE-datatransformen jämfört med baslinjen på rådata.
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.
scikit-learn-biblioteket tillhandahåller locallylinearembedding-klassens implementering av modifierad lokalt linjär inbäddning som kan användas som en dimensioneringsreduceringsdatatransformering. Argumentet ”metod” måste ställas in på ” modified ”och argumentet” n_components ”kan ställas in för att konfigurera antalet önskade dimensioner i utsignalen från transformationen som måste vara mindre än argumentet” n_neighbors”.
det fullständiga exemplet på utvärdering av en modell med modifierad LLE-dimensioneringsreduktion listas nedan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# utvärdera modifierade lle och logistiska regressioner för klassificering
från numpy import mean
från numpy import std
från sklearn.dataset importerar make_classification
från sklearn.model_selection importera cross_val_score
från sklearn.model_selection import RepeatedStratifiedKFold
från sklearn.pipeline import Pipeline
från sklearn.grenrör import LocallyLinearEmbedding
från 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) ’ % (medelvärde(n_scores), std(n_scores))
|
Running the example utvärderar modelleringsrörledningen med dimensionalitetsreduktion och en logistisk regression prediktiv modell.
notera: dina resultat kan variera med tanke på algoritmens eller utvärderingsprocedurens stokastiska karaktär eller skillnader i numerisk precision. Överväg att köra exemplet några gånger och jämföra det genomsnittliga resultatet.
i det här fallet kan vi se en hiss i prestanda med den modifierade LLE-datatransformen jämfört med baslinjen på rådata.
1
|
Accuracy: 0.846 (0.036)
|
Further Reading
This section provides more resources on the topic if you are looking to go deeper.
Tutorials
- introduktion till Dimensionalitetsreduktion för maskininlärning
- huvudkomponentanalys för Dimensionalitetsreduktion i Python
- Singularvärde sönderdelning för Dimensionalitetsreduktion i Python
- linjär Diskrimineringsanalys för Dimensionalitetsreduktion i Python
API: er
- nedbrytande signaler i komponenter, scikit-learn API.
- Manifold Learning, scikit-lär API.
sammanfattning
i denna handledning upptäckte du hur du passar och utvärderar toppdimensionalitetsreduceringsalgoritmer i Python.
specifikt lärde du dig:
- Dimensionalitetsreduktion söker en lägre dimensionell representation av numeriska inmatningsdata som bevarar de framträdande relationerna i data.
- Det finns många olika dimensionalitetsreduceringsalgoritmer och ingen enskild bästa metod för alla datamängder.
- hur man implementerar, passar och utvärderar toppdimensionalitetsreduktion i Python med scikit-learn machine learning library.
har du några frågor?
Ställ dina frågor i kommentarerna nedan och jag kommer att göra mitt bästa för att svara.
ta hand om Modern Databeredning!
Förbered dina Maskininlärningsdata på några minuter
…med bara några rader av python kod
Upptäck hur i min nya Ebook:
data förberedelse för maskininlärning
det ger självstudier tutorials med full fungerande kod på:
val av funktion, RFE, Data rengöring, Datatransformationer, skalning, dimensionalitet minskning, och mycket mer…
ta med moderna Databeredningstekniker till
dina Maskininlärningsprojekt
se vad som finns inuti