Es ist ein Memorandum, weil ich versucht habe, einen Irisklassifikator zu erstellen, während ich mich auf diesen Kurs bezog. [Muss für Anfänger! Erfassen Sie neuronale Netze und Deep Learning vollständig mit Python]
Mac OS Catalina 10.15.7 Spyder 4.1.4 Anaconda 3 Python 3.7.9 Keras 2.3.1
Dies ist der Code, den ich erstellt habe.
iris.py
from sklearn.datasets import load_iris#Holen Sie sich Irisdaten
iris = load_iris()
from sklearn.model_selection import train_test_split as split #Tool zum Trennen von Datensätzen
X_train,X_test,y_train,y_test = split(iris.data, iris.target, train_size = 0.8) #80 des Datensatzes%Zum Lernen 20%Zum Experimentieren
import keras
#Erstellen eines neuronalen Netzes
#Dense:Neuronale Netzdefinitionsklasse
#Activateion:Aktivierungsfunktionsklasse
from keras.layers import Dense, Activation
model = keras.models.Sequential()#Modell erstellen Erstellen Sie einen Container
model.add(Dense(units =32,input_dim = 4 )) #32 Zwischenschichten, 4 Eingabeschichten
model.add(Activation('relu'))#Aktivierungsfunktion Relu
model.add(Dense(units = 3))#Ausgabeschicht:Drei
model.add(Activation('softmax'))#Aktivierungsfunktion softmax
#kompilieren
model.compile(
loss = 'sparse_categorical_crossentropy', optimizer = 'sgd', metrics = ['accuracy'])
#Ausführung des Lernens
model.fit(X_train,y_train,epochs = 100)#100 mal iteratives Lernen
#Führen Sie eine Auswertung durch
#Überprüfen Sie die korrekte Antwortrate der Testdaten
score = model.evaluate(X_test,y_test,batch_size = 1)#Verlust in der Punktzahl(Verlust) ,accuracy(Richtigkeit)Vektor
#Referenz: https://aidiary.hatenablog.com/category/Keras?page=1478696865
accuracy = score[1]
print('Richtigkeit="',str(accuracy))#Um Zahlen und Zeichenfolgen mit print zu kombinieren, drücken Sie str()Um einen Satzstring mit zu machen
#Referenz: https://www.javadrive.jp/python/string/index9.html
#Überprüfen Sie nur eine Daten
import numpy as np
x = np.array([[5.1,3.5,1.4,0.2]])#X_Erstellen Sie ein Array im selben Format wie train
r = model.predict(x)#Wahrscheinlichkeitsvektor
print('Wahrscheinlichkeit pro Etikett=',r)
print('Das wahrscheinlichste Etikett=',r.argmax())#argmax()Gibt die größte Beschriftung im Vektor zurück
#Ausgabedaten
json_string = model.to_json()
#Wenn Sie ein Modell importieren möchten
#from keras.models import model_fromjson #model = model_from_json/json_string)
#Trainingsparameter speichern
#Installieren Sie zuerst h5py
model.save_weights('param.hdf5')
#Beim Lesen
#model.load_weight('param.hdf5')
Ausführungsergebnis
Richtigkeit=" 0.9666666388511658
Wahrscheinlichkeit pro Etikett= [[0.9405338 0.05598015 0.00348606]]
Das wahrscheinlichste Etikett= 0
Recommended Posts