if __name__ == '__main__': best_estimator = None best_score = np.Inf for loop in np.arange(1, 20): n_input = 4 n_periodic = 1 n_hidden = 15 neural_shape = [n_input + n_periodic, n_hidden, 1] Q = 0.09 epsilon = 0.55 dataFeeder = TrafficFeeder() X_train, y_train = dataFeeder.fetch_traffic_training( n_input, 1, (40, 46)) X_test, y_test = dataFeeder.fetch_traffic_test(n_input, 1, (46, 48)) # retrieve = [n_input+1,(X_train,y_train,X_test,y_test)] acoNet = ACOEstimator(Q=Q, epsilon=epsilon) fit_param = {"neural_shape": neural_shape} acoNet.fit(X_train, y_train, **fit_param) fit_param["weights_matrix"] = acoNet.best_archive neuralNet = NeuralFlowRegressor() neuralNet.fit(X_train, y_train, **fit_param) y_pred = dataFeeder.convert(neuralNet.predict(X_test)) score = np.sqrt(mean_squared_error(y_pred, y_test)) if (score < best_score): best_estimator = acoNet print score # plot_fig(y_pred,y_test) print best_score, best_estimator
import pandas as pd import numpy as np import matplotlib.pyplot as plt from utils.SlidingWindowUtil import SlidingWindow from io_utils.GFeeder import GFeeder from estimators.NeuralFlow import NeuralFlowRegressor from utils.GraphUtil import * from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() dat = pd.read_csv('../sample_610_10min.csv',index_col=0,parse_dates=True) training_size = 3000 test_size = 600 gFeeder = GFeeder() dat.cpu_rate = np.array(scaler.fit_transform(dat.cpu_rate)) X_dat = np.array(list(SlidingWindow(dat.cpu_rate,sliding_number=4))) X_train = X_dat[:training_size] y_train = np.array(dat.cpu_rate[:training_size].tolist()).reshape(-1,1) X_test = X_dat[training_size + 1:training_size + 1 + test_size] y_test = np.array(dat.cpu_rate[training_size + 1:training_size + test_size + 1].tolist()).reshape(-1,1) nn = NeuralFlowRegressor(learning_rate=1E-03,hidden_nodes=np.array([55])) nn.fit(X_train,y_train) y_pred = nn.predict(X_test) plot_figure(y_pred=y_pred,y_true=y_test,title="Neural Flow sliding window 4")
import pandas as pd import numpy as np import matplotlib.pyplot as plt from utils.SlidingWindowUtil import SlidingWindow from io_utils.GFeeder import GFeeder from estimators.NeuralFlow import NeuralFlowRegressor from utils.GraphUtil import * from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() dat = pd.read_csv('../sample_610_10min.csv', index_col=0, parse_dates=True) training_size = 3000 test_size = 600 gFeeder = GFeeder() dat.cpu_rate = np.array(scaler.fit_transform(dat.cpu_rate)) X_dat = np.array(list(SlidingWindow(dat.cpu_rate, sliding_number=4))) X_train = X_dat[:training_size] y_train = np.array(dat.cpu_rate[:training_size].tolist()).reshape(-1, 1) X_test = X_dat[training_size + 1:training_size + 1 + test_size] y_test = np.array(dat.cpu_rate[training_size + 1:training_size + test_size + 1].tolist()).reshape(-1, 1) nn = NeuralFlowRegressor(learning_rate=1E-03, hidden_nodes=np.array([55])) nn.fit(X_train, y_train) y_pred = nn.predict(X_test) plot_figure(y_pred=y_pred, y_true=y_test, title="Neural Flow sliding window 4")
from estimators.NeuralFlow import NeuralFlowRegressor from utils.GraphUtil import * if __name__ == '__main__': n_input = 4 n_periodic = 1 n_hidden = 15 neural_shape = [n_input+n_periodic,n_hidden,1] cross_rate = 0.6 mutation_rate = 0.04 pop_size = 50 dataFeeder = TrafficFeeder() X_train,y_train = dataFeeder.fetch_traffic_training(n_input,1,(40,46)) X_test,y_test = dataFeeder.fetch_traffic_test(n_input,1,(46,48)) # retrieve = [n_input+1,(X_train,y_train,X_test,y_test)] gaEstimator = GAEstimator(cross_rate=cross_rate,mutation_rate=mutation_rate,pop_size=pop_size) fit_param = { "neural_shape":neural_shape } gaEstimator.fit(X_train,y_train,**fit_param) fit_param["weights_matrix"] = gaEstimator.best_archive neuralNet = NeuralFlowRegressor() neuralNet.fit(X_train,y_train,**fit_param) y_pred = dataFeeder.convert(neuralNet.predict(X_test)) print sqrt(mean_squared_error(y_pred,y_test)) plot_figure(y_pred,y_test)