예제 #1
0
    def fit(self, verbose=False):
        data = self.data

        # split into train and test data
        train = data.T[0:150000]
        test = data.T[150000:]
        x_train = train.T[0:6].T
        y_train = train.T[6].T
        x_test = test.T[0:6].T
        y_test = test.T[6].T

        # train the model
        mlp = MLPRegressor()
        mlp.hidden_layer_sizes = self.hidden_layer_sizes
        mlp.activation = self.activation
        mlp.solver = self.solver
        mlp.alpha = self.alpha
        mlp.fit(x_train, y_train)
        self.mlp = mlp

        # predict
        y_train_p = mlp.predict(x_train)
        y_test_p = mlp.predict(x_test)

        # print training and test error
        train_error = np.mean((y_train - y_train_p)**2)
        test_error = np.mean((y_test - y_test_p)**2)
        if verbose:
            print(mlp.get_params())
            print("average training error is : %f" % (train_error))
            print("average test error is : %f" % (test_error))
        return train_error, test_error