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: det är inte nödvändigt att fördjupa sig i detaljerna för varje algoritm. Färdiga metoder och klasser kan användas direkt;
-
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 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å testmängden) 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
100tränings-epoker, två dolda lager med6neuroner 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: det är inte nödvändigt att fördjupa sig i detaljerna för varje algoritm. Färdiga metoder och klasser kan användas direkt;
-
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 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å testmängden) 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
100tränings-epoker, två dolda lager med6neuroner 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