[PYTHON] Implémentation simple de l'analyse de régression avec Keras

1.Tout d'abord

(Attention: l'auteur ne se spécialise pas dans ce domaine, il peut donc y avoir un manque d'explication ou des erreurs.) Cet article gâche la discussion sur la mise en œuvre d'une analyse de régression simple dans Keras. Le bloc-notes Jupyter sera publié sur GitHub, vous pourrez donc l'essayer dès que vous aurez l'environnement. Pour une analyse de régression simple, nous nous référons à Udemy [style Kikagaku] intelligence artificielle / apprentissage automatique de-boîte noire cours-édition débutant-. Il est recommandé à ceux qui souhaitent voir des explications détaillées d'y assister. [Style Kikagaku] Intelligence artificielle / apprentissage automatique Cours de boîte noire-Débutant- https://www.udemy.com/course/kikagaku_blackbox_1/learn/lecture/8258758#overview

Cliquez ici pour le cahier Exécutez SimpleRegressionAnalysis_2.ipynb. L'environnement d'exécution, etc. est décrit au début du notebook. https://github.com/moriitkys/SimpleRegressionAnalysis

2. Analyse de régression simple Commentaires divers

L'explication de l'analyse de régression simple est résumée comme suit d'une manière facile à comprendre. "Une variable objective est prédite par une variable explicative et la relation entre les deux variables est exprimée sous la forme d'une équation linéaire Y = aX + b. Si a (pente) et b (section Y) sont connus, , Y (poids) peut être prédit à partir de X (hauteur) " https://www.albert2005.co.jp/knowledge/statistics_analysis/multivariate_analysis/single_regression

En outre, cette page explique en détail. Explication approfondie de l'analyse de régression (analyse de régression unique) d'une manière facile à comprendre! https://udemy.benesse.co.jp/ai/regression-analysis.html

Voici un diagramme de ce qu'il faut faire cette fois. sra_flow.png

3. Analyse de régression simple Keras

Une analyse de régression simple est effectuée à l'aide d'une bibliothèque de réseaux de neurones appelée Keras. Il est écrit en Python et peut être exécuté sur Tensorflow. Cette fois, c'est une simple analyse de régression Création du modèle: model=Sequential() model.add() (Attention: ne s'active pas) Initialisation du modèle model.init() Commencez à entraîner le modèle model.fit() Devinez le modèle model.prediction() Cela devient un flux comme. Le code est cette partie.

SimpleRegressionAnalysis.ipynb


# Build model
model = Sequential()
model.add(Dense(1, input_shape=(s, ), use_bias=False))
opt = keras.optimizers.Adam(lr=0.04, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0003)
model.compile(optimizer=opt,
      loss='mean_squared_error',
      metrics=['mae'])

# Start training
history = model.fit(x_normalized, y_normalized, epochs=50, batch_size=20, verbose=1)

Il a la forme simple suivante. sra_sra_nodes.png

Par conséquent, le résultat de model.summary () a également un paramètre. sra_modelsummary.PNG

Si cela devient une analyse de régression multiple, cela ressemblera à ce qui suit. sra_mra_nodes.png

À la suite de l'apprentissage, la valeur de la perte a changé comme suit, et il semble qu'elle ait été ajustée immédiatement. Le nombre d'époques est sur l'axe horizontal. sra_loss.png

4. Exécuter en fait Jupyter Notebook

Le modèle du résultat de la recherche d'un modèle par calcul, réglage et minimisation de la fonction d'évaluation, et le résultat de la recherche du modèle par Keras sont les suivants. sra_result.png

Les points tracés en vert sont le résultat de la supposition en entrant les 98e à 108e RM de l'ensemble de données sur les prix des logements dans le modèle de l'analyse de régression simple créée cette fois. Puisqu'il s'agit d'un modèle droit, vous pouvez voir qu'il est deviné sur la ligne droite. Au fait, lors de l'utilisation de Keras, les données sont comprises entre 0 et 1, mais attention car vous ne pouvez pas apprendre si vous les entrez normalement (vous ne pouvez pas apprendre avec cette méthode de notebook). Par conséquent, la valeur de a est également très différente de celle calculée par la formule, mais il semble que les deux sont ajustés aux données de la même manière.

prime

Afin de ne pas oublier l'intention initiale, j'ai mis une version réécrite de la lecture de données dans pandas avec une boucle for dans SimpleRegressionAnalysis_3.ipynb. Si vous venez de démarrer l'apprentissage automatique et que vous ne savez pas ce que vous faites ici, juste pour référence.

SimpleRegressionAnalysis_3.ipynb


with open('boston.csv') as f:
    reader = csv.reader(f)
    for row in reader:
        x_orig.append(row[6])
        y_orig.append(row[14])

C'est comme ça. Les articles peuvent être mis à jour.

référence https://matplotlib.org/ https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.subplot.html https://pandas.pydata.org/pandas-docs/stable/reference/frame.html https://scikit-learn.org/stable/ https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html#sklearn.datasets.load_boston https://seaborn.pydata.org/ https://keras.rstudio.com/articles/tutorial_basic_regression.html https://www.kaggle.com/xgdbigdata/keras-regression-tutorial https://github.com/KatsuhiroMorishita/machine_leaning_samples https://www.udemy.com/course/kikagaku_blackbox_1/learn/lecture/8258758#overview

Recommended Posts

Implémentation simple de l'analyse de régression avec Keras
Analyse de régression simple avec Python
Première analyse de régression simple en Python
Analyse de régression avec Python
Analyse de régression multiple avec Keras
2. Analyse multivariée définie dans Python 1-1. Analyse de régression simple (scikit-learn)
2. Analyse multivariée décrite dans Python 1-2. Analyse de régression simple (algorithme)
Algorithme d'apprentissage automatique (analyse de régression unique)
Analyse de régression simple comprise par les mathématiques du lycée-vérification de la loi de Moore
Apprentissage automatique avec python (2) Analyse de régression simple
Analyse de régression de Poisson
Implémentation Keras de Shakedrop
Implémentation RNN en python
Ecrire DCGAN avec Keras
Implémentation ValueObject en Python
Fusion de la mise en œuvre du tri / analyse du montant du calcul et de l'expérimentation en Python
Implémentation hard-swish avec Keras
2. Analyse multivariée expliquée dans Python 7-3. Arbre de décision [arbre de retour]
Python Scikit-learn Analyse de régression linéaire Analyse de régression simple non linéaire Apprentissage automatique
Calculer le coefficient de régression d'une analyse de régression simple avec python
Analyse d'association en Python
Effectuer une analyse de régression avec NumPy
Implémentation SVM en python
[Introduction aux Data Scientists] Statistiques descriptives et analyse de régression simple ♬
2. Analyse multivariée expliquée dans Python 5-3. Analyse de régression logistique (modèles statistiques)
Implémenter LSTM AutoEncoder avec Keras
Expression de régression multiple en Python
Visualiser le modèle Keras avec Python 3.5
Qu'est-ce que l'analyse de régression logistique?
Analyse des contraintes symétriques axiales avec Python
Analyse de séries chronologiques La mise en œuvre est bloquée-Notes-
Mise en œuvre d'une analyse de composants indépendante
Implémentation de réseau neuronal en python
Régression linéaire en ligne en Python
Implémentation du tri rapide en Python
Client IRC simple avec python
Une analyse simple des données de Bitcoin fournie par CoinMetrics en Python
2. Analyse multivariée définie dans Python 6-2. Régression Ridge / Régression Lasso (scikit-learn) [Régression Ridge vs régression Lasso]
[Test statistique 2e année / quasi 1e année] Formation à l'analyse régressive avec Python (1)