Commit edad3a29 authored by miaecle's avatar miaecle
Browse files

optimization direction

parent d3b85a01
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ class GaussianProcessHyperparamOpt(HyperparamOpt):
                        valid_dataset,
                        output_transformers,
                        metric,
                        direction=True,
                        n_features=1024,
                        n_tasks=1,
                        max_iter=20,
@@ -57,6 +58,8 @@ class GaussianProcessHyperparamOpt(HyperparamOpt):
      transformers for evaluation
    metric: list of dc.metrics.Metric
      metric used for evaluation
    direction: bool
      maximization(True) or minimization(False)
    n_features: int
      number of input features
    n_tasks: int
+5 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ def run_benchmark(datasets,
                  model,
                  split=None,
                  metric=None,
                  direction=True,
                  featurizer=None,
                  n_features=0,
                  out_path='.',
@@ -52,6 +53,9 @@ def run_benchmark(datasets,
      choice of splitter function, None = using the default splitter
  metric: string, optional (default=None)
      choice of evaluation metrics, None = using the default metrics(AUC & R2)
  direction: bool, optional(default=True)
      Optimization direction when doing hyperparameter search
      Maximization(True) or minimization(False)
  featurizer: string or dc.feat.Featurizer,  optional (default=None)
      choice of featurization, None = using the default corresponding to model
      (string only applicable to deepchem models)
@@ -164,6 +168,7 @@ def run_benchmark(datasets,
          valid_dataset,
          transformers,
          metric,
          direction=direction,
          n_features=n_features,
          n_tasks=len(tasks),
          max_iter=max_iter,
+19 −19
Original line number Diff line number Diff line
@@ -102,28 +102,28 @@ if len(datasets) == 0:
  ]

metrics = {
    'qm7': [dc.metrics.Metric(dc.metrics.mean_absolute_error, np.mean, mode='regression')],
    'qm7b': [dc.metrics.Metric(dc.metrics.mean_absolute_error, np.mean, mode='regression')],
    'qm8': [dc.metrics.Metric(dc.metrics.mean_absolute_error, np.mean, mode='regression')],
    'qm9': [dc.metrics.Metric(dc.metrics.mean_absolute_error, np.mean, mode='regression')],
    'delaney': [dc.metrics.Metric(dc.metrics.rms_score, np.mean, mode='regression')],
    'sampl': [dc.metrics.Metric(dc.metrics.rms_score, np.mean, mode='regression')],
    'lipo': [dc.metrics.Metric(dc.metrics.rms_score, np.mean, mode='regression')],
    'pdbbind': [dc.metrics.Metric(dc.metrics.rms_score, np.mean, mode='regression')],
    'pcba': [dc.metrics.Metric(dc.metrics.prc_auc_score, np.mean, mode='classification')],
    'muv': [dc.metrics.Metric(dc.metrics.prc_auc_score, np.mean, mode='classification')],
    'hiv': [dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')],
    'tox21': [dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')],
    'toxcast': [dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')],
    'sider': [dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')],
    'clintox': [dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')],
    'bace_c': [dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')],
    'bbbp': [dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')]
    'qm7': [[dc.metrics.Metric(dc.metrics.mean_absolute_error, np.mean, mode='regression')], False],
    'qm7b': [[dc.metrics.Metric(dc.metrics.mean_absolute_error, np.mean, mode='regression')], False],
    'qm8': [[dc.metrics.Metric(dc.metrics.mean_absolute_error, np.mean, mode='regression')], False],
    'qm9': [[dc.metrics.Metric(dc.metrics.mean_absolute_error, np.mean, mode='regression')], False],
    'delaney': [[dc.metrics.Metric(dc.metrics.rms_score, np.mean, mode='regression')], False],
    'sampl': [[dc.metrics.Metric(dc.metrics.rms_score, np.mean, mode='regression')], False],
    'lipo': [[dc.metrics.Metric(dc.metrics.rms_score, np.mean, mode='regression')], False],
    'pdbbind': [[dc.metrics.Metric(dc.metrics.rms_score, np.mean, mode='regression')], False],
    'pcba': [[dc.metrics.Metric(dc.metrics.prc_auc_score, np.mean, mode='classification')], True],
    'muv': [[dc.metrics.Metric(dc.metrics.prc_auc_score, np.mean, mode='classification')], True],
    'hiv': [[dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')], True],
    'tox21': [[dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')], True],
    'toxcast': [[dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')], True],
    'sider': [[dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')], True],
    'clintox': [[dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')], True],
    'bace_c': [[dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')], True],
    'bbbp': [[dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean, mode='classification')], True]
    }
for dataset in datasets:
  for split in splitters:
    for model in models:
      np.random.seed(seed)
      dc.molnet.run_benchmark(
          [dataset], str(model), split=split, metric=metrics[dataset],
          hyper_param_search=True, test=False, seed=seed)
          [dataset], str(model), split=split, metric=metrics[dataset][0],
          direction=metrics[dataset][1], hyper_param_search=True, test=False, seed=seed)