[PYTHON] Einfache Implementierung einer Regressionsanalyse mit Keras

1. Zuallererst

(Achtung: Der Autor ist nicht auf dieses Gebiet spezialisiert, daher kann es an Erklärungen oder Fehlern mangeln.) Dieser Artikel bringt die Diskussion über die Implementierung einer einfachen Regressionsanalyse in Keras durcheinander. Das Jupyter-Notizbuch wird auf GitHub veröffentlicht, sodass Sie es ausprobieren können, sobald Sie die Umgebung haben. Für eine einfache Regressionsanalyse verweisen wir auf Udemys [Kikagaku-Stil] künstliche Intelligenz / maschinelles Lernen. Diejenigen, die detaillierte Erklärungen sehen möchten, werden gebeten, daran teilzunehmen. [Kikagaku-Stil] Künstliche Intelligenz / maschinelles Lernen De-Black-Box-Kurs-Anfänger- https://www.udemy.com/course/kikagaku_blackbox_1/learn/lecture/8258758#overview

Klicken Sie hier für Notizbuch Führen Sie SimpleRegressionAnalysis_2.ipynb aus. Die Ausführungsumgebung usw. wird am Anfang des Notizbuchs beschrieben. https://github.com/moriitkys/SimpleRegressionAnalysis

2. Einfache Regressionsanalyse verschiedene Kommentare

Die Erklärung der einfachen Regressionsanalyse wird auf leicht verständliche Weise wie folgt zusammengefasst. "Eine Zielvariable wird durch eine erklärende Variable vorhergesagt, und die Beziehung zwischen den beiden Variablen wird in Form einer linearen Gleichung Y = aX + b ausgedrückt. Wenn a (Steigung) und b (Y-Abschnitt) bekannt sind, , Y (Gewicht) kann aus X (Größe) vorhergesagt werden. " https://www.albert2005.co.jp/knowledge/statistics_analysis/multivariate_analysis/single_regression

Auch diese Seite erklärt im Detail. Gründliche Erklärung der Regressionsanalyse (Einzelregressionsanalyse) auf leicht verständliche Weise! https://udemy.benesse.co.jp/ai/regression-analysis.html

Unten sehen Sie ein Diagramm, was diesmal zu tun ist. sra_flow.png

3. Einfache Regressionsanalyse Keras

Eine einfache Regressionsanalyse wird unter Verwendung einer Bibliothek für neuronale Netze namens Keras durchgeführt. Es ist in Python geschrieben und kann auf Tensorflow ausgeführt werden. Diesmal ist es eine einfache Regressionsanalyse Modellerstellung: model=Sequential() model.add() (Achtung: Wird nicht aktiviert) Modellinitialisierung model.init() Beginnen Sie mit dem Training des Modells model.fit() Modell erraten model.prediction() Es wird ein Fluss wie. Der Code ist dieser Teil.

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)

Es hat die folgende einfache Form. sra_sra_nodes.png

Daher hat das Ergebnis von model.summary () auch einen Parameter. sra_modelsummary.PNG

Wenn es sich um eine multiple Regressionsanalyse handelt, sieht sie wie folgt aus. sra_mra_nodes.png

Infolge des Lernens änderte sich der Verlustwert wie folgt und es scheint, dass er sofort angepasst wurde. Die Anzahl der Epochen liegt auf der horizontalen Achse. sra_loss.png

4. Führen Sie Jupyter Notebook aus

Das Modell des Ergebnisses des Findens eines Modells durch Berechnen, Einstellen und Minimieren der Bewertungsfunktion und das Ergebnis des Findens des Modells durch Keras sind wie folgt. sra_result.png

Die grün dargestellten Punkte sind das Ergebnis von Vermutungen, indem die 98. bis 108. RMs des Immobilienpreisdatensatzes in das Modell der diesmal erstellten einfachen Regressionsanalyse eingegeben wurden. Da es sich um ein gerades Modell handelt, können Sie sehen, dass es auf der geraden Linie erraten wird. Übrigens, wenn Sie Keras verwenden, liegen die Daten im Bereich von 0 bis 1, aber seien Sie vorsichtig, da Sie nicht lernen können, wenn Sie sie normal eingeben (Sie können mit dieser Notebook-Methode nicht lernen). Daher unterscheidet sich der Wert von a auch stark von dem durch die Formel berechneten, aber es scheint, dass beide auf die gleiche Weise an die Daten angepasst werden.

Bonus

Um die ursprüngliche Absicht nicht zu vergessen, habe ich das Lesen von Daten in Pandas mit einer for-Schleife in SimpleRegressionAnalysis_3.ipynb neu geschrieben. Wenn Sie gerade erst mit maschinellem Lernen beginnen und nicht wissen, was Sie hier tun, nur als Referenz.

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])

Es ist so. Artikel können aktualisiert werden.

Referenz 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

Einfache Implementierung einer Regressionsanalyse mit Keras
Einfache Regressionsanalyse mit Python
Erste einfache Regressionsanalyse in Python
Regressionsanalyse mit Python
Multiple Regressionsanalyse mit Keras
2. Multivariate Analyse in Python 1-1. Einfache Regressionsanalyse (Scikit-Learn)
2. Multivariate Analyse in Python 1-2. Einfache Regressionsanalyse (Algorithmus)
Algorithmus für maschinelles Lernen (Einzelregressionsanalyse)
Einfache Regressionsanalyse, verstanden durch mathematische Überprüfung des Moore'schen Gesetzes an der High School
Maschinelles Lernen mit Python (2) Einfache Regressionsanalyse
Poisson-Regressionsanalyse
Shakedrops Keras-Implementierung
RNN-Implementierung in Python
Schreiben Sie DCGAN mit Keras
ValueObject-Implementierung in Python
Führen Sie die Sortierimplementierung / Berechnungsmengenanalyse zusammen und experimentieren Sie in Python
Hard-Swish mit Keras implementiert
2. Multivariate Analyse in Python 7-3. Entscheidungsbaum [Rückgabebaum]
Python Scikit-learn Lineare Regressionsanalyse Nichtlineare einfache Regressionsanalyse Maschinelles Lernen
Berechnen Sie den Regressionskoeffizienten der einfachen Regressionsanalyse mit Python
Assoziationsanalyse in Python
Führen Sie eine Regressionsanalyse mit NumPy durch
SVM-Implementierung in Python
[Einführung in Data Scientists] Deskriptive Statistik und einfache Regressionsanalyse ♬
2. Multivariate Analyse in Python 5-3. Logistische Regressionsanalyse (Statistikmodelle)
Implementieren Sie LSTM AutoEncoder mit Keras
Mehrfacher Regressionsausdruck in Python
Visualisieren Sie das Keras-Modell mit Python 3.5
Was ist eine logistische Regressionsanalyse?
Axialsymmetrische Spannungsanalyse mit Python
Zeitreihenanalyse Die Implementierung steckt fest.
Implementierung einer unabhängigen Komponentenanalyse
Implementierung eines neuronalen Netzwerks in Python
Online lineare Regression in Python
Implementierung der schnellen Sortierung in Python
Einfacher IRC-Client mit Python
Eine einfache Datenanalyse von Bitcoin, die von CoinMetrics in Python bereitgestellt wird
2. Multivariate Analyse in Python 6-2. Ridge-Regression / Lasso-Regression (Scikit-Learn) [Ridge-Regression vs. Lasso-Regression]
[Statistischer Test 2. Klasse / quasi 1. Klasse] Regressives Analysetraining mit Python (1)