def make_score(df_list, output): """ Make global plot long short profit. :param df_list: list of pd dfs :param output: output path :return: None """ logger.info("in score plots") for item in df_list: df = item[0] df_name = item[1] if pc['prediction'] in df_name: score_ens_df = pd.DataFrame(columns=['model', 'r2', 'mse']) score_single_df = pd.DataFrame(columns=['model', 'r2', 'mse']) for i in df.columns.to_list(): if pc['prediction'] in i: scr_r2 = r2_score(df[mc["label"]], df[i]) scr_mse = mean_squared_error(df[mc["label"]], df[i]) score_single_df = score_single_df.append( {'model': i, 'r2': scr_r2, 'mse': scr_mse}, ignore_index=True ) if 'ens' in i: ens_scr_r2 = r2_score(df[mc["label"]], df[i]) ens_scr_mse = mean_squared_error(df[mc["label"]], df[i]) score_ens_df = score_ens_df.append( {'model': i, 'r2': ens_scr_r2, 'mse': ens_scr_mse}, ignore_index=True ) logger.info("df name: {}, single score df shape: {} ".format(df_name, score_single_df.shape)) logger.info("df name: {}, ens score df shape: {} ".format(df_name, score_ens_df.shape)) # single_name = str(df_name) + "_single" # ens_name = str(df_name) + "_ens" # score_ens_df = score_ens_df.sort_values(by=['r2'], ascending=False) # score_single_df = score_single_df.sort_values(by=['r2'], ascending=False) # plotter_sng = Plotter(score_single_df, single_name, output) # plotter_sng.plot_score_table() # plotter_ens = Plotter(score_ens_df, ens_name, output) # plotter_ens.plot_ens_score_table() plotter_sng = Plotter(score_single_df.sort_values(by=['r2'], ascending=False), str(df_name) + "_single", output) plotter_sng.plot_score_table() plotter_ens = Plotter(score_ens_df.sort_values(by=['r2'], ascending=False), str(df_name) + "_ens", output) plotter_ens.plot_ens_score_table()
def single_model_profit(df, csv_str, output): """ Plot daily profit and ls_profit by checking the columns :param df: pandas df :param csv_str: model name string :param output: output path :return: None """ if pc["profit_csv"] in csv_str: if pc["rf_csv"] in csv_str: output_loc = create_folder(output, csv_str) pl = Plotter(df, csv_str, output_loc) pl.plot_profit_template() else: output_loc = create_folder(output, csv_str) pl = Plotter(df, csv_str, output_loc) pl.plot_profit_template()
def make_metrics_plot(df, output): """ Plot metrics table :param df: pandas df :param output: output path :return: None """ pl = Plotter(df, "metrics", output) pl.plot_metrics_table()
discriminatorIterationsRatio = 1 dataRoot = './Data' #%% if (lookup): batchSize = 9 training_mode = False dataRoot = './Lookup' #%% if (not training_mode): epochs = 1 #%% generator = G(lookup=lookup) discriminator = D(lookup=lookup, batch_size=batchSize) plotter = Plotter(batchSize) noiseGenerator = NGen() generator.cuda() discriminator.cuda() #%% if (load_weights): generator.load_state_dict(load('./generator.pth')) discriminator.load_state_dict(load('./discriminator.pth')) #%% if (load_weights): generator.eval() discriminator.eval()