Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Nevralt Nettverk med scikit-learn | Nevralt Nettverk fra Bunnen Av
Introduksjon til nevrale nettverk

bookNevralt 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

  1. Brukervennlighet: du trenger ikke å sette deg grundig inn i detaljene for hver algoritme. Du kan enkelt bruke ferdige metoder og klasser;

  2. Optimalisering: sklearn-biblioteket er optimalisert for ytelse, noe som kan redusere treningstiden for modellen din;

  3. Omfattende dokumentasjon: sklearn tilbyr omfattende dokumentasjon med eksempler på bruk, noe som kan gjøre læringsprosessen betydelig raskere;

  4. Kompatibilitet: sklearn integreres godt med andre populære Python-biblioteker som numpy, pandas og matplotlib.

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.
Note
Merk

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)
Note
Merk

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)
Oppgave

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:

  1. Initialiser perseptronen ved å bruke MLPClassifier-klassen:
    • Sett antall trenings-epoker til 100 med max_iter=100;
  • Bruk to skjulte lag, hvert med 6 nevroner (hidden_layer_sizes=(6, 6));
  • Sett læringsraten til 0.01 med learning_rate_init=0.01;
  • Legg til random_state=10 for reproduserbarhet.
  1. Tren modellen på treningsdatasettet ved å bruke .fit()-metoden.
  2. Hent prediksjoner for alle eksempler i testsettet ved å bruke .predict()-metoden.
  3. Evaluer ytelsen ved å beregne modellens nøyaktighet på testsettet med funksjonen accuracy_score().

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 13
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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()`?

close

Awesome!

Completion rate improved to 4

bookNevralt 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

  1. Brukervennlighet: du trenger ikke å sette deg grundig inn i detaljene for hver algoritme. Du kan enkelt bruke ferdige metoder og klasser;

  2. Optimalisering: sklearn-biblioteket er optimalisert for ytelse, noe som kan redusere treningstiden for modellen din;

  3. Omfattende dokumentasjon: sklearn tilbyr omfattende dokumentasjon med eksempler på bruk, noe som kan gjøre læringsprosessen betydelig raskere;

  4. Kompatibilitet: sklearn integreres godt med andre populære Python-biblioteker som numpy, pandas og matplotlib.

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.
Note
Merk

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)
Note
Merk

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)
Oppgave

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:

  1. Initialiser perseptronen ved å bruke MLPClassifier-klassen:
    • Sett antall trenings-epoker til 100 med max_iter=100;
  • Bruk to skjulte lag, hvert med 6 nevroner (hidden_layer_sizes=(6, 6));
  • Sett læringsraten til 0.01 med learning_rate_init=0.01;
  • Legg til random_state=10 for reproduserbarhet.
  1. Tren modellen på treningsdatasettet ved å bruke .fit()-metoden.
  2. Hent prediksjoner for alle eksempler i testsettet ved å bruke .predict()-metoden.
  3. Evaluer ytelsen ved å beregne modellens nøyaktighet på testsettet med funksjonen accuracy_score().

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 13
single

single

some-alt