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:
sklearn
tillhandahåller omfattande dokumentation med användningsexempel, vilket kan påskynda inlärningsprocessen avsevärt; -
Kompatibilitet:
sklearn
integreras väl med andra populära Python-bibliotek såsomnumpy
,pandas
ochmatplotlib
.
Perceptron i sklearn
För att skapa samma modell som i detta avsnitt 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å testuppsättningen) behöver du bara anropa metoden predict()
:
y_pred = model.predict(X_test)
Swipe to start coding
Målet är att skapa, träna och utvärdera en perceptron med samma struktur som den du tidigare implementerat, men nu med hjälp av sklearn
-biblioteket:
- Initiera en perceptron med
100
tränings-epoker, två dolda lager med6
neuroner vardera och en inlärningshastighet på0.01
(ange parametrarna i exakt denna ordning). - Träna modellen på träningsdatan.
- Hämta prediktioner på testdatan.
- Beräkna modellens noggrannhet på testdatan.
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:
sklearn
tillhandahåller omfattande dokumentation med användningsexempel, vilket kan påskynda inlärningsprocessen avsevärt; -
Kompatibilitet:
sklearn
integreras väl med andra populära Python-bibliotek såsomnumpy
,pandas
ochmatplotlib
.
Perceptron i sklearn
För att skapa samma modell som i detta avsnitt 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å testuppsättningen) behöver du bara anropa metoden predict()
:
y_pred = model.predict(X_test)
Swipe to start coding
Målet är att skapa, träna och utvärdera en perceptron med samma struktur som den du tidigare implementerat, men nu med hjälp av sklearn
-biblioteket:
- Initiera en perceptron med
100
tränings-epoker, två dolda lager med6
neuroner vardera och en inlärningshastighet på0.01
(ange parametrarna i exakt denna ordning). - Träna modellen på träningsdatan.
- Hämta prediktioner på testdatan.
- Beräkna modellens noggrannhet på testdatan.
Lösning
Tack för dina kommentarer!
single