Neuralt Netværk med scikit-learn
At arbejde med neurale netværk kan være ret udfordrende, især hvis du forsøger at bygge dem fra bunden. I stedet for manuelt at kode algoritmer og formler, kan du anvende færdiglavede værktøjer såsom sklearn
-biblioteket.
Fordele ved at bruge sklearn
-
Brugervenlighed: det er ikke nødvendigt at fordybe sig i detaljerne for hver algoritme. Det er muligt blot at anvende færdiglavede metoder og klasser;
-
Optimering:
sklearn
-biblioteket er optimeret for ydeevne, hvilket kan reducere træningstiden for modellen; -
Omfattende dokumentation:
sklearn
tilbyder omfattende dokumentation med eksempler på anvendelse, hvilket kan fremskynde læringsprocessen betydeligt; -
Kompatibilitet:
sklearn
integrerer godt med andre populære Python-biblioteker såsomnumpy
,pandas
ogmatplotlib
.
Perceptron i sklearn
For at oprette den samme model som i dette afsnit, kan du anvende MLPClassifier
-klassen fra sklearn
-biblioteket. Dens vigtigste parametre er følgende:
max_iter
: definerer det maksimale antal epoker for træning;hidden_layer_sizes
: angiver antallet af neuroner i hvert skjult lag som en tuple;learning_rate_init
: angiver indlæringsraten for vægtopdateringer.
Som standard anvender MLPClassifier
ReLU-aktiveringsfunktionen for skjulte lag. For binær klassifikation er output-laget i det væsentlige det samme som det, du har implementeret.
For eksempel kan du med én enkelt linje kode oprette en perceptron med to skjulte lag med 10
neuroner i hvert, hvor der maksimalt bruges 100
epoker til træning 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 netværk i sklearn
bestemmer antallet af input og output baseret på de data, de trænes på. Derfor er det ikke nødvendigt at angive dem manuelt.
Som med vores implementering indebærer træning af modellen blot at kalde fit()
-metoden:
model.fit(X_train, y_train)
For at få de forudsagte etiketter (f.eks. på testdatasættet), skal du blot kalde predict()
-metoden:
y_pred = model.predict(X_test)
Swipe to start coding
Målet er at oprette, træne og evaluere en perceptron med samme struktur som den, du tidligere har implementeret, men ved brug af sklearn
-biblioteket:
- Initialiser en perceptron med
100
træningsepochs, to skjulte lag med6
neuroner hver og en læringsrate på0.01
(angiv parametrene i denne rækkefølge). - Træn modellen på træningsdataene.
- Opnå forudsigelser på testdatasættet.
- Beregn modellens nøjagtighed på testdatasættet.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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
Neuralt Netværk med scikit-learn
Stryg for at vise menuen
At arbejde med neurale netværk kan være ret udfordrende, især hvis du forsøger at bygge dem fra bunden. I stedet for manuelt at kode algoritmer og formler, kan du anvende færdiglavede værktøjer såsom sklearn
-biblioteket.
Fordele ved at bruge sklearn
-
Brugervenlighed: det er ikke nødvendigt at fordybe sig i detaljerne for hver algoritme. Det er muligt blot at anvende færdiglavede metoder og klasser;
-
Optimering:
sklearn
-biblioteket er optimeret for ydeevne, hvilket kan reducere træningstiden for modellen; -
Omfattende dokumentation:
sklearn
tilbyder omfattende dokumentation med eksempler på anvendelse, hvilket kan fremskynde læringsprocessen betydeligt; -
Kompatibilitet:
sklearn
integrerer godt med andre populære Python-biblioteker såsomnumpy
,pandas
ogmatplotlib
.
Perceptron i sklearn
For at oprette den samme model som i dette afsnit, kan du anvende MLPClassifier
-klassen fra sklearn
-biblioteket. Dens vigtigste parametre er følgende:
max_iter
: definerer det maksimale antal epoker for træning;hidden_layer_sizes
: angiver antallet af neuroner i hvert skjult lag som en tuple;learning_rate_init
: angiver indlæringsraten for vægtopdateringer.
Som standard anvender MLPClassifier
ReLU-aktiveringsfunktionen for skjulte lag. For binær klassifikation er output-laget i det væsentlige det samme som det, du har implementeret.
For eksempel kan du med én enkelt linje kode oprette en perceptron med to skjulte lag med 10
neuroner i hvert, hvor der maksimalt bruges 100
epoker til træning 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 netværk i sklearn
bestemmer antallet af input og output baseret på de data, de trænes på. Derfor er det ikke nødvendigt at angive dem manuelt.
Som med vores implementering indebærer træning af modellen blot at kalde fit()
-metoden:
model.fit(X_train, y_train)
For at få de forudsagte etiketter (f.eks. på testdatasættet), skal du blot kalde predict()
-metoden:
y_pred = model.predict(X_test)
Swipe to start coding
Målet er at oprette, træne og evaluere en perceptron med samme struktur som den, du tidligere har implementeret, men ved brug af sklearn
-biblioteket:
- Initialiser en perceptron med
100
træningsepochs, to skjulte lag med6
neuroner hver og en læringsrate på0.01
(angiv parametrene i denne rækkefølge). - Træn modellen på træningsdataene.
- Opnå forudsigelser på testdatasættet.
- Beregn modellens nøjagtighed på testdatasættet.
Løsning
Tak for dine kommentarer!
single