def plot_rfDim_waterwheel(base_dir, plot_dir, eval_dict=EVAL_DICT_ALL): output_dir = os.path.join(base_dir, 'l63_WATERWHEEL_v5_rfDim_validateAll') full_summary_df_name = os.path.join(output_dir, 'full_summary_df.pickle') with open(full_summary_df_name, "rb") as file: summary_df = pickle.load(file) # add paper names summary_df['Model'] = summary_df.modelType summary_df['$f_0$'] = 'None' summary_df.loc[(summary_df.doResidual == 0) & (summary_df.stateType == 'stateAndPred'), '$f_0$'] = 'Augmented' summary_df.loc[(summary_df.doResidual == 1) & (summary_df.stateType == 'stateAndPred'), '$f_0$'] = 'Augmented residual' summary_df.loc[(summary_df.doResidual == 1) & (summary_df.stateType == 'state'), '$f_0$'] = 'Residual' # rhsname_list = ['rhs w/ diff=TrueDeriv, costInt=datagrid', 'rhs w/ diff=Spline, costInt=datagrid', 'f0only', 'Psi'] # papername_list = ['rhs w/ diff=Spline, costInt=datagrid', 'f0only', 'Psi'] papername_list = ['rhs w/ diff=Spline, costInt=datagrid', 'Psi'] fid = 'hifi' # f0eps=3.0 # dt=0.001 # # f0eps=0.2 # # dt=0.01 # tTrain=100 # NEW SETTINGS f0eps = 0 dt = 0.001 tTrain = 100 paper_df = summary_df[ (summary_df.rhsname.isin(papername_list)) & (summary_df.fidelity == fid) & (summary_df.f0eps == f0eps) & (summary_df.dt == dt) & (summary_df.tTrain == tTrain) & (summary_df.eval_pickle_fname.str.contains("test_eval.pickle"))] # for nm in papername_list: # paper_df.loc[(paper_df.rhsname == nm) & (paper_df.stateType=='stateAndPred'), "Model"] += ' Augmented Inputs' for key in eval_dict: fig_path = os.path.join(plot_dir, 'WATERWHEEL_rfDim_quality_{}'.format(key)) new_summary(df=paper_df, fig_path=fig_path, x="rfDim", y=key, xlabel='$D_r$', ylabel=eval_dict[key], estimator=np.mean, hue='$f_0$', style='Model', ci='sd', title='Model complexity needed for hybrid learning', legloc='best', figsize=(12, 10))
def plot_rfDim(base_dir, plot_dir, eval_dict=EVAL_DICT_SHORT): output_dir = os.path.join(base_dir, 'l63eps_v5_rfDim_validateReg') full_summary_df_name = os.path.join(output_dir, 'full_summary_df.pickle') with open(full_summary_df_name, "rb") as file: summary_df = pickle.load(file) # add paper names summary_df['Model'] = summary_df.modelType summary_df['Uses $f_0$'] = 'No' summary_df.loc[summary_df.usef0 == 1, 'Uses $f_0$'] = 'Yes' # rhsname_list = ['rhs w/ diff=TrueDeriv, costInt=datagrid', 'rhs w/ diff=Spline, costInt=datagrid', 'f0only', 'Psi'] # papername_list = ['rhs w/ diff=Spline, costInt=datagrid', 'f0only', 'Psi'] papername_list = ['rhs w/ diff=Spline, costInt=datagrid', 'Psi'] fid = 'hifi' # f0eps=3.0 # dt=0.001 # # f0eps=0.2 # # dt=0.01 # tTrain=100 # NEW SETTINGS f0eps = 0.05 dt = 0.001 tTrain = 100 paper_df = summary_df[ (summary_df.rhsname.isin(papername_list)) & (summary_df.stateType != 'stateAndPred') & (summary_df.fidelity == fid) & (summary_df.f0eps == f0eps) & (summary_df.dt == dt) & (summary_df.tTrain == tTrain) & (summary_df.eval_pickle_fname.str.contains("test_eval.pickle"))] fig_path = os.path.join(plot_dir, 'rfDim_quality') for key in eval_dict: fig_path = os.path.join(plot_dir, 'rfDim_quality_{}'.format(key)) new_summary(df=paper_df, fig_path=fig_path, x="rfDim", y=key, xlabel='$D_r$', ylabel=eval_dict[key], estimator=np.mean, ci='sd', title='Model complexity needed for hybrid learning', legloc='best', figsize=(12, 10))
def plot_dt(base_dir, plot_dir, eval_dict=EVAL_DICT_ALL): output_dir = os.path.join(base_dir, 'l63eps_v5_dt_validateReg2') full_summary_df_name = os.path.join(output_dir, 'full_summary_df.pickle') with open(full_summary_df_name, "rb") as file: summary_df = pickle.load(file) # add paper names summary_df['Model'] = summary_df.modelType summary_df['Uses $f_0$'] = 'No' summary_df.loc[summary_df.usef0 == 1, 'Uses $f_0$'] = 'Yes' # rhsname_list = ['rhs w/ diff=TrueDeriv, costInt=datagrid', 'rhs w/ diff=Spline, costInt=datagrid', 'f0only', 'Psi'] papername_list = ['rhs w/ diff=Spline, costInt=datagrid', 'f0only', 'Psi'] fid = 'hifi' f0eps = 0.05 # rfDim=200 tTrain = 1000 paper_df = summary_df[ (summary_df.rhsname.isin(papername_list)) & (summary_df.stateType != 'stateAndPred') & (summary_df.fidelity == fid) & (summary_df.f0eps == f0eps) & # (summary_df.rfDim==rfDim) & (summary_df.tTrain == tTrain) & (summary_df.eval_pickle_fname.str.contains("test_eval.pickle"))] for key in eval_dict: fig_path = os.path.join(plot_dir, 'dt_quality_{}'.format(key)) new_summary(df=paper_df, fig_path=fig_path, x="dt", y=key, xlabel='$\Delta t$', ylabel=eval_dict[key], estimator=np.mean, ci='sd', title='Effects of sampling rate on learning methods', legloc='upper right', figsize=(12, 10))