[PYTHON] Vous serez ingénieur dans 100 jours ――Jour 85 ――Programmation ――À propos de l'apprentissage automatique 10

Cliquez ici jusqu'à hier

Vous deviendrez ingénieur dans 100 jours - Jour 76 - Programmation - À propos de l'apprentissage automatique

Vous deviendrez ingénieur dans 100 jours-70-Programmation-À propos du scraping

Vous deviendrez ingénieur dans 100 jours - Jour 66 - Programmation - À propos du traitement du langage naturel

Vous deviendrez ingénieur dans 100 jours - Jour 63 - Programmation - À propos de la probabilité 1

Vous deviendrez ingénieur dans 100 jours - Jour 59 - Programmation - À propos des algorithmes

Vous deviendrez ingénieur dans 100 jours --- Jour 53 --Git --À propos de Git

Vous deviendrez ingénieur dans 100 jours --Jour 42 --Cloud --À propos des services cloud

Vous deviendrez ingénieur dans 100 jours - Jour 36 --Base de données --À propos de la base de données

Vous deviendrez ingénieur dans 100 jours-24 jours-Python-Bases du langage Python 1

Vous deviendrez ingénieur dans 100 jours --Jour 18 --Javascript --Les bases de JavaScript 1

Vous deviendrez ingénieur dans 100 jours - Jour 14 --CSS --CSS Basics 1

Vous deviendrez ingénieur dans 100 jours - Jour 6 --HTML - Bases du HTML 1

Cette fois, la suite de l'histoire de l'apprentissage automatique Une mise en œuvre du deep learning.

À propos de l'apprentissage profond

J'espère que vous pouvez voir la dernière fois pour une petite explication.

En gros, «l'apprentissage profond» est un «réseau neuronal» Il a deux ou plusieurs couches intermédiaires.

Il existe également une bibliothèque de «réseau neuronal» dans scikit-learn.

Le code qui classe Ayame peut être implémenté comme suit.

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

Dans l'apprentissage profond, ce réseau neuronal Le point est de savoir comment assembler.

Par conséquent, il existe des bibliothèques dédiées.

À propos de la bibliothèque d'apprentissage en profondeur

La bibliothèque d'apprentissage en profondeur grand public actuelle est TensorFlow: bibliothèque développée par Google Keras: conçu pour fonctionner avec d'autres bibliothèques d'apprentissage en profondeur telles que TensorFlow et Theano Pytorch: De nombreux chercheurs mettent en œuvre et publient le contenu de leurs derniers articles récents dans PyTorch.

Peut être mentionné. Je pense que le nombre d'exemples de Pytorch a augmenté relativement récemment, mais si vous supprimez ces trois usages Je pense que c'est bien.

Mettre en œuvre l'apprentissage en profondeur avec Keras

Implémentons le deep learning en utilisant Keras. Parce que vous devez installer pour utiliser Keras Installons-le avec TensorFlow.

Une fois installé, exécutez-le. Préparez d'abord les données.

Séparez les données pour la formation et les tests.

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)

Avec cela, nous avons préparé les données pour la fin.

Ensuite, construisez un réseau neuronal. Commencez par charger les bibliothèques nécessaires.

Après avoir chargé le modèle, nous y ajouterons la structure. Cette fois, je vais construire un modèle avec 32 couches intermédiaires.

Tout d'abord, spécifiez 32 neurones dans la couche intermédiaire et 4 neurones dans la couche d'entrée. Pour chaque couche intermédiaire, spécifiez la fonction ReLU comme fonction d'activation.

Spécifiez 3 couches de sortie et appliquez la fonction softmax à la fonction d'activation

from keras.models import Sequential
from keras.layers import Dense,Activation
 
#Créer un modèle à utiliser dans un réseau neutre
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'])
 
#Exécution de l'apprentissage
model.fit(x_train,y_train,epochs=100)

C'est la fin de l'apprentissage. La performance est ...

#Exécution de l'évaluation
score = model.evaluate(x_test,y_test,batch_size = 1)
print(score[1])

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

N'est-ce pas assez bon?

Faisons une prédiction. Convertit la valeur d'index de la valeur la plus élevée en valeur prédite.

#Prévoir
predicts = model.predict(x_test)
print(predicts)

#Prenez la valeur d'index de la plus grande valeur
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]]

Puisque la probabilité de la valeur numérique de chaque catégorie est donnée, la plus grande est la bonne réponse.

Comparons-le avec la bonne réponse.

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

Sauf un, c'est très précis.

Résumé

Aujourd'hui, nous vous avons envoyé une implémentation en Deep Learning. L'apprentissage profond est trop profond pour que j'apprenne du tout.

Il ne fait aucun doute qu'il restera au centre des tendances informatiques. Vous ne devriez pas perdre même si vous étudiez.

Gardons-le bas.

15 jours avant de devenir ingénieur

Informations sur l'auteur

HP d'Otsu py: http://www.otupy.net/

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

Twitter: https://twitter.com/otupython

Recommended Posts

Vous serez ingénieur dans 100 jours ――Jour 81 ――Programmation ――À propos de l'apprentissage automatique 6
Vous serez ingénieur dans 100 jours ――Jour 82 ――Programmation ――À propos de l'apprentissage automatique 7
Vous serez ingénieur dans 100 jours ――Jour 79 ――Programmation ――À propos de l'apprentissage automatique 4
Vous serez ingénieur dans 100 jours ―― Jour 80 ―― Programmation ―― À propos de l'apprentissage automatique 5
Vous serez ingénieur dans 100 jours ――Jour 78 ――Programmation ――À propos de l'apprentissage automatique 3
Vous serez ingénieur dans 100 jours ――Jour 84 ――Programmation ――À propos de l'apprentissage automatique 9
Vous serez ingénieur dans 100 jours ――Jour 83 ――Programmation ――À propos de l'apprentissage automatique 8
Vous serez ingénieur dans 100 jours ――Jour 77 ――Programmation ――À propos de l'apprentissage automatique 2
Vous serez ingénieur dans 100 jours ――Jour 85 ――Programmation ――À propos de l'apprentissage automatique 10
Vous serez ingénieur dans 100 jours ――Jour 71 ――Programmation ――À propos du scraping 2
Vous serez ingénieur dans 100 jours ――Jour 61 ――Programmation ――A propos de l'exploration
Vous serez ingénieur dans 100 jours ――Jour 74 ――Programmation ――À propos du scraping 5
Vous serez ingénieur dans 100 jours ――Jour 73 ――Programmation ――À propos du scraping 4
Vous serez ingénieur dans 100 jours ――Jour 75 ――Programmation ――À propos du scraping 6
Vous deviendrez ingénieur dans 100 jours --Jour 68 --Programmation --A propos de TF-IDF
Vous serez ingénieur dans 100 jours ――Jour 70 ――Programmation ――À propos du grattage
Vous serez ingénieur dans 100 jours ――Jour 63 ――Programmation ――À propos de la probabilité 1
Vous serez ingénieur dans 100 jours ――Jour 65 ――Programmation ――A propos de la probabilité 3
Vous serez ingénieur dans 100 jours ――Jour 64 ――Programmation ――À propos de la probabilité 2
Vous serez ingénieur dans 100 jours --Jour 86 --Base de données -
Vous serez ingénieur dans 100 jours ―― Jour 60 ―― Programmation ―― À propos de la structure des données et de l'algorithme de tri
Vous serez ingénieur dans 100 jours - Jour 27 - Python - Exercice Python 1
Vous serez ingénieur dans 100 jours - Jour 34 - Python - Exercice Python 3
Vous serez ingénieur dans 100 jours - Jour 31 - Python - Python Exercice 2
Vous devenez ingénieur en 100 jours ――Jour 67 ――Programmation ――A propos de l'analyse morphologique
Vous devenez ingénieur en 100 jours ――Jour 66 ――Programmation ――À propos du traitement du langage naturel
Vous serez ingénieur dans 100 jours ――Jour 24 ―― Python ―― Bases du langage Python 1
Vous serez ingénieur dans 100 jours ――Jour 30 ―― Python ―― Bases du langage Python 6
Vous serez ingénieur dans 100 jours ――Jour 25 ―― Python ―― Bases du langage Python 2
Vous serez ingénieur dans 100 jours - Jour 33 - Python - Bases du langage Python 8
Vous serez ingénieur dans 100 jours --Jour 26 --Python --Basiques du langage Python 3
Vous devenez ingénieur en 100 jours - Jour 35 - Python - Ce que vous pouvez faire avec Python
Devenez bientôt un ingénieur IA! Apprenez complètement Python / AI / Machine learning / Deep learning / Analyse statistique en quelques jours!
Vous devez faire attention aux commandes que vous utilisez quotidiennement dans l'environnement de production.
À propos des tests dans la mise en œuvre de modèles d'apprentissage automatique
Apprentissage automatique sur le surapprentissage
Enregistrement d'apprentissage de la programmation 2ème jour
Jusqu'à ce qu'un ingénieur qui était autrefois frustré par l'apprentissage automatique parvienne à utiliser l'apprentissage automatique au travail
Apprentissage automatique dans Delemas (s'entraîner)
Une introduction à l'apprentissage automatique
À propos de la matrice mixte d'apprentissage automatique
Programmation Python Machine Learning> Mots-clés
Que diriez-vous d'Anaconda pour créer un environnement d'apprentissage automatique avec Python?
Apprenez le machine learning à tout moment et en tout lieu dans l'environnement Jupyter Notebook à la demande