I first use train\_test\_split to separate the train and test data, code:

```
X=LOG.iloc[:,:-3]
y=LOG.iloc[:,-3]
X_train,X_test,y_train, y_test=train_test_split(X,y)

scaler=MinMaxScaler().fit(X)
X_train_scaled=scaler.transform(X_train)
X_test_scaled=scaler.transform(X_test)

for thisalpha in [0.1,1,10]:
    mlpreg=MLPRegressor(hidden_layer_sizes=(11,8,4),
                    activation ="tanh",
                    alpha = thisalpha,
                    solver ="lbfgs",max_iter=20000).fit(X_train_scaled, y_train)

    y_test_predict = mlpreg.predict(X_test_scaled)
    y_train_predict= mlpreg.predict(X_train_scaled)
    print "aipha = {}, train score= {:.4f}, test score = {:.4f}, iter_number={}, loss={:.4f}".format(
        thisalpha,
        mlpreg.score(X_train_scaled,y_train),
        mlpreg.score(X_test_scaled,y_test),
        mlpreg.n_iter_,
        mlpreg.loss_)

```

I get performance like this:

aipha = 0.1, train score= 0.7696, test score = 0.7358

aipha = 1, train score= 0.7419, test score = 0.7219

aipha = 10, train score= 0.6414, test score = 0.6494

Then I tried to use cross-validation to test the same dataset , I get much lower score:

```
X=LOG.iloc[:,:-3]
y=LOG.iloc[:,-3]

scaler= MinMaxScaler()

X_scaled=scaler.fit_transform(X)
clf=MLPRegressor(hidden_layer_sizes=(11,8,4),alpha= 
1,solver="lbfgs",max_iter=20000)
scores = cross_val_score(clf,X_scaled,y,cv=3)     

print scores

```

The cross\_val\_score are:

[0.04719619 0.36858483 0.36004186]