Exemplo n.º 1
0
def run_code(model,batch_size,syn):
    global target,mode,df,X_train,y_train,X_test,y_test
    verbose, epochs = 1, 100
    history = model.fit(X_train,y_train,epochs=epochs,validation_data=(X_test,y_test),batch_size=batch_size,verbose=verbose,callbacks=callbacks)
    def history_plot(history_model,name):   
        fig, ax = plt.subplots(figsize=(6.4, 4.8))
        ax.plot (history_model.history['loss'])
        ax.plot (history_model.history['val_loss'])
        ax.set_title ('model loss:{}'.format(name))
        ax.set_xlabel('epoch')
        ax.legend(['train','val'],loc='upper left')
        fig.savefig(save_path+'/loss_{}.png'.format(name), dpi=100, bbox_inches='tight') 
        fig.clear()
        plt.close(fig)
    history_plot(history,syn)    
    
    trainPredict = model.predict(X_train)
    testPredict = model.predict(X_test)
    #---------- Inverse ------------------#
    # y_train = scaler_tar.inverse_transform(y_train)
    # trainPredict = scaler_tar.inverse_transform(trainPredict.reshape(y_train.shape))
    # y_test = scaler_tar.inverse_transform(y_test)
    # testPredict = scaler_tar.inverse_transform(testPredict.reshape(y_test.shape))

    record_list_result(syn,df,mode,y_train,y_test,trainPredict,testPredict,target,batch_size,save_path,n_past,n_features,n_future)
Exemplo n.º 2
0
def wav_dl_wav_run(model_list, batch, syn):
    X, _ = autosplit(data_cA3)
    cA3ytrain, cA3ytest = run_code_editv2(model_list, X, yA3_ori, batch)

    _, Y = autosplit(data_mar)
    y_train, y_test = Y[0], Y[1]

    scaler_t = StandardScaler()
    y_train = scaler_t.fit_transform(y_train)
    y_train = scaler_t.inverse_transform(y_train)

    scaler = StandardScaler()
    trainPredict = scaler.fit_transform(cA3ytrain)
    trainPredict = scaler_t.inverse_transform(trainPredict)

    scaler_t = StandardScaler()
    y_test = scaler_t.fit_transform(y_test)
    y_test = scaler_t.inverse_transform(y_test)

    scaler = StandardScaler()
    testPredict = scaler.fit_transform(cA3ytest)
    testPredict = scaler_t.inverse_transform(testPredict)

    record_list_result(syn, df, DLtype, y_train, y_test, trainPredict,
                       testPredict, target, batch_size, save_path, n_past,
                       n_features, n_future)
    return
Exemplo n.º 3
0
def run_code_alone(model, batch_size, syn, cAcD, minmaxscaler, flag_pca):
    global target, mode, callbacks
    df_scaled = call_data()

    ##############Wavelet or not############
    if cAcD:
        X_train, cDX_train, y_train, X_test, cDX_test, y_test = Wavtrain_test_split_xy(
            df_scaled, pca=flag_pca)
        if flag_pca == True: syn = syn + '_wcA_PCA'
        else: syn = syn + '_wcA'

    else:
        X_train, y_train, X_test, y_test = train_test_split_xy(df_scaled,
                                                               pca=flag_pca)
        if flag_pca == True: syn = syn + '_PCA'
        else: pass
    ##############Scale or not####################
    if minmaxscaler == True:
        scaler = MinMaxScaler().fit(flatten(X_train))
        X_train = scale(X_train, scaler)
        scaler = MinMaxScaler().fit(flatten(X_test))
        X_test = scale(X_test, scaler)
        syn = syn + '_MinMaxLayer'
    else:
        pass
    #####################################################

    print('*' * 20, syn, '*' * 20)
    print("shape")
    print(X_train.shape, y_train.shape)
    print(X_test.shape, y_test.shape)
    history = model.fit(X_train,
                        y_train,
                        epochs=epochs,
                        validation_data=(X_test, y_test),
                        batch_size=batch_size,
                        verbose=verbose,
                        callbacks=callbacks)
    ########### plot loss ########################
    history_plot(history, syn)
    #################################################
    trainPredict = model.predict(X_train).astype('float32')
    testPredict = model.predict(X_test).astype('float32')
    trainPredict, testPredict = trainPredict.reshape(
        y_train.shape), testPredict.reshape(y_test.shape)
    # y_train_ori = scaler_tar.inverse_transform(y_train)
    # trainPredict = scaler_tar.inverse_transform(trainPredict)
    # y_test_ori = scaler_tar.inverse_transform(y_test)
    # testPredict = scaler_tar.inverse_transform(testPredict)
    y_train_ori, y_test_ori = y_train.astype('float32'), y_test.astype(
        'float32')
    # model.save(save_path+'/{}.h5'.format(syn))
    record_list_result(syn, df_scaled, mode, y_train_ori, y_test_ori,
                       trainPredict, testPredict, target, batch_size,
                       save_path, n_past, n_features, n_future)
    return
Exemplo n.º 4
0
def run_code(model, batch_size, syn, minmaxscaler, flag_pca):
    global target, mode
    syn = syn + '_wcAcD'

    if flag_pca == True: syn = syn + '_PCA'
    else: syn = syn + '_NoPCA'

    ################### Scale #######################

    df_mars = call_data()
    cAX_train, cDX_train, y_train, cAX_test, cDX_test, y_test = Wavtrain_test_split_xy(
        df_mars, pca=flag_pca)

    ##############Scale or not####################
    if minmaxscaler == True:
        scaler = MinMaxScaler().fit(flatten(cAX_train))
        cAX_train = scale(cAX_train, scaler)
        scaler = MinMaxScaler((0, 1)).fit(flatten(cDX_train))
        cDX_train = scale(cDX_train, scaler)
        scaler = MinMaxScaler().fit(flatten(cAX_test))
        cAX_test = scale(cAX_test, scaler)
        scaler = MinMaxScaler((0, 1)).fit(flatten(cDX_test))
        cDX_test = scale(cDX_test, scaler)
        syn = syn + '_MinMaxLayer'
    else:
        pass
    #################################################
    print('*' * 20, syn, '*' * 20)
    print("shape :")
    print(cAX_test.shape, cDX_test.shape, y_test.shape)
    print('*' * 20, syn, '*' * 20)
    #################################################
    validataion = ([cAX_test, cDX_test], y_test)
    history = model.fit(x=[cAX_train, cDX_train],
                        y=y_train,
                        epochs=epochs,
                        batch_size=batch_size,
                        verbose=verbose,
                        validation_data=validataion,
                        callbacks=callbacks)
    ########### plot loss ########################
    history_plot(history, syn)
    #################################################
    trainPredict = model.predict([cAX_train, cDX_train]).astype('float32')
    testPredict = model.predict([cAX_test, cDX_test]).astype('float32')
    trainPredict, testPredict = trainPredict.reshape(
        y_train.shape), testPredict.reshape(y_test.shape)
    y_train_ori, y_test_ori = y_train, y_test
    # model.save(save_path+'/{}.h5'.format(syn))
    record_list_result(syn, df_mars, mode, y_train_ori, y_test_ori,
                       trainPredict, testPredict, target, batch_size,
                       save_path, n_past, n_features, n_future)
Exemplo n.º 5
0
def run_code(model,batch_size,syn):
    global target,mode,df,cX_train,cX_test,cy_train,cy_test
    verbose, epochs = 1, 100
    history = model.fit(cX_train[0],cy_train[0],epochs=epochs,validation_data=(cX_test[0],cy_test[0]),batch_size=batch_size,verbose=verbose,callbacks=callbacks)
    trainPredic_cA = model.predict(cX_train[0])
    testPredict_cA = model.predict(cX_test[0])
    
    history = model.fit(cX_train[1],cy_train[1],epochs=epochs,validation_data=(cX_test[1],cy_test[1]),batch_size=batch_size,verbose=verbose,callbacks=callbacks)
    trainPredict_cD = model.predict(cX_train[1])
    testPredict_cD = model.predict(cX_test[1])
    
    trainPredic_cA = scaler_cA.inverse_transform(trainPredic_cA)
    trainPredict_cD = scaler_cD.inverse_transform(trainPredict_cD)
    testPredict_cA = scaler_cAt.inverse_transform(testPredict_cA)
    testPredict_cD = scaler_cDt.inverse_transform(testPredict_cD)

    def iwave(cA,cD):
        iwave = list()
        for i in range(cA.shape[0]):
            # wave = pywt.idwt(cA[i,:],cD[i,:], 'db4')
            wave = pywt.iswt((cA[i,:],cD[i,:]), 'db4')
            iwave.append(wave)
        return np.array(iwave)
    trainPredict = iwave(trainPredic_cA,trainPredict_cD)
    testPredict = iwave(testPredict_cA,testPredict_cD)

    def history_plot(history_model,name):   
        fig, ax = plt.subplots(figsize=(6.4, 4.8))
        ax.plot (history_model.history['loss'])
        ax.plot (history_model.history['val_loss'])
        ax.set_title ('model loss:{}'.format(name))
        ax.set_xlabel('epoch')
        ax.legend(['train','val'],loc='upper left')
        fig.savefig(save_path+'/loss_{}.png'.format(name), dpi=100, bbox_inches='tight') 
        fig.clear()
        plt.close(fig)
    # history_plot(history,syn)    


    #---------- Inverse ------------------#
    # y_train = scaler_tar.inverse_transform(y_train)
    # trainPredict = scaler_tar.inverse_transform(trainPredict.reshape(y_train.shape))
    # y_test = scaler_tar.inverse_transform(y_test)
    # testPredict = scaler_tar.inverse_transform(testPredict.reshape(y_test.shape))

    record_list_result(syn,df,mode,y_train,y_test,trainPredict,testPredict,target,batch_size,save_path,n_past,n_features,n_future)
Exemplo n.º 6
0
def wav_dl_wav_run(model_list, batch, syn):
    X, _ = autosplit(data_cA3)
    cA3ytrain, cA3ytest = run_code_editv2(model_list[0], X, yA3_ori, batch)
    X, _ = autosplit(data_cD3)
    cD3ytrain, cD3ytest = run_code_editv2(model_list[1], X, yD3_ori, batch)
    X, _ = autosplit(data_cD2)
    cD2ytrain, cD2ytest = run_code_editv2(model_list[2], X, yD2_ori, batch)
    # X,_=autosplit(data_cD1)
    # cD1ytrain,cD1ytest = run_code_editv2(model_list[3],X,yD1_ori,batch)

    trainPredict = inverse_WT([cA3ytrain, cD3ytrain, cD2ytrain])  #,cD1ytrain])
    testPredict = inverse_WT([cA3ytest, cD3ytest, cD2ytest])  #,cD1ytest])

    _, Y = autosplit(data_mar)
    y_train, y_test = Y[0], Y[1]
    record_list_result(syn, df, DLtype, y_train, y_test, trainPredict,
                       testPredict, target, batch_size, save_path, n_past,
                       n_features, n_future)
Exemplo n.º 7
0
def wav_dl_wav_run(model_list, batch, syn):
    global n_features
    check_PCA = True

    n_features = n_pca
    X, _ = autosplit(data_cA3, check_PCA)
    cA3ytrain, cA3ytest = run_code_editv2(model_list[0], X, yA3_ori, batch)
    X, _ = autosplit(data_cA2, check_PCA)
    cA2ytrain, cA2ytest = run_code_editv2(model_list[0], X, yA2_ori, batch)
    X, _ = autosplit(data_cA1, check_PCA)
    cA1ytrain, cA1ytest = run_code_editv2(model_list[0], X, yA1_ori, batch)
    X, _ = autosplit(data_cD3, check_PCA)
    cD3ytrain, cD3ytest = run_code_editv2(model_list[1], X, yD3_ori, batch)
    X, _ = autosplit(data_cD2, check_PCA)
    cD2ytrain, cD2ytest = run_code_editv2(model_list[2], X, yD2_ori, batch)
    X, _ = autosplit(data_cD1, check_PCA)
    cD1ytrain, cD1ytest = run_code_editv2(model_list[3], X, yD1_ori, batch)

    trainPredict_3 = inverse_WT([cA3ytrain, cD3ytrain, cD2ytrain, cD1ytrain])
    testPredict_3 = inverse_WT([cA3ytest, cD3ytest, cD2ytest, cD1ytest])

    trainPredict_2 = inverse_WT([cA2ytrain, cD2ytrain, cD1ytrain])
    testPredict_2 = inverse_WT([cA2ytest, cD2ytest, cD1ytest])
    trainPredict_1 = inverse_WT([cA1ytrain, cD1ytrain])
    testPredict_1 = inverse_WT([cA1ytest, cD1ytest])
    #-------------------------------
    n_features = len(data_mar.columns)
    _, Y = autosplit(data_mar)
    y_train, y_test = Y[0], Y[1]
    record_list_result('c3' + syn, df, DLtype, y_train, y_test, trainPredict_3,
                       testPredict_3, target, batch_size, save_path, n_past,
                       n_features, n_future)
    record_list_result('c2' + syn, df, DLtype, y_train, y_test, trainPredict_2,
                       testPredict_2, target, batch_size, save_path, n_past,
                       n_features, n_future)
    record_list_result('c1' + syn, df, DLtype, y_train, y_test, trainPredict_1,
                       testPredict_1, target, batch_size, save_path, n_past,
                       n_features, n_future)
    n_features = n_pca