Nevralt Nettverk med scikit-learn
Å arbeide med nevrale nettverk kan være ganske utfordrende, spesielt hvis du prøver å bygge dem fra bunnen av. I stedet for å kode algoritmer og formler manuelt, kan du bruke ferdige verktøy som sklearn-biblioteket.
Fordeler med å bruke sklearn
-
Brukervennlighet: du trenger ikke å sette deg grundig inn i detaljene for hver algoritme. Du kan enkelt bruke ferdige metoder og klasser;
-
Optimalisering:
sklearn-biblioteket er optimalisert for ytelse, noe som kan redusere treningstiden for modellen din; -
Omfattende dokumentasjon:
sklearntilbyr omfattende dokumentasjon med eksempler på bruk, noe som kan gjøre læringsprosessen betydelig raskere; -
Kompatibilitet:
sklearnintegreres godt med andre populære Python-biblioteker somnumpy,pandasogmatplotlib.
Perceptron i sklearn
For å lage den samme modellen som i denne seksjonen, kan du bruke MLPClassifier-klassen fra sklearn-biblioteket. Dens viktigste parametere er som følger:
max_iter: definerer maksimalt antall epoker for trening;hidden_layer_sizes: angir antall nevroner i hvert skjulte lag som en tuple;learning_rate_init: setter læringsraten for vektoppdateringer.
Som standard bruker MLPClassifier ReLU-aktiveringsfunksjonen for skjulte lag. For binær klassifisering er utgangslaget i hovedsak det samme som det du implementerte.
For eksempel kan du med én enkelt kodelinje opprette en perseptron med to skjulte lag med 10 nevroner hver, bruke maksimalt 100 epoker for trening og en læringsrate på 0.5:
from sklearn.neural_network import MLPClassifier
model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Nevrale nettverk i sklearn bestemmer antall innganger og utganger basert på dataene de trenes på. Det er derfor ikke nødvendig å angi disse manuelt.
Som med vår implementasjon, innebærer trening av modellen ganske enkelt å kalle på fit()-metoden:
model.fit(X_train, y_train)
For å få predikerte etiketter (f.eks. på testsettet), trenger du bare å kalle på predict()-metoden:
y_pred = model.predict(X_test)
Swipe to start coding
Målet ditt er å gjenskape, trene og evaluere en perseptronmodell ved hjelp av scikit-learn-biblioteket, med samme struktur som den egendefinerte implementasjonen du bygde tidligere.
Følg disse trinnene nøye:
- Initialiser perseptronen ved å bruke
MLPClassifier-klassen:- Sett antall trenings-epoker til
100medmax_iter=100;
- Sett antall trenings-epoker til
- Bruk to skjulte lag, hvert med
6nevroner (hidden_layer_sizes=(6, 6)); - Sett læringsraten til
0.01medlearning_rate_init=0.01; - Legg til
random_state=10for reproduserbarhet.
- Tren modellen på treningsdatasettet ved å bruke
.fit()-metoden. - Hent prediksjoner for alle eksempler i testsettet ved å bruke
.predict()-metoden. - Evaluer ytelsen ved å beregne modellens nøyaktighet på testsettet med funksjonen
accuracy_score().
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain what the `MLPClassifier` is used for?
What do the parameters like `max_iter` and `hidden_layer_sizes` mean in practice?
How do I interpret the results from `model.predict()`?
Awesome!
Completion rate improved to 4
Nevralt Nettverk med scikit-learn
Sveip for å vise menyen
Å arbeide med nevrale nettverk kan være ganske utfordrende, spesielt hvis du prøver å bygge dem fra bunnen av. I stedet for å kode algoritmer og formler manuelt, kan du bruke ferdige verktøy som sklearn-biblioteket.
Fordeler med å bruke sklearn
-
Brukervennlighet: du trenger ikke å sette deg grundig inn i detaljene for hver algoritme. Du kan enkelt bruke ferdige metoder og klasser;
-
Optimalisering:
sklearn-biblioteket er optimalisert for ytelse, noe som kan redusere treningstiden for modellen din; -
Omfattende dokumentasjon:
sklearntilbyr omfattende dokumentasjon med eksempler på bruk, noe som kan gjøre læringsprosessen betydelig raskere; -
Kompatibilitet:
sklearnintegreres godt med andre populære Python-biblioteker somnumpy,pandasogmatplotlib.
Perceptron i sklearn
For å lage den samme modellen som i denne seksjonen, kan du bruke MLPClassifier-klassen fra sklearn-biblioteket. Dens viktigste parametere er som følger:
max_iter: definerer maksimalt antall epoker for trening;hidden_layer_sizes: angir antall nevroner i hvert skjulte lag som en tuple;learning_rate_init: setter læringsraten for vektoppdateringer.
Som standard bruker MLPClassifier ReLU-aktiveringsfunksjonen for skjulte lag. For binær klassifisering er utgangslaget i hovedsak det samme som det du implementerte.
For eksempel kan du med én enkelt kodelinje opprette en perseptron med to skjulte lag med 10 nevroner hver, bruke maksimalt 100 epoker for trening og en læringsrate på 0.5:
from sklearn.neural_network import MLPClassifier
model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Nevrale nettverk i sklearn bestemmer antall innganger og utganger basert på dataene de trenes på. Det er derfor ikke nødvendig å angi disse manuelt.
Som med vår implementasjon, innebærer trening av modellen ganske enkelt å kalle på fit()-metoden:
model.fit(X_train, y_train)
For å få predikerte etiketter (f.eks. på testsettet), trenger du bare å kalle på predict()-metoden:
y_pred = model.predict(X_test)
Swipe to start coding
Målet ditt er å gjenskape, trene og evaluere en perseptronmodell ved hjelp av scikit-learn-biblioteket, med samme struktur som den egendefinerte implementasjonen du bygde tidligere.
Følg disse trinnene nøye:
- Initialiser perseptronen ved å bruke
MLPClassifier-klassen:- Sett antall trenings-epoker til
100medmax_iter=100;
- Sett antall trenings-epoker til
- Bruk to skjulte lag, hvert med
6nevroner (hidden_layer_sizes=(6, 6)); - Sett læringsraten til
0.01medlearning_rate_init=0.01; - Legg til
random_state=10for reproduserbarhet.
- Tren modellen på treningsdatasettet ved å bruke
.fit()-metoden. - Hent prediksjoner for alle eksempler i testsettet ved å bruke
.predict()-metoden. - Evaluer ytelsen ved å beregne modellens nøyaktighet på testsettet med funksjonen
accuracy_score().
Løsning
Takk for tilbakemeldingene dine!
single