mirror of
https://github.com/Doctorado-ML/Stree_datasets.git
synced 2025-08-15 23:46:03 +00:00
Commit Inicial
This commit is contained in:
134
experiment.py
Normal file
134
experiment.py
Normal file
@@ -0,0 +1,134 @@
|
||||
import argparse
|
||||
from typing import Tuple
|
||||
|
||||
from experimentation import Experiment
|
||||
from experimentation.Database import Hyperparameters, Outcomes
|
||||
from experimentation.Sets import Datasets
|
||||
|
||||
|
||||
def parse_arguments() -> Tuple[str, str, str, str, str, bool, bool, dict]:
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument(
|
||||
"-H",
|
||||
"--host",
|
||||
type=str,
|
||||
choices=["develop", "galgo"],
|
||||
required=False,
|
||||
default="develop",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-m",
|
||||
"--model",
|
||||
type=str,
|
||||
choices=["stree", "adaBoost", "bagging", "odte"],
|
||||
required=False,
|
||||
default="stree",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-S",
|
||||
"--set-of-files",
|
||||
type=str,
|
||||
choices=["aaai", "tanveer"],
|
||||
required=False,
|
||||
default="aaai",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-e",
|
||||
"--experiment",
|
||||
type=str,
|
||||
choices=[
|
||||
"gridsearch",
|
||||
"gridbest",
|
||||
"crossval",
|
||||
"report_grid",
|
||||
"report_cross",
|
||||
],
|
||||
required=True,
|
||||
help="Experiment: {gridsearch, gridbest, crossval, report_grid, "
|
||||
"report_cross}",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-d",
|
||||
"--dataset",
|
||||
type=str,
|
||||
required=False,
|
||||
help="Dataset name",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-n",
|
||||
"--normalize",
|
||||
default=False,
|
||||
type=bool,
|
||||
required=False,
|
||||
help="Normalize dataset (True/False)",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-s",
|
||||
"--standardize",
|
||||
default=False,
|
||||
type=bool,
|
||||
required=False,
|
||||
help="Standardize dataset (True/False)",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-x",
|
||||
"--excludeparams",
|
||||
default=False,
|
||||
required=False,
|
||||
action="store_true",
|
||||
help="Exclude parameters in reports",
|
||||
)
|
||||
args = ap.parse_args()
|
||||
return (
|
||||
args.host,
|
||||
args.model,
|
||||
args.set_of_files,
|
||||
args.experiment,
|
||||
args.dataset,
|
||||
args.normalize,
|
||||
args.standardize,
|
||||
args.excludeparams,
|
||||
)
|
||||
|
||||
|
||||
(
|
||||
host,
|
||||
model,
|
||||
set_of_files,
|
||||
experiment_type,
|
||||
dataset,
|
||||
normalize,
|
||||
standardize,
|
||||
exclude_params,
|
||||
) = parse_arguments()
|
||||
|
||||
experiment = Experiment(
|
||||
random_state=1, model=model, host=host, set_of_files=set_of_files
|
||||
)
|
||||
if experiment_type[0:6] == "report":
|
||||
bd = (
|
||||
Outcomes(host, model)
|
||||
if experiment_type == "report_cross"
|
||||
else Hyperparameters(host, model)
|
||||
)
|
||||
bd.report("all", exclude_params)
|
||||
elif experiment_type == "gridsearch" or experiment_type == "gridbest":
|
||||
if experiment_type == "gridbest":
|
||||
experiment.set_base_params("best")
|
||||
if dataset == "all":
|
||||
# Only want it for the dataset names
|
||||
dt = Datasets(False, False, set_of_files)
|
||||
for dataset in dt:
|
||||
print(f"Processing dataset: {dataset[0]}...")
|
||||
experiment.grid_search(dataset[0], normalize, standardize)
|
||||
else:
|
||||
experiment.grid_search(dataset, normalize, standardize)
|
||||
elif experiment_type == "crossval":
|
||||
if dataset == "all":
|
||||
# Only want it for the dataset names
|
||||
dt = Datasets(False, False, set_of_files)
|
||||
for dataset in dt:
|
||||
print(f"Processing dataset: {dataset[0]}...")
|
||||
experiment.cross_validation(dataset[0])
|
||||
else:
|
||||
experiment.cross_validation(dataset)
|
Reference in New Issue
Block a user