def run(self): # get data df_train = pd.read_csv(self.input()[0].path, header=[0, 1]) df_test = pd.read_csv(self.input()[1].path, header=[0, 1]) df_train_no_covariance_shift = pd.read_csv(self.input()[2].path, header=[0, 1]) evaluation_setups = [EvaluationStruct("Proposed", rf)] # evaluate the different methods df_adapted = evaluate_data(df_train, noise_levels, df_test, noise_levels, evaluation_setups=evaluation_setups) df_adapted["data"] = "adapted" df_no_adaptation = evaluate_data( df_train.drop("weights", axis=1), noise_levels, df_test, noise_levels, evaluation_setups=evaluation_setups) df_no_adaptation["data"] = "source" df_no_covariance_shift = evaluate_data( df_train_no_covariance_shift, noise_levels, df_test, noise_levels, evaluation_setups=evaluation_setups) df_no_covariance_shift["data"] = "target" df = pd.concat([df_adapted, df_no_adaptation, df_no_covariance_shift]) # plot it sns.boxplot(data=df, x="noise added [sigma %]", y="Errors", hue="data", hue_order=["source", "adapted", "target"], fliersize=0) # tidy up plot plt.ylim((0, 40)) plt.legend(loc='upper left') # finally save the figure plt.savefig(self.output().path, dpi=500)
def run(self): # get data df_train = pd.read_csv(self.input()[0].path, header=[0, 1]) df_test = pd.read_csv(self.input()[1].path, header=[0, 1]) df = evaluate_data(df_train, noise_levels, df_test, noise_levels) standard_plotting(df) # finally save the figure plt.savefig(self.output().path, dpi=500, bbox_inches='tight')