Réseau de neurones avec Python (scikit-learn)

2020/2 ajouté

Un contenu plus détaillé est publié sur le blog suivant. https://kakedashi-engineer.appspot.com/2020/02/03/ml-sklearn/

Bibliothèque de réseaux neuronaux

Il y a plusieurs fois où je veux jouer avec un réseau de neurones (perceptron multicouche). Récemment, de nombreuses bibliothèques pour tensorflow, chainer, theano et deep learning ont été publiées, mais il peut être un peu gênant de créer un environnement. Et pour une raison quelconque, le réseau de neurones n'a pas été implémenté dans scicit-learn, ce qui est familier dans l'apprentissage automatique. (Au fait, il existe également une bibliothèque appelée PyBrain) scikit-learn 0.18.0 Cependant, le réseau de neurones a finalement été implémenté dans la version 0.18.0 publiée en septembre 2016. Vous pouvez maintenant utiliser le réseau neuronal avec l'API super simple familière. Tu l'as fait. Dans l'exemple de code ci-dessous, la classification de l'iris est effectuée.

sklearn_nn.py


# -*- coding: utf-8 -*-
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))

neural_network.MLPClassifier() outre neural_network.BernoulliRBM() neural_network.MLPRegressor() etc.

API À propos des arguments pris par neural_network.MLPClassifier (). Pour plus d'informations officiel http://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html#sklearn.neural_network.MLPClassifier Je veux que vous voyiez, mais je vais le résumer brièvement. (Le côté droit est la valeur par défaut)

python


hidden_layer_sizes=(100, )#Nombre de nœuds de couche masqués(Peut être multicouche)
activation='relu'#Fonction d'activation(identify, logistic, tanh, relu)
solver='adam'#Méthode d'optimisation(lbfgs(Méthode Semi-Newton), sgd, adam)
alpha=0.0001
batch_size='auto'#Taille du lot(sgd,Postuler avec Adam)
learning_rate='constant'
learning_rate_init=0.001
power_t=0.5
max_iter=200#Nombre maximum d'époques
shuffle=True#Mélangez l'échantillon à chaque itération
random_state=None
tol=0.0001
verbose=False
warm_start=False
momentum=0.9
nesterovs_momentum=True
early_stopping=False
validation_fraction=0.1
beta_1=0.9
beta_2=0.999
epsilon=1e-08

Vous pouvez voir qu'il peut être réglé assez finement. N'est-ce pas suffisant pour la plupart des gens qui souhaitent utiliser un réseau neuronal? Cependant, GPGPU etc. ne peut pas être utilisé, donc ces personnes doivent utiliser le tensorflow etc. docilement.

Supplément: module model_selection

train_test_split était auparavant dans le module cross_validation, Il semble être passé de la 0.18.0 au module model_selection.

Recommended Posts

Réseau de neurones avec Python (scikit-learn)
Réseau neuronal avec OpenCV 3 et Python 3
3. Distribution normale avec un réseau neuronal!
Réseau de neurones commençant par Chainer
[Python] Régression linéaire avec scicit-learn
Implémentation de réseau neuronal en python
4. Entourez les paramètres avec un réseau neuronal!
Programmation réseau avec Python Scapy
Mesure de retard unidirectionnelle du réseau par python
PRML Chapitre 5 Implémentation Python du réseau neuronal
Modèle de classification simple avec réseau neuronal
[TensorFlow] [Keras] Construction d'un réseau neuronal avec Keras
Un exemple de python pour apprendre XOR avec un algorithme génétique sur un réseau neuronal
FizzBuzz en Python3
Composez avec un réseau neuronal! Run Magenta
Grattage avec Python
Statistiques avec python
Prédire les données de séries chronologiques avec un réseau neuronal
Grattage avec Python
Python avec Go
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
3. Traitement du langage naturel par Python 2-1. Réseau de co-occurrence
python commence par ()
DBSCAN avec scikit-learn
Persister le réseau de neurones construit avec PyBrain
Clustering avec scikit-learn (1)
avec syntaxe (Python)
Clustering avec scikit-learn (2)
PCA avec Scikit-learn
Bingo avec python
Zundokokiyoshi avec python
Mémo d'étude Python & Machine Learning ③: Réseau neuronal
kmeans ++ avec scikit-learn
2. Écart moyen et standard avec le réseau neuronal!
Excel avec Python
Micro-ordinateur avec Python
Réseau neuronal paramétrique
Cast avec python
[Python / Machine Learning] Pourquoi le Deep Learning # 1 Perceptron Neural Network
3. Traitement du langage naturel par Python 2-2. Réseau de co-occurrence [mecab-ipadic-NEologd]
Expérimentez avec divers algorithmes d'optimisation sur le réseau neuronal
Vérification de la normalisation des lots avec un réseau neuronal multicouche
Génération de configuration de réseau de modèles avec Python et Jinja2
Communication série avec Python
Zip, décompressez avec python
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Grattage en Python (préparation)
Validation croisée avec scikit-learn
Essayez de gratter avec Python.
Recherche séquentielle avec Python