Neuralt Nätverk med scikit-learn
Att arbeta med neurala nätverk kan vara ganska komplicerat, särskilt om du försöker bygga dem från grunden. Istället för att manuellt koda algoritmer och formler kan du använda färdiga verktyg såsom biblioteket sklearn.
Fördelar med att använda sklearn
-
Enkel användning: du behöver inte fördjupa dig i detaljerna för varje algoritm. Du kan helt enkelt använda färdiga metoder och klasser;
-
Optimering: biblioteket
sklearnär optimerat för prestanda, vilket kan minska träningstiden för din modell; -
Omfattande dokumentation:
sklearntillhandahåller omfattande dokumentation med användningsexempel, vilket kan påskynda inlärningsprocessen avsevärt; -
Kompatibilitet:
sklearnintegreras väl med andra populära Python-bibliotek såsomnumpy,pandasochmatplotlib.
Perceptron i sklearn
För att skapa samma modell som i denna sektion kan du använda klassen MLPClassifier från biblioteket sklearn. Dess viktigaste parametrar är följande:
max_iter: anger det maximala antalet epoker för träning;hidden_layer_sizes: specificerar antalet neuroner i varje dolt lager som en tuple;learning_rate_init: ställer in inlärningshastigheten för viktuppdateringar.
Som standard använder MLPClassifier ReLU-aktiveringsfunktionen för dolda lager. För binär klassificering är utdata-lagret i princip detsamma som det du implementerade.
Till exempel kan du med en enda kodrad skapa en perceptron med två dolda lager med 10 neuroner vardera, använda högst 100 epoker för träning och en inlärningshastighet på 0.5:
from sklearn.neural_network import MLPClassifier
model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Neurala nätverk i sklearn bestämmer antalet in- och utgångar baserat på den data de tränas på. Det finns därför inget behov av att ange dessa manuellt.
Precis som med vår implementation innebär träning av modellen helt enkelt att anropa metoden fit():
model.fit(X_train, y_train)
För att få de predicerade etiketterna (t.ex. på testmängden) behöver du bara anropa metoden predict():
y_pred = model.predict(X_test)
Swipe to start coding
Målet är att återskapa, träna och utvärdera en perceptronmodell med hjälp av scikit-learn-biblioteket, enligt samma struktur som den egenutvecklade implementationen från tidigare.
Följ dessa steg noggrant:
- Initiera perceptronen med klassen
MLPClassifier:- Ange antalet tränings-epoker till
100medmax_iter=100;
- Ange antalet tränings-epoker till
- Använd två dolda lager, vardera med
6neuroner (hidden_layer_sizes=(6, 6)); - Sätt inlärningshastigheten till
0.01medlearning_rate_init=0.01; - Lägg till
random_state=10för reproducerbarhet.
- Träna modellen på träningsdatan med metoden
.fit(). - Hämta prediktioner för alla exempel i testmängden med metoden
.predict(). - Utvärdera prestanda genom att beräkna modellens noggrannhet på testmängden med funktionen
accuracy_score().
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 4
Neuralt Nätverk med scikit-learn
Svep för att visa menyn
Att arbeta med neurala nätverk kan vara ganska komplicerat, särskilt om du försöker bygga dem från grunden. Istället för att manuellt koda algoritmer och formler kan du använda färdiga verktyg såsom biblioteket sklearn.
Fördelar med att använda sklearn
-
Enkel användning: du behöver inte fördjupa dig i detaljerna för varje algoritm. Du kan helt enkelt använda färdiga metoder och klasser;
-
Optimering: biblioteket
sklearnär optimerat för prestanda, vilket kan minska träningstiden för din modell; -
Omfattande dokumentation:
sklearntillhandahåller omfattande dokumentation med användningsexempel, vilket kan påskynda inlärningsprocessen avsevärt; -
Kompatibilitet:
sklearnintegreras väl med andra populära Python-bibliotek såsomnumpy,pandasochmatplotlib.
Perceptron i sklearn
För att skapa samma modell som i denna sektion kan du använda klassen MLPClassifier från biblioteket sklearn. Dess viktigaste parametrar är följande:
max_iter: anger det maximala antalet epoker för träning;hidden_layer_sizes: specificerar antalet neuroner i varje dolt lager som en tuple;learning_rate_init: ställer in inlärningshastigheten för viktuppdateringar.
Som standard använder MLPClassifier ReLU-aktiveringsfunktionen för dolda lager. För binär klassificering är utdata-lagret i princip detsamma som det du implementerade.
Till exempel kan du med en enda kodrad skapa en perceptron med två dolda lager med 10 neuroner vardera, använda högst 100 epoker för träning och en inlärningshastighet på 0.5:
from sklearn.neural_network import MLPClassifier
model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Neurala nätverk i sklearn bestämmer antalet in- och utgångar baserat på den data de tränas på. Det finns därför inget behov av att ange dessa manuellt.
Precis som med vår implementation innebär träning av modellen helt enkelt att anropa metoden fit():
model.fit(X_train, y_train)
För att få de predicerade etiketterna (t.ex. på testmängden) behöver du bara anropa metoden predict():
y_pred = model.predict(X_test)
Swipe to start coding
Målet är att återskapa, träna och utvärdera en perceptronmodell med hjälp av scikit-learn-biblioteket, enligt samma struktur som den egenutvecklade implementationen från tidigare.
Följ dessa steg noggrant:
- Initiera perceptronen med klassen
MLPClassifier:- Ange antalet tränings-epoker till
100medmax_iter=100;
- Ange antalet tränings-epoker till
- Använd två dolda lager, vardera med
6neuroner (hidden_layer_sizes=(6, 6)); - Sätt inlärningshastigheten till
0.01medlearning_rate_init=0.01; - Lägg till
random_state=10för reproducerbarhet.
- Träna modellen på träningsdatan med metoden
.fit(). - Hämta prediktioner för alla exempel i testmängden med metoden
.predict(). - Utvärdera prestanda genom att beräkna modellens noggrannhet på testmängden med funktionen
accuracy_score().
Lösning
Tack för dina kommentarer!
single