Im vorherigen Artikel habe ich ein einfaches maschinelles Lernprogramm angesprochen. Sehr kleine Daten wie im vorherigen Artikel werden nicht verwendet. Maschinelles Lernen hat grundsätzlich den Vorteil, dass viele Daten vorhanden sind, sodass normalerweise eine sehr große Datenmenge entsteht. Wenn Sie viele Daten haben, wird das Lernen natürlich viel Zeit in Anspruch nehmen. Sie werden vielleicht überrascht sein, wenn Sie es nicht wissen, aber es ist natürlich, den PC für eine Woche zu verlassen, um zu lernen. Es ist nicht praktikabel, jedes Mal, wenn das Programm ausgeführt wird, so lange zu lernen. Daher können Sie Zeit sparen, indem Sie die Trainingsergebnisse als Modell speichern und im eigentlichen Programm mit diesem Modell ausführen. Dieses Mal möchte ich ein "Speicherprogramm" und ein "Vorhersageprogramm unter Verwendung eines Modells" erstellen.
Wenn Sie nicht wissen, was Sie tun, lesen Sie vorherigen Artikel .
python 3.8.5 scikit-learn 0.231
Ein Teil des im vorherigen Artikel verwendeten Codes wird verwendet.
save_model.py
import numpy as np
from sklearn import svm
import pickle
#CSV-Datei lesen
npArray = np.loadtxt("data.csv", delimiter = ",", dtype = "float")
#Speicherung erklärender Variablen
x = npArray[:, 0:4]
#Speicherung der Zielvariablen
y = npArray[:, 4:5].ravel()
#Wählen Sie SVM als Lernmethode
clf = svm.SVC()
#Lernen
clf.fit(x,y)
#Speichern des Trainingsmodells
with open('model.pickle', mode='wb') as f:
pickle.dump(clf,f,protocol=2)
open_model.py
import pickle
#Modell offen
with open('model.pickle', mode='rb') as f:
clf = pickle.load(f)
#Bewertungsdaten
weather = [[9,0,7.9,6.5]]
#Vorhersage anhand eines Modells
ans = clf.predict(weather)
if ans == 0:
print("Es ist sonnig")
if ans == 1:
print("Es ist bewölkt")
if ans == 2:
print("Es regnet")
$ python3 open_model.py
Es ist sonnig
Danke für deine harte Arbeit. Durch Speichern des auf diese Weise trainierten Modells wird es möglich, Daten auszuwerten und vorherzusagen, ohne jede Ausführung zu trainieren. Derzeit wird KI, wie in der Welt gesagt, als Satz von "Programm" + "Lerndaten" erstellt und betrieben. Wenn man das aus den gesammelten Daten erstellte Lernmodell betrachtet, ist es eine andere Freude, ein umfangreiches Programm zu erstellen. Wir sehen uns wieder.
Recommended Posts