我目前有一个回归模型,试图根据其他25个值预测一个值。
以下是我目前提供的代码
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()
我知道现在这些变量都是随机的,所以准确度不会很好,但我只是想知道如何制作测试集并找到预测的准确性。
答案 0 :(得分:0)
通常,您将训练集分为两部分:大约2/3用于训练,1/3用于测试(意见因比例而异)。用第一套训练你的模型。检查训练准确性(通过模型运行训练集以查看它的正确数量)。
现在,通过模型运行余数(测试集)并检查预测与结果的匹配程度。 “找到准确性”取决于你所做的预测类型:分类与得分,二元与不相交与连续等等。