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 med Python

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

model.fit(X_train, y_train)

For å få de predikerte etikettene (f.eks. på testsettet), trenger du bare å kalle 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

close

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

model.fit(X_train, y_train)

For å få de predikerte etikettene (f.eks. på testsettet), trenger du bare å kalle 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