我开始用tensorflow学习ML . 我用DNNRegressor Build 了一个模型来分析时间序列以太坊数据 . 带有测试数据的模型非常有效 .

我有两个问题,首先是如何用这个模型确定均方误差 .

第二个也是更重要的是,是否有可能提前一步预测下周预测?怎么样?

这是代码

from datetime import datetime
    import os
    import math
    import csv
    import numpy as np
    import tensorflow as tf
    import pickle
    import pandas
    from matplotlib import pyplot as plt
    from matplotlib.collections import LineCollection
    from six.moves.urllib.request import urlopen
    from six.moves.urllib.parse import urlencode



    df = pandas.read_csv('eth_1.csv')
    x=df[df.columns[0]]
    y=df[df.columns[1]]
    X=np.transpose(y)


    offset = int(X.shape[0] * 0.7)

    date_test,date_train= x[offset:], x[:offset]

    X_test, y_test = X[offset:], X[offset:]
    X_train, y_train = X[:offset], X[:offset]


    def test_tf():
      # Specify that all features have real-value data
      feature_columns = [tf.contrib.layers.real_valued_column("", dimension=1)]

      # Build 3 layer DNN with 10, 20, 10 units respectively.
      estimator = tf.contrib.learn.DNNRegressor(feature_columns=feature_columns,
                                                  hidden_units=[10, 20, 10])
      # Define the training inputs
      def get_train_inputs():
        x = tf.constant(X_train)
        y = tf.constant(y_train)

        return x, y

      # Fit model.
      estimator.fit(input_fn=get_train_inputs, steps=2000)

      # Define the test inputs
      def new_samples():
        return X_test

      y=estimator.predict(input_fn=new_samples)

      return list(y)



if __name__ == "__main__":

    from timeit import default_timer as timer

    num_runs=2
    print ("$$$$$Timing Tensorflow for %i runs"%(num_runs))
    start1 = timer()
    for i in range(num_runs):
        #print("Time for %i runs: %s sec"%(num_runs, timeit.timeit("test_tf()","from __main__ import test_tf", #number=num_runs)))
        tf_out =test_tf()
    end1=timer()
    print 'tf_out', tf_out
    print( "Time for %i runs is:%f"%(num_runs, end1-start1))

    plt.plot(date_train, y_train,'g-',label="Training Data ")
    plt.plot(date_test, y_test,'r-',label="Actual Stock Data ")
    plt.plot(date_test, tf_out,'b-',label="Tensorflow Prediction ")
    plt.gcf().autofmt_xdate()
    plt.legend(loc='best')
    plt.xlabel('Date')
    plt.gcf().autofmt_xdate()
    plt.show()

我尝试过先知和ARIMA,但我想尝试使用tensorflow的事件

谢谢!