def run_network(sklearn, NN, lmbd, eta, act_h, act_o, hn, epochs, tol, batch_size, n_categories, color_iter=0, length=1): costs = None if sklearn: if NN: # NN Regress using sklearn - Somewhat reasonable, needs tuning. mlpr = MLPRegressor(hidden_layer_sizes=hn, activation=act_h, solver="adam", alpha=lmbd, learning_rate_init=eta) mlpr.fit(XTrain, yTrain) yTrue, yPred = yTest, mlpr.predict(XTest) ypred = mlpr.predict(X) R2 = mlpr.score(XTest, yTrue.ravel()) MSE = 1.0 #Not implemented else: # Linear regression using Sklearn - Initial results prefer this mlpr = LinearRegression() mlpr.fit(XTrain, yTrain) yTrue, yPred = yTest, mlpr.predict(XTest) R2 = mlpr.score(XTest, yTrue.ravel()) MSE = 1.0 ypred = mlpr.predict(X) else: if NN: # My regression NN - Outputs 50 :) mlpr = NeuralNetwork(XTrain, yTrain.reshape(-1, 1), XTest, yTest.reshape(-1, 1), eta=eta, lmbd=lmbd, n_hidden_neurons=hn, act_h=act_h, act_o=act_o, epochs=epochs, tol=tol, batch_size=batch_size, nn_type="regression", cost="mse", n_categories=n_categories, length=length) costs, scores = mlpr.train() # Find full data prediction #mlpr.plot_costs(color_iter) # Plot cost mlpr.plot_scores(color_iter) # Plot scores MSE = scores[-1, 1, 0] R2 = scores[-1, 1, 1] # full prediction ypred = mlpr.predict_a_o(X) else: # Run my regression raise NotImplementedError("Insert lasso n stuff") return MSE, R2, ypred, costs, mlpr