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 å gå i dybden på detaljene i 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 mye 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 skjult 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

Neurale 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 fit()-metoden:

model.fit(X_train, y_train)

For å hente predikerte etiketter (for eksempel på testsettet), trenger du bare å kalle predict()-metoden:

y_pred = model.predict(X_test)
Oppgave

Swipe to start coding

Målet ditt er å opprette, trene og evaluere en perseptron med samme struktur som den du tidligere implementerte, men ved å bruke sklearn-biblioteket:

  1. Initialiser en perseptron med 100 trenings-epoker, to skjulte lag med 6 nevroner hver, og en læringsrate på 0.01 (angi parameterne i denne rekkefølgen).
  2. Tren modellen på treningsdataene.
  3. Hent prediksjoner på testsettet.
  4. Beregn nøyaktigheten til modellen på testsettet.

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

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 å gå i dybden på detaljene i 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 mye 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 skjult 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

Neurale 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 fit()-metoden:

model.fit(X_train, y_train)

For å hente predikerte etiketter (for eksempel på testsettet), trenger du bare å kalle predict()-metoden:

y_pred = model.predict(X_test)
Oppgave

Swipe to start coding

Målet ditt er å opprette, trene og evaluere en perseptron med samme struktur som den du tidligere implementerte, men ved å bruke sklearn-biblioteket:

  1. Initialiser en perseptron med 100 trenings-epoker, to skjulte lag med 6 nevroner hver, og en læringsrate på 0.01 (angi parameterne i denne rekkefølgen).
  2. Tren modellen på treningsdataene.
  3. Hent prediksjoner på testsettet.
  4. Beregn nøyaktigheten til modellen på testsettet.

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