[PYTHON] Versuchen Sie eine Regression mit TensorFlow

Seit TensorFlow herauskam, habe ich versucht, etwas anderes als MNIST zu lernen. Wir werden eine Regression durchführen, um eine Korrelation zu erstellen. (Addition) Da die Ausgabe der Zwischenschicht für die Anzahl der Daten zu groß war, wurde der Wert der Zwischenschicht korrigiert.

Überblick

--Die verwendeten Daten sind Diaveten

Quellcode

import sklearn
import tensorflow as tf
from sklearn import datasets
import numpy as np

diabetes = datasets.load_diabetes()

#Lade Daten
print "load diabetes data"
data = diabetes["data"].astype(np.float32)
target = diabetes['target'].astype(np.float32).reshape(len(diabetes['target']), 1)
#Unterteilt in Trainingsdaten und Testdaten
N=342
x_train, x_test = np.vsplit(data, [N])
y_train, y_test = np.vsplit(target, [N])
N_test = y_test.size

x= tf.placeholder("float",shape=[None,10])

#1. Schicht Eingang 10 Ausgang 256
with tf.name_scope('l1') as scope:
    weightl1 = tf.Variable(tf.truncated_normal([10, 256], stddev=0.1),name="weightl1")
    biasel1 = tf.Variable(tf.constant(1.0, shape=[256]), name="biasel1")
    outputl1=tf.nn.relu(tf.matmul(x,weightl1) + biasel1)

#2. Schicht Eingang 256 Ausgang 1
with tf.name_scope('l2') as scope:
    weightl2 = tf.Variable(tf.truncated_normal([256, 1], stddev=0.1),name="weightl2")
    biasel2 = tf.Variable(tf.constant(1.0, shape=[1]), name="biasel2")
    outputl2=tf.nn.relu(tf.matmul(outputl1,weightl2) + biasel2)


    
"""
Funktion zur Fehlerberechnung
Berechnen Sie den Fehler mit MSE
"""
def loss(output):
    with tf.name_scope('loss') as scope:
        loss = tf.reduce_mean(tf.square(output - y_train))
    return loss


loss_op = loss(outputl2)
optimizer = tf.train.AdagradOptimizer(0.04)
train_step = optimizer.minimize(loss_op)

#Aufnahmefehler
best = float("inf")

#Initialisieren
init_op = tf.initialize_all_variables()

with tf.Session() as sess:
    #drin
    sess.run(init_op)
    for i in range(20001):
        loss_train = sess.run(loss_op, feed_dict={x:x_train})
        sess.run(train_step, feed_dict={x:x_train})
        if loss_train < best:
            best = loss_train
            best_match = sess.run(outputl2, feed_dict={x:x_test})
        if i %1000 == 0:
            print "step {}".format(i)
            pearson = np.corrcoef(best_match.flatten(), y_test.flatten())
            print 'train loss = {} ,test corrcoef={}'.format(best,pearson[0][1])
               

Ergebnis

load diabetes data
step 0
train loss = 29000.1777344 ,test corrcoef=0.169487254139
step 1000
train loss = 3080.2097168 ,test corrcoef=0.717823972634
step 2000
train loss = 2969.1887207 ,test corrcoef=0.72972180486
step 3000
train loss = 2938.4609375 ,test corrcoef=0.73486349373
step 4000
train loss = 2915.63330078 ,test corrcoef=0.737497869454
step 5000
train loss = 2896.14331055 ,test corrcoef=0.739029181368
step 6000
train loss = 2875.51708984 ,test corrcoef=0.74006814362
step 7000
train loss = 2856.36816406 ,test corrcoef=0.741115477047
step 8000
train loss = 2838.77026367 ,test corrcoef=0.742113966068
step 9000
train loss = 2822.453125 ,test corrcoef=0.743066699589
step 10000
train loss = 2807.88916016 ,test corrcoef=0.743988699821
step 11000
train loss = 2795.09057617 ,test corrcoef=0.744917437376
step 12000
train loss = 2783.8828125 ,test corrcoef=0.745871358086
step 13000
train loss = 2773.68457031 ,test corrcoef=0.747112534114
step 14000
train loss = 2764.80224609 ,test corrcoef=0.748115829411
step 15000
train loss = 2756.6628418 ,test corrcoef=0.748800330555
step 16000
train loss = 2749.1340332 ,test corrcoef=0.749471871992
step 17000
train loss = 2741.78881836 ,test corrcoef=0.750184567587
step 18000
train loss = 2734.56054688 ,test corrcoef=0.750722087518
step 19000
train loss = 2727.18579102 ,test corrcoef=0.751146409281
step 20000
train loss = 2719.29101562 ,test corrcoef=0.751330770654

Problem

Es scheint, dass Sie es ganz frei einstellen können. Es scheint, dass es einige Zeit dauern wird, es zu meistern.

Recommended Posts

Versuchen Sie eine Regression mit TensorFlow
Versuchen Sie es mit TensorFlow
Versuchen Sie TensorFlow MNIST mit RNN
Versuchen Sie es mit TensorFlow Part 2
Versuchen Sie Daten parallel zu Distributed TensorFlow
Versuchen Sie es mit verteiltem Tensorfluss
Zundokokiyoshi mit TensorFlow
Brechen Sie Blöcke mit Tensorflow
Probieren Sie TensorFlows RNN mit einem Basismodell aus
Versuchen Sie es mit Python.
Lineare Regression mit Statistikmodellen
Versuchen Sie Tensorflow mit einer GPU-Instanz unter AWS
Bootsrennen Vorhersage mit TensorFlow
Versuchen Sie SNN mit BindsNET
Regression mit einem linearen Modell
Führen Sie eine Regressionsanalyse mit NumPy durch
Kernel-Regression nur mit Numpy
Übersetzen Erste Schritte mit TensorFlow
Versuchen Sie, den Boden durch Rekursion herauszufordern
Verwenden Sie TensorFlow mit Intellij IDEA
Versuchen Sie, PythonTex mit Texpad zu verwenden.
Versuchen Sie, RBM mit Chainer zu implementieren.
Multiple Regressionsanalyse mit Keras
Versuchen Sie Google Mock mit C.
Ungefähre Sinusfunktion mit TensorFlow
Versuchen Sie es mit matplotlib mit PyCharm
Versuchen Sie, mit einer Shell zu programmieren!
Versuchen Sie die GUI-Programmierung mit Hy
Versuchen Sie Auto Encoder mit Pytorch
Probieren Sie die Python-Ausgabe mit Haxe 3.2 aus
Versuchen Sie die Matrixoperation mit NumPy
Ridge kehrt mit Mllib im Pyspark zurück
Versuchen Sie, XOR mit PyTorch zu implementieren
Probieren Sie verschiedene Dinge mit PhantomJS aus
Versuchen Sie Deep Learning mit FPGA
Aktienkursprognose mit Tensorflow
Versuchen Sie, Python mit Try Jupyter auszuführen
Versuchen Sie, Parfüm mit Go zu implementieren
Probieren Sie Selenium Grid mit Docker aus
Probieren Sie OpenCV mit Google Colaboratory aus
Versuchen Sie es mit Kaggle leicht maschinell
Versuchen Sie, Jupyter Hub mit Docker zu erstellen
Versuchen Sie es mit Folium mit Anakonda
Implementierung der logistischen Regression mit NumPy
Robuste lineare Regression mit Scikit-Learn
Versuchen Sie, eine lineare Regression mit Pytorch mit Google Colaboratory zu implementieren
[Statistik] [R] Versuchen Sie, die Teilungspunktregression zu verwenden.
Stellen Sie die Reproduzierbarkeit mit tf.keras in Tensorflow 2.3 sicher
Probieren Sie Deep Learning mit FPGA-Select-Gurken aus
Versuchen Sie es mit Python + Beautiful Soup
Lernen stärken 13 Probieren Sie Mountain_car mit ChainerRL aus.
Versuchen Sie, die in TensorFlow 0.12 hinzugefügte Visualisierung einzubetten
Passen Sie Modell / Ebene / Metrik mit TensorFlow an
Inferenz- und Ergebnisanzeige mit Tensorflow + matplotlib
Klassifizieren Sie "Wein" mit TensorFlow MLP-Code
Versuchen Sie, Facebook mit Python zu betreiben
[TensorFlow 2] Lernen Sie RNN mit CTC-Verlust
Versuchen Sie die Singularwertzerlegung mit Python
Anfänger des maschinellen Lernens versuchen eine lineare Regression