In [3]:
from pandas import DataFrame, concat

In [1]:
# create sequence
length = 10
sequence = [i / float(length) for i in range(length)]

In [10]:
df = DataFrame(sequence)
df = concat([df.shift(1), df], axis=1)
df.dropna(inplace=True)

values = df.values
X, y = values[:, 0], values[:, 1]

In [11]:
df


Out[11]:
0 0
1 0.0 0.1
2 0.1 0.2
3 0.2 0.3
4 0.3 0.4
5 0.4 0.5
6 0.5 0.6
7 0.6 0.7
8 0.7 0.8
9 0.8 0.9

In [12]:
X


Out[12]:
array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8])

In [13]:
y


Out[13]:
array([ 0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])

In [18]:
from keras.models import Sequential
from keras.layers import Dense
from sklearn.metrics import mean_squared_error

def fit_model(X, y):
    model = Sequential()
    model.add(Dense(10, input_dim=1))
    model.add(Dense(1))
    model.compile(loss='mean_squared_error', optimizer='adam')
    model.fit(X, y, epochs=100, batch_size=len(X), verbose=0)
    yhat = model.predict(X, verbose=0)
    print(mean_squared_error(y, yhat[:, 0]))

In [23]:
import numpy as np
from tensorflow import set_random_seed
np.random.seed(1)
set_random_seed(2)

# repeat experiment
repeats = 10
for _ in range(repeats):
    fit_model(X, y)


0.224562145077
0.00151052173366
0.00386903845727
0.0291074615536
0.00945919807316
0.0132488233332
0.0204295457932
0.0358127851784
0.00440309365743
0.299993946751

In [ ]: