C'est un mémorandum car j'ai fait un classificateur pour les iris en me référant à ce cours. [À voir absolument pour les débutants! Capturez complètement les réseaux de neurones et l'apprentissage en profondeur avec Python]
Mac OS Catalina 10.15.7 Spyder 4.1.4 Anaconda 3 Python 3.7.9 Keras 2.3.1
C'est le code que j'ai créé.
iris.py
from sklearn.datasets import load_iris#Obtenir des données sur l'iris
iris = load_iris()
from sklearn.model_selection import train_test_split as split #Outil pour séparer les jeux de données
X_train,X_test,y_train,y_test = split(iris.data, iris.target, train_size = 0.8) #80 du jeu de données%Pour apprendre, 20%Pour l'expérimentation
import keras
#Créer un réseau neuronal
#Dense:Classe de définition de réseau neuronal
#Activateion:Classe de fonction d'activation
from keras.layers import Dense, Activation
model = keras.models.Sequential()#Faire un modèle Faire un conteneur
model.add(Dense(units =32,input_dim = 4 )) #32 couches intermédiaires, 4 couches d'entrée
model.add(Activation('relu'))#Fonction d'activation Relu
model.add(Dense(units = 3))#Couche de sortie:Trois
model.add(Activation('softmax'))#Fonction d'activation softmax
#compiler
model.compile(
loss = 'sparse_categorical_crossentropy', optimizer = 'sgd', metrics = ['accuracy'])
#Exécution de l'apprentissage
model.fit(X_train,y_train,epochs = 100)#100 fois l'apprentissage itératif
#Effectuer une évaluation
#Vérifiez le taux de réponse correct des données de test
score = model.evaluate(X_test,y_test,batch_size = 1)#perte de score(perte) ,accuracy(précision)Vecteur
#Référence: https://aidiary.hatenablog.com/category/Keras?page=1478696865
accuracy = score[1]
print('précision="',str(accuracy))#Pour combiner des nombres et des chaînes avec print, str()Pour créer une chaîne de phrase avec
#Référence: https://www.javadrive.jp/python/string/index9.html
#Vérifier une seule donnée
import numpy as np
x = np.array([[5.1,3.5,1.4,0.2]])#X_Créer un tableau au même format que train
r = model.predict(x)#Vecteur de probabilité
print('Probabilité par étiquette=',r)
print('L'étiquette la plus probable=',r.argmax())#argmax()Renvoie la plus grande étiquette du vecteur
#Des données de sortie
json_string = model.to_json()
#Si vous souhaitez importer un modèle
#from keras.models import model_fromjson #model = model_from_json/json_string)
#Enregistrement des paramètres d'entraînement
#Installez d'abord h5py
model.save_weights('param.hdf5')
#Lors de la lecture
#model.load_weight('param.hdf5')
Résultat d'exécution
précision=" 0.9666666388511658
Probabilité par étiquette= [[0.9405338 0.05598015 0.00348606]]
L'étiquette la plus probable= 0