コード例 #1
0
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
コード例 #2
0
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")
コード例 #3
0
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")
コード例 #4
0
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)