[PYTHON] In 100 Tagen sind Sie Ingenieur. ――Tag 85 ――Programmieren ――Über maschinelles Lernen 10

Klicken Sie hier bis gestern

Sie werden in 100 Tagen Ingenieur - Tag 76 - Programmierung - Über maschinelles Lernen

Sie werden Ingenieur in 100 Tagen - Tag 70 - Programmieren - Über Scraping

Sie werden in 100 Tagen Ingenieur - Tag 66 - Programmierung - Über die Verarbeitung natürlicher Sprache

Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Über Wahrscheinlichkeit 1

Sie werden in 100 Tagen Ingenieur - Tag 59 - Programmierung - Über Algorithmen

Sie werden in 100 Tagen Ingenieur --- Tag 53 - Git - Über Git

Sie werden in 100 Tagen Ingenieur - Tag 42 - Cloud - Über Cloud-Dienste

Sie werden in 100 Tagen Ingenieur - Tag 36 - Datenbank - Über die Datenbank

Sie werden Ingenieur in 100 Tagen 24-Python-Grundlagen der Python-Sprache 1

Sie werden in 100 Tagen Ingenieur - Tag 18 - JavaScript - Grundlagen von JavaScript 1

Sie werden in 100 Tagen Ingenieur - 14. Tag - CSS - CSS-Grundlagen 1

Sie werden in 100 Tagen Ingenieur - Tag 6 - HTML - HTML-Grundlagen 1

Diesmal die Fortsetzung der Geschichte über maschinelles Lernen Eine Implementierung von Deep Learning.

Über tiefes Lernen

Ich hoffe, Sie können das letzte Mal für eine kleine Erklärung sehen.

Grob gesagt handelt es sich bei "Deep Learning" um ein "neuronales Netzwerk" Es hat zwei oder mehr Zwischenschichten.

Es gibt auch eine "neuronale Netzwerk" -Bibliothek in Scikit-Learn.

Der Code zur Klassifizierung von Ayame kann wie folgt implementiert werden:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier

iris = load_iris()
X = iris.data
Y = iris.target
x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=0)
clf = MLPClassifier(solver="sgd",random_state=0,max_iter=10000)
clf.fit(x_train, y_train)

print (clf.score(x_test, y_test))

0.9555555555555556

Beim tiefen Lernen dieses neuronale Netz Der Punkt ist, wie man zusammenbaut.

Daher gibt es einige dedizierte Bibliotheken.

Über die Deep-Learning-Bibliothek

Die aktuelle Mainstream-Deep-Learning-Bibliothek ist TensorFlow: Von Google entwickelte Bibliothek Keras: Entwickelt, um auf anderen Deep-Learning-Bibliotheken wie TensorFlow und Theano zu arbeiten Pytorch: Viele Forscher implementieren und veröffentlichen den Inhalt ihrer neuesten Arbeiten in PyTorch.

Kann erwähnt werden. Ich denke, dass die Anzahl der Beispiele für "Pytorch" in letzter Zeit relativ zugenommen hat, aber wenn Sie diese drei Verwendungen unterdrücken Ich denke es ist gut.

Implementieren Sie Deep Learning mit Keras

Lassen Sie uns Deep Learning mit Keras implementieren. Weil Sie installieren müssen, um "Keras" zu verwenden Lassen Sie es uns mit TensorFlow installieren.

Führen Sie es nach der Installation aus. Bereiten Sie zuerst die Daten vor.

Trennen Sie die Daten für Training und Test.

import numpy as np
from sklearn.model_selection import train_test_split as split
from sklearn import datasets

iris = datasets.load_iris()
x_train, x_test, y_train, y_test = split(iris.data,iris.target,train_size=0.8,test_size=0.2)

Damit haben wir die Daten für das Ende vorbereitet.

Erstellen Sie als Nächstes ein neuronales Netzwerk. Laden Sie zunächst die erforderlichen Bibliotheken.

Nach dem Laden des Modells fügen wir dort die Struktur hinzu. Dieses Mal werde ich ein Modell mit 32 Zwischenschichten bauen.

Geben Sie zunächst 32 Neuronen in der mittleren Schicht und 4 Neuronen in der Eingabeebene an. Geben Sie für jede Zwischenschicht die ReLU-Funktion als Aktivierungsfunktion an.

Geben Sie 3 Ausgabeebenen an und wenden Sie die Softmax-Funktion auf die Aktivierungsfunktion an

from keras.models import Sequential
from keras.layers import Dense,Activation
 
#Erstellen eines Modells zur Verwendung in einem neutralen Netzwerk
model = Sequential()
model.add(Dense(32, activation = 'relu' , input_dim=4))
model.add(Dense( 3, activation = 'softmax'))
model.compile(loss='sparse_categorical_crossentropy',optimizer='sgd',metrics=['accuracy'])
 
#Ausführung lernen
model.fit(x_train,y_train,epochs=100)

Dies ist das Ende des Lernens. Leistung ist ...

#Evaluierungsausführung
score = model.evaluate(x_test,y_test,batch_size = 1)
print(score[1])

30/30 [==============================] - 0s 886us/step 0.9666666388511658

Ist es nicht ziemlich gut?

Lassen Sie uns eine Vorhersage machen. Konvertiert den Indexwert des größten Werts in den vorhergesagten Wert.

#Prognose
predicts = model.predict(x_test)
print(predicts)

#Nehmen Sie den Indexwert des größten Wertes
predict = [p.argmax()  for p in predicts]

[[1.1208696e-01 6.7907917e-01 2.0883384e-01] [2.8818967e-03 2.8327599e-01 7.1384215e-01] [9.5001817e-01 4.9240895e-02 7.4097671e-04] [7.4494570e-03 5.3676081e-01 4.5578974e-01] [4.5553190e-03 4.4827569e-01 5.4716897e-01] [9.0425771e-01 9.3258828e-02 2.4834664e-03] [9.8394436e-01 1.5963007e-02 9.2610091e-05] [9.3106699e-01 6.7388512e-02 1.5446048e-03] [2.9033832e-03 3.8279051e-01 6.1430609e-01] [7.6781757e-02 7.3785144e-01 1.8536681e-01] [9.0473723e-01 9.2504598e-02 2.7581297e-03] [2.3145874e-03 2.9854658e-01 6.9913888e-01] [1.1571125e-03 2.1894032e-01 7.7990258e-01] [3.8370032e-02 5.8638370e-01 3.7524620e-01] [1.8353970e-03 3.2460487e-01 6.7355973e-01] [4.0023820e-03 3.6881861e-01 6.2717897e-01] [9.3579787e-01 6.3313372e-02 8.8873273e-04] [2.8993792e-03 3.9125395e-01 6.0584664e-01] [1.7156457e-03 3.7600714e-01 6.2227720e-01] [5.9143644e-02 7.4147564e-01 1.9938073e-01] [4.4851364e-03 4.1915748e-01 5.7635736e-01] [2.1494372e-01 6.4855641e-01 1.3649981e-01] [7.4421586e-03 4.6687931e-01 5.2567846e-01] [4.7624888e-04 3.0563667e-01 6.9388705e-01] [9.5614207e-01 4.3193795e-02 6.6417205e-04] [5.6969654e-02 7.1488911e-01 2.2814126e-01] [2.0755678e-03 3.4245396e-01 6.5547043e-01] [9.3328977e-01 6.5471925e-02 1.2382563e-03] [1.8808943e-03 2.6230952e-01 7.3580956e-01] [9.6379587e-04 2.6067016e-01 7.3836607e-01]]

Da die Wahrscheinlichkeit des numerischen Werts jeder Kategorie angegeben ist, ist die größte die richtige Antwort.

Vergleichen wir es mit der richtigen Antwort.

for y_pred,y_true in zip(predict,y_test):
    print(y_pred,y_true)

1 1 2 2 0 0 1 2 2 2 0 0 0 0 0 0 2 2 1 1 0 0 2 2 2 2 1 1 2 2 2 2 0 0 2 2 2 2 1 1 2 2 1 1 2 2 2 2 0 0 1 1 2 2 0 0 2 2 2 2

Abgesehen von einem ist es sehr genau.

Zusammenfassung

Heute haben wir Ihnen eine Implementierung in Deep Learning gesendet. Tiefes Lernen ist zu tief für mich, um überhaupt zu lernen.

Es besteht kein Zweifel, dass es weiterhin das Zentrum der IT-Trends sein wird. Sie sollten nicht verlieren, auch wenn Sie studieren.

Lass es uns unten halten.

15 Tage, bis Sie Ingenieur werden

Informationen zum Autor

HP von Otsu py: http://www.otupy.net/

Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter: https://twitter.com/otupython

Recommended Posts

In 100 Tagen sind Sie Ingenieur. ――Tag 81 ――Programmieren ――Über maschinelles Lernen 6
In 100 Tagen sind Sie Ingenieur. ――Tag 82 ――Programmieren ――Über maschinelles Lernen 7
In 100 Tagen sind Sie Ingenieur. ――Tag 79 ――Programmieren ――Über maschinelles Lernen 4
In 100 Tagen sind Sie Ingenieur. ――Tag 80 ――Programmieren ――Über maschinelles Lernen 5
In 100 Tagen sind Sie Ingenieur. ――Tag 78 ――Programmieren ――Über maschinelles Lernen 3
Sie werden in 100 Tagen Ingenieur. ――Tag 84 ――Programmieren ――Über maschinelles Lernen 9
In 100 Tagen sind Sie Ingenieur. ――Tag 83 ――Programmieren ――Über maschinelles Lernen 8
In 100 Tagen sind Sie Ingenieur. ――Tag 77 ――Programmieren ――Über maschinelles Lernen 2
In 100 Tagen sind Sie Ingenieur. ――Tag 85 ――Programmieren ――Über maschinelles Lernen 10
In 100 Tagen sind Sie Ingenieur. ――Tag 71 ――Programmieren ――Über das Schaben 2
In 100 Tagen sind Sie Ingenieur. ――Tag 61 ――Programmieren ――Über Erkundung
In 100 Tagen sind Sie Ingenieur. ――Tag 74 ――Programmieren ――Über das Schaben 5
In 100 Tagen sind Sie Ingenieur. ――Tag 73 ――Programmieren ――Über das Schaben 4
In 100 Tagen sind Sie Ingenieur. ――Tag 75 ――Programmieren ――Über das Schaben 6
In 100 Tagen sind Sie Ingenieur. ――Tag 68 ――Programmieren ――Über TF-IDF
In 100 Tagen sind Sie Ingenieur. ――Tag 70 ――Programmieren ――Über das Schaben
Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Wahrscheinlichkeit 1
Sie werden in 100 Tagen Ingenieur. ――Tag 65 ――Programmieren ――Über Wahrscheinlichkeit 3
Sie werden in 100 Tagen Ingenieur. ――Tag 64 ――Programmieren ――Über Wahrscheinlichkeit 2
Sie werden in 100 Tagen Ingenieur - Tag 86 - Datenbank - Über Hadoop
In 100 Tagen sind Sie Ingenieur. ――Tag 60 ――Programmieren ――Über Datenstruktur und Sortieralgorithmus
Sie werden in 100 Tagen Ingenieur - 27. Tag - Python - Python-Übung 1
Sie werden in 100 Tagen Ingenieur - Tag 34 - Python - Python-Übung 3
Sie werden in 100 Tagen Ingenieur - 31. Tag - Python - Python-Übung 2
Sie werden in 100 Tagen Ingenieur. ――Tag 67 ――Programmieren ――Über morphologische Analyse
Sie werden in 100 Tagen Ingenieur. ――Tag 66 ――Programmieren ――Über die Verarbeitung natürlicher Sprache
Sie werden in 100 Tagen Ingenieur. ――Tag 24 ―― Python ―― Grundlagen der Python-Sprache 1
Sie werden in 100 Tagen Ingenieur. ――Tag 30 ―― Python ―― Grundlagen der Python-Sprache 6
Sie werden in 100 Tagen Ingenieur. ――Tag 25 ―― Python ―― Grundlagen der Python-Sprache 2
Sie werden in 100 Tagen Ingenieur - Tag 33 - Python - Grundlagen der Python-Sprache 8
Sie werden in 100 Tagen Ingenieur - 26. Tag - Python - Grundlagen der Python-Sprache 3
Sie werden in 100 Tagen Ingenieur - Tag 35 - Python - Was Sie mit Python tun können
Werden Sie bald KI-Ingenieur! Lernen Sie in wenigen Tagen umfassend Python / KI / Maschinelles Lernen / Deep Learning / Statistische Analyse!
Sie müssen vorsichtig mit den Befehlen sein, die Sie jeden Tag in der Produktionsumgebung verwenden.
Über das Testen bei der Implementierung von Modellen für maschinelles Lernen
Maschinelles Lernen Über Overlearning
Programmieren des Lernprotokolls 2. Tag
Bis ein Ingenieur, der einmal über maschinelles Lernen frustriert war, es schafft, maschinelles Lernen bei der Arbeit einzusetzen
Maschinelles Lernen in Delemas (Praxis)
Eine Einführung in das maschinelle Lernen
Über maschinelles Lernen gemischte Matrix
Python Machine Learning Programming> Schlüsselwörter
Wie wäre es mit Anaconda zum Erstellen einer maschinellen Lernumgebung mit Python?
Lernen Sie maschinelles Lernen jederzeit und überall in der bedarfsgesteuerten Jupyter Notebook-Umgebung