Heim > Backend-Entwicklung > Python-Tutorial > Beispiele für neuronale Netzwerkalgorithmen in Python

Beispiele für neuronale Netzwerkalgorithmen in Python

王林
Freigeben: 2023-06-10 16:48:07
Original
1890 Leute haben es durchsucht

Beispiele für neuronale Netzwerkalgorithmen in Python

Neuronales Netzwerk ist ein Modell der künstlichen Intelligenz, das das menschliche Nervensystem simuliert. Es kann automatisch Muster identifizieren und Aufgaben wie Klassifizierung, Regression und Clustering ausführen, indem es Datenproben lernt. Als leicht zu erlernende Programmiersprache mit einer leistungsstarken wissenschaftlichen Computerbibliothek zeichnet sich Python durch die Entwicklung neuronaler Netzwerkalgorithmen aus. In diesem Artikel werden Beispiele für neuronale Netzwerkalgorithmen in Python vorgestellt.

  1. Installieren Sie relevante Bibliotheken

Zu den häufig verwendeten neuronalen Netzwerkbibliotheken in Python gehören Keras, Tensorflow, PyTorch usw. Die Keras-Bibliothek basiert auf Tensorflow und kann den Konstruktionsprozess neuronaler Netzwerke vereinfachen Bibliothek als Entwicklungstool für neuronale Netzwerke. Bevor Sie die Keras-Bibliothek verwenden, müssen Sie die Tensorflow-Bibliothek als Backend installieren. Führen Sie den folgenden Befehl in der Befehlszeile aus, um die abhängigen Bibliotheken zu installieren:

pip install tensorflow
pip install keras
Nach dem Login kopieren
  1. Datensatz-Vorverarbeitung

Vor dem Training des neuronalen Netzwerks müssen die Daten vorverarbeitet werden. Die allgemeine Datenvorverarbeitung umfasst Datennormalisierung, Verarbeitung fehlender Datenwerte, Extraktion von Datenmerkmalen usw. In diesem Artikel verwenden wir den Iris-Datensatz zur Beispieldemonstration. Der Datensatz enthält 150 Datensätze. Jeder Datensatz weist vier Merkmale auf: Kelchblattlänge, Kelchblattbreite, Blütenblattlänge, Blütenblattbreite und die entsprechende Klassifizierungsbezeichnung: Iris Setosa, Iris Vielfarbig, Iris Virginica. In diesem Datensatz ist jeder Datensatz numerisch, daher müssen wir die Daten nur normalisieren.

from sklearn.datasets import load_iris
from sklearn.preprocessing import MinMaxScaler
import numpy as np
 
# 导入数据集
data = load_iris().data
labels = load_iris().target
 
# 归一化数据
scaler = MinMaxScaler()
data = scaler.fit_transform(data)
 
# 将标签转化为 one-hot 向量
one_hot_labels = np.zeros((len(labels), 3))
for i in range(len(labels)):
    one_hot_labels[i, labels[i]] = 1
Nach dem Login kopieren
  1. Aufbau eines neuronalen Netzwerkmodells

In Keras können Sie das sequentielle Modell verwenden, um ein neuronales Netzwerkmodell zu erstellen. In diesem Modell können wir mehrere Schichten hinzufügen. Jede Schicht hat eine bestimmte Rolle, z. B. eine vollständig verbundene Schicht, eine Aktivierungsfunktionsschicht, eine Dropout-Schicht usw. In diesem Beispiel verwenden wir zwei vollständig verbundene Schichten und eine Ausgabeschicht, um ein neuronales Netzwerkmodell zu erstellen, in dem die Anzahl der Neuronen in der verborgenen Schicht 4 beträgt.

from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.optimizers import Adam
 
# 构建神经网络模型
model = Sequential()
model.add(Dense(4, activation='relu'))
model.add(Dense(4, activation='relu'))
model.add(Dense(3, activation='softmax'))
 
# 配置优化器和损失函数
optimizer = Adam(lr=0.001)
model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy'])
Nach dem Login kopieren
  1. Modell trainieren

Bevor wir das Modell trainieren, müssen wir den Datensatz in einen Trainingssatz und einen Testsatz aufteilen, um die Genauigkeit des Modells zu bewerten. In diesem Beispiel verwenden wir 80 % der Daten als Trainingssatz und 20 % der Daten als Testsatz. Beim Training müssen wir Parameter wie Stapelgröße und Anzahl der Iterationen angeben, um die Trainingsgeschwindigkeit und Modellgenauigkeit zu steuern.

from sklearn.model_selection import train_test_split
 
# 将数据集分为训练集和测试集
train_data, test_data, train_labels, test_labels = train_test_split(data, one_hot_labels, test_size=0.2)
 
# 训练神经网络
model.fit(train_data, train_labels, batch_size=5, epochs=100)
 
# 评估模型
accuracy = model.evaluate(test_data, test_labels)[1]
print('准确率:%.2f' % accuracy)
Nach dem Login kopieren
  1. Vollständiger Code des Beispiels

Der vollständige Code dieses Beispiels lautet wie folgt:

from sklearn.datasets import load_iris
from sklearn.preprocessing import MinMaxScaler
from sklearn.model_selection import train_test_split
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.optimizers import Adam
 
# 导入数据集
data = load_iris().data
labels = load_iris().target
 
# 归一化数据
scaler = MinMaxScaler()
data = scaler.fit_transform(data)
 
# 将标签转化为 one-hot 向量
one_hot_labels = np.zeros((len(labels), 3))
for i in range(len(labels)):
    one_hot_labels[i, labels[i]] = 1
 
# 将数据集分为训练集和测试集
train_data, test_data, train_labels, test_labels = train_test_split(data, one_hot_labels, test_size=0.2)
 
# 构建神经网络模型
model = Sequential()
model.add(Dense(4, activation='relu'))
model.add(Dense(4, activation='relu'))
model.add(Dense(3, activation='softmax'))
 
# 配置优化器和损失函数
optimizer = Adam(lr=0.001)
model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy'])
 
# 训练神经网络
model.fit(train_data, train_labels, batch_size=5, epochs=100)
 
# 评估模型
accuracy = model.evaluate(test_data, test_labels)[1]
print('准确率:%.2f' % accuracy)
Nach dem Login kopieren
  1. Fazit

Dieser Artikel stellt Beispiele für neuronale Netzwerkalgorithmen in Python vor und verwendet den Irisblütendatensatz als Beispiel zur Demonstration. Während des Implementierungsprozesses verwendeten wir die Keras-Bibliothek und die Tensorflow-Bibliothek als Entwicklungstools für neuronale Netze und verwendeten die MinMaxScaler-Bibliothek zur Normalisierung der Daten. Die Ergebnisse dieses Beispiels zeigen, dass unser neuronales Netzwerkmodell eine Genauigkeit von 97,22 % erreichte, was die Wirksamkeit und Anwendbarkeit des neuronalen Netzwerks beweist.

Das obige ist der detaillierte Inhalt vonBeispiele für neuronale Netzwerkalgorithmen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage