0

Ich habe derzeit ein Regressionsmodell, das versucht, einen Wert basierend auf 25 anderen vorherzusagen. HierSo testen Sie mein trainiertes Tensor Flow-Modell

ist der Code Ich habe zur Zeit

import tensorflow as tf 
import numpy as np 
import matplotlib.pyplot as plt 
rng = np.random 
learning_rate = 0.11 
training_epochs = 1000 
display_step = 50 
X = np.random.randint(5,size=(100,25)).astype('float32') 
y_data = np.random.randint(5,size=(100,1)).astype('float32') 
m = 100 
epochs = 100 
W = tf.Variable(tf.zeros([25,1])) 
b = tf.Variable(tf.zeros([1])) 
y = tf.add(tf.matmul(X,W), b) 
loss = tf.reduce_sum(tf.square(y - y_data))/(2 * m) 
loss = tf.Print(loss, [loss], "loss: ") 
optimizer = tf.train.GradientDescentOptimizer(.01) 

train = optimizer.minimize(loss) 

init = tf.initialize_all_variables() 

sess = tf.Session() 
sess.run(init) 

for i in range(epochs): 
    sess.run(train) 


sess.close() 

Ich verstehe, dass jetzt diese Variablen alle zufällig sind, so dass die Genauigkeit nicht sehr gut sowieso, aber ich will nur wissen, wie ein Test-Set zu machen und finde die Genauigkeit der Vorhersagen.

Antwort

0

Normalerweise teilen Sie Ihr Training in zwei Teile: ungefähr 2/3 für das Training und 1/3 für das Testen (die Meinungen variieren je nach Proportionen). Trainiere dein Modell mit dem ersten Set. Überprüfen Sie die Trainingsgenauigkeit (führen Sie das Trainingsset durch das Modell zurück, um zu sehen, wie viele es richtig geht).

Führen Sie nun den Rest (Testgruppe) durch das Modell und überprüfen Sie, wie gut die Vorhersagen mit den Ergebnissen übereinstimmen. "Finden Sie die Genauigkeit" hängt davon ab, welche Art von Vorhersagen Sie treffen: Klassifizierung vs Bewertung, binär vs disjunkt vs zusammenhängend, usw.