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 benytte færdiglavede værktøjer såsom sklearn-biblioteket.
Fordele ved at bruge sklearn
-
Brugervenlighed: du behøver ikke at fordybe dig i detaljerne for hver algoritme. Du kan blot anvende færdiglavede metoder og klasser;
-
Optimering:
sklearn-biblioteket er optimeret for ydeevne, hvilket kan reducere træningstiden for din model; -
Omfattende dokumentation:
sklearntilbyder omfattende dokumentation med eksempler på anvendelse, hvilket kan fremskynde læringsprocessen betydeligt; -
Kompatibilitet:
sklearnintegrerer godt med andre populære Python-biblioteker såsomnumpy,pandasogmatplotlib.
Perceptron i sklearn
For at oprette den samme model som i dette afsnit, kan du bruge 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 bruger MLPClassifier ReLU aktiveringsfunktionen for skjulte lag. For binær klassifikation er output-laget stort set det samme som det, du implementerede.
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 genskabe, træne og evaluere en perceptronmodel ved hjælp af scikit-learn-biblioteket, med samme struktur som den tidligere egenimplementerede model.
Følg disse trin nøje:
- Initialiser perceptronen med
MLPClassifier-klassen:- Angiv antallet af trænings-epoker til
100medmax_iter=100;
- Angiv antallet af trænings-epoker til
- Brug to skjulte lag, hver med
6neuroner (hidden_layer_sizes=(6, 6)); - Sæt læringsraten til
0.01medlearning_rate_init=0.01; - Tilføj
random_state=10for reproducerbarhed.
- Træn modellen på træningsdatasættet med
.fit()-metoden. - Opnå forudsigelser for alle eksempler i testdatasættet med
.predict()-metoden. - Evaluer ydeevnen ved at beregne modellens nøjagtighed på testdatasættet med funktionen
accuracy_score().
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
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 benytte færdiglavede værktøjer såsom sklearn-biblioteket.
Fordele ved at bruge sklearn
-
Brugervenlighed: du behøver ikke at fordybe dig i detaljerne for hver algoritme. Du kan blot anvende færdiglavede metoder og klasser;
-
Optimering:
sklearn-biblioteket er optimeret for ydeevne, hvilket kan reducere træningstiden for din model; -
Omfattende dokumentation:
sklearntilbyder omfattende dokumentation med eksempler på anvendelse, hvilket kan fremskynde læringsprocessen betydeligt; -
Kompatibilitet:
sklearnintegrerer godt med andre populære Python-biblioteker såsomnumpy,pandasogmatplotlib.
Perceptron i sklearn
For at oprette den samme model som i dette afsnit, kan du bruge 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 bruger MLPClassifier ReLU aktiveringsfunktionen for skjulte lag. For binær klassifikation er output-laget stort set det samme som det, du implementerede.
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 genskabe, træne og evaluere en perceptronmodel ved hjælp af scikit-learn-biblioteket, med samme struktur som den tidligere egenimplementerede model.
Følg disse trin nøje:
- Initialiser perceptronen med
MLPClassifier-klassen:- Angiv antallet af trænings-epoker til
100medmax_iter=100;
- Angiv antallet af trænings-epoker til
- Brug to skjulte lag, hver med
6neuroner (hidden_layer_sizes=(6, 6)); - Sæt læringsraten til
0.01medlearning_rate_init=0.01; - Tilføj
random_state=10for reproducerbarhed.
- Træn modellen på træningsdatasættet med
.fit()-metoden. - Opnå forudsigelser for alle eksempler i testdatasættet med
.predict()-metoden. - Evaluer ydeevnen ved at beregne modellens nøjagtighed på testdatasættet med funktionen
accuracy_score().
Løsning
Tak for dine kommentarer!
single