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 å fordype deg i detaljene til 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 å opprette 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.
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)
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 å få predikerte etiketter (for eksempel på testsettet), trenger du bare å kalle predict()-metoden:
y_pred = model.predict(X_test)
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:
- Initialiser en perseptron med
100trenings-epoker, to skjulte lag med6nevroner hver, og en læringsrate på0.01(angi parameterne i denne rekkefølgen). - Tren modellen på treningsdataene.
- Hent prediksjoner på testsettet.
- Beregn nøyaktigheten til modellen på testsettet.
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
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 å fordype deg i detaljene til 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 å opprette 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.
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)
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 å få predikerte etiketter (for eksempel på testsettet), trenger du bare å kalle predict()-metoden:
y_pred = model.predict(X_test)
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:
- Initialiser en perseptron med
100trenings-epoker, to skjulte lag med6nevroner hver, og en læringsrate på0.01(angi parameterne i denne rekkefølgen). - Tren modellen på treningsdataene.
- Hent prediksjoner på testsettet.
- Beregn nøyaktigheten til modellen på testsettet.
Løsning
Takk for tilbakemeldingene dine!
single