def plot(model_name, dataset, datasize): exp = "2" path_manager = PathManager(model_name, dataset) dist = defaultdict(list) for expl_name in AbsExp.get_method_names(): result_file = path_manager.result_json_path( exp, expl_name, datasize) if os.path.isfile(result_file): with open(result_file) as f: results = json.loads(f.readlines()[0]) for value in results.values(): dist[expl_name].append(value["L1Distance"]) pdf_name = path_manager.figure_path(datasize, exp) pp = PdfPages(pdf_name) values, names = [], [] for i, j in sorted(dist.items(), key=Plot.sort_key, reverse=False): values.append(j) names.append(i) Plot.plot_box(values, names, pp, model_name, "L1Dist", True, False, pdf_name) pp.close()
def plot(model_name, dataset, datasize): exp = "7" path_manager = PathManager(model_name, dataset) cs = defaultdict(list) for feature_type in AbsExp.get_attribute_method_names(): result_file = path_manager.result_json_path( exp, feature_type, datasize) if os.path.isfile(result_file): with open(result_file) as f: results = json.loads(f.readlines()[0]) for value in results.values(): cs[feature_type].append(value["Cosine"]) pdf_name = path_manager.figure_path(datasize, exp) pp = PdfPages(pdf_name) values, names = [], [] for i, j in sorted(cs.items(), key=Plot.sort_key, reverse=True): values.append(sorted(j, reverse=True)) names.append(i) Plot.plot_line(values, names, pp, model_name, "CS", "Index of Instance", [-0.05, 1.1], 0.5, (18, 6), (100, 300)) pp.close()
def plot(model_name, dataset, datasize): exp = "1" wd = defaultdict(list) rd = defaultdict(list) path_manager = PathManager(model_name, dataset) for expl_name in AbsExp.get_method_names(): result_file = path_manager.result_json_path( exp, expl_name, datasize) # ############################################## # if "Open" not in result_file: # continue # ############################################## if os.path.isfile(result_file): with open(result_file) as f: results = json.loads(f.readlines()[0]) for result in results.values(): wd[expl_name].append(result["CoreParameter"]) rd[expl_name].append(0 if result["Polytope"] == 0 else 1) pdf_name = path_manager.figure_path(datasize, exp) pp = PdfPages(pdf_name) values, names = [], [] logger.info("WD {}".format({i: np.mean(j) for i, j in wd.items()})) for i, j in sorted(wd.items(), key=Plot.sort_key, reverse=False): values.append(j) names.append(i) Plot.plot_box(values, names, pp, model_name, "WD", False, True, pdf_name) logger.info("RD {}".format({i: np.mean(j) for i, j in rd.items()})) values, names = [], [] for i, j in sorted(rd.items(), key=Plot.sort_key, reverse=False): values.append(j) names.append(i) Plot.plot_scatter(values, names, pp, model_name, "RD") pp.close()
def plot(model_name, dataset, datasize): exp = "3" path_manager = PathManager(model_name, dataset) cs = defaultdict(list) for expl_name in AbsExp.get_method_names(): result_file = path_manager.result_json_path( exp, expl_name, datasize) if os.path.isfile(result_file): with open(result_file) as f: results = json.loads(f.readlines()[0]) for value in results.values(): cs[expl_name].append(value["Cosine"]) pdf_name = path_manager.figure_path(datasize, exp) pp = PdfPages(pdf_name) values, names = [], [] for i, j in sorted(cs.items(), key=Plot.sort_key, reverse=True): if "-08" not in i and "0.0001" not in i and "Ground" not in i: continue values.append(sorted(j, reverse=True)) names.append(i) Plot.plot_line(values, names, pp, model_name, "CS", "Index of Instance", [-0.05, 1.1], 0.5) pp.close()