QuAcc/quacc/main.py

51 lines
1.4 KiB
Python
Raw Normal View History

import os
import shutil
from pathlib import Path
import quacc.evaluation.comp as comp
from quacc.dataset import Dataset
from quacc.environ import env
2023-05-17 14:02:29 +02:00
def create_out_dir(dir_name):
2023-10-23 08:27:48 +02:00
base_out_dir = Path(env.OUT_DIR_NAME)
if not base_out_dir.exists():
os.mkdir(base_out_dir)
dir_path = base_out_dir / dir_name
env.OUT_DIR = dir_path
shutil.rmtree(dir_path, ignore_errors=True)
os.mkdir(dir_path)
plot_dir_path = dir_path / "plot"
env.PLOT_OUT_DIR = plot_dir_path
os.mkdir(plot_dir_path)
2023-09-24 02:21:18 +02:00
def estimate_comparison():
for conf in env:
create_out_dir(conf)
dataset = Dataset(
env.DATASET_NAME,
target=env.DATASET_TARGET,
n_prevalences=env.DATASET_N_PREVS,
)
output_path = env.OUT_DIR / f"{dataset.name}.md"
try:
dr = comp.evaluate_comparison(dataset, estimators=env.COMP_ESTIMATORS)
for m in env.METRICS:
output_path = env.OUT_DIR / f"{conf}_{m}.md"
with open(output_path, "w") as f:
f.write(dr.to_md(m))
except Exception as e:
print(f"Configuration {conf} failed. {e}")
2023-09-24 02:21:18 +02:00
# print(df.to_latex(float_format="{:.4f}".format))
# print(utils.avg_group_report(df).to_latex(float_format="{:.4f}".format))
2023-09-24 02:21:18 +02:00
def main():
estimate_comparison()
2023-05-17 14:02:29 +02:00
if __name__ == "__main__":
2023-09-24 02:21:18 +02:00
main()