Commit 4e6c16a5 authored by Ubuntu's avatar Ubuntu
Browse files

reverted examples

parent ff727ace
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -10,7 +10,6 @@ import deepchem
import tempfile
import deepchem as dc


def load_bace(mode="regression", transform=True, split="20-80"):
  """Load BACE-1 dataset as regression/classification problem."""
  assert split in ["20-80", "80-20"]
@@ -18,11 +17,11 @@ def load_bace(mode="regression", transform=True, split="20-80"):

  current_dir = os.path.dirname(os.path.realpath(__file__))
  if split == "20-80":
    dataset_file = os.path.join(current_dir,
                                "../../datasets/desc_canvas_aug30.csv")
    dataset_file = os.path.join(
        current_dir, "../../datasets/desc_canvas_aug30.csv")
  elif split == "80-20":
    dataset_file = os.path.join(current_dir,
                                "../../datasets/rev8020split_desc.csv")
    dataset_file = os.path.join(
        current_dir, "../../datasets/rev8020split_desc.csv")

  crystal_dataset_file = os.path.join(
      current_dir, "../../datasets/crystal_desc_canvas_aug30.csv")
@@ -33,9 +32,7 @@ def load_bace(mode="regression", transform=True, split="20-80"):
    bace_tasks = ["Class"]
  featurizer = dc.feat.UserDefinedFeaturizer(user_specified_features)
  loader = dc.data.UserCSVLoader(
      tasks=bace_tasks,
      smiles_field="mol",
      id_field="CID",
      tasks=bace_tasks, smiles_field="mol", id_field="CID",
      featurizer=featurizer)
  dataset = loader.featurize(dataset_file)
  crystal_dataset = loader.featurize(crystal_dataset_file)
@@ -58,12 +55,10 @@ def load_bace(mode="regression", transform=True, split="20-80"):

  transformers = [
      NormalizationTransformer(transform_X=True, dataset=train_dataset),
      ClippingTransformer(transform_X=True, dataset=train_dataset)
  ]
      ClippingTransformer(transform_X=True, dataset=train_dataset)]
  if mode == "regression":
    transformers += [
        NormalizationTransformer(transform_y=True, dataset=train_dataset)
    ]
      NormalizationTransformer(transform_y=True, dataset=train_dataset)]
  
  for dataset in [train_dataset, valid_dataset, test_dataset, crystal_dataset]:
    for transformer in transformers:
+6 −13
Original line number Diff line number Diff line
@@ -19,8 +19,7 @@ from deepchem.models.keras_models import KerasModel
def bace_dnn_model(mode="classification", verbosity="high", split="20-80"):
  """Train fully-connected DNNs on BACE dataset."""
  (bace_tasks, train_dataset, valid_dataset, test_dataset, crystal_dataset,
   transformers) = load_bace(
       mode=mode, transform=True, split=split)
   transformers) = load_bace(mode=mode, transform=True, split=split)

  if mode == "regression":
    r2_metric = Metric(metrics.r2_score, verbosity=verbosity)
@@ -39,26 +38,21 @@ def bace_dnn_model(mode="classification", verbosity="high", split="20-80"):
  else:
    raise ValueError("Invalid mode %s" % mode)

  params_dict = {
      "learning_rate": np.power(10., np.random.uniform(-5, -3, size=5)),
  params_dict = {"learning_rate": np.power(10., np.random.uniform(-5, -3, size=5)),
                 "decay": np.power(10, np.random.uniform(-6, -4, size=5)),
      "nb_epoch": [40]
  }
                 "nb_epoch": [40] }

  n_features = train_dataset.get_data_shape()[0]

  def model_builder(model_params, model_dir):
    keras_model = MultiTaskDNN(
        len(bace_tasks),
        n_features,
        "classification",
        dropout=.5,
        len(bace_tasks), n_features, "classification", dropout=.5,
        **model_params)
    return KerasModel(keras_model, model_dir)

  optimizer = HyperparamOpt(model_builder, verbosity="low")
  best_dnn, best_hyperparams, all_results = optimizer.hyperparam_search(
      params_dict, train_dataset, valid_dataset, transformers, metric=metric)
      params_dict, train_dataset, valid_dataset, transformers,
      metric=metric)

  if len(train_dataset) > 0:
    dnn_train_evaluator = Evaluator(best_dnn, train_dataset, transformers)            
@@ -92,7 +86,6 @@ def bace_dnn_model(mode="classification", verbosity="high", split="20-80"):
        all_metrics, csv_out=csv_out, stats_out=stats_out)
    print("DNN Crystal set %s: %s" % (metric.name, str(dnn_crystal_score)))


if __name__ == "__main__":
  print("Classifier DNN 20-80:")
  print("--------------------------------")
+1 −222

File changed.

Preview size limit exceeded, changes collapsed.

+9 −13
Original line number Diff line number Diff line
@@ -11,12 +11,10 @@ from deepchem import metrics
from deepchem.metrics import Metric
from deepchem.utils.evaluate import Evaluator


def bace_rf_model(mode="classification", verbosity="high", split="20-80"):
  """Train random forests on BACE dataset."""
  (bace_tasks, train_dataset, valid_dataset, test_dataset, crystal_dataset,
   transformers) = load_bace(
       mode=mode, transform=False, split=split)
   transformers) = load_bace(mode=mode, transform=False, split=split)

  if mode == "regression":
    r2_metric = Metric(metrics.r2_score, verbosity=verbosity)
@@ -25,7 +23,6 @@ def bace_rf_model(mode="classification", verbosity="high", split="20-80"):
    all_metrics = [r2_metric, rms_metric, mae_metric]
    metric = r2_metric
    model_class = RandomForestRegressor

    def rf_model_builder(model_params, model_dir):
      sklearn_model = RandomForestRegressor(**model_params)
      return SklearnModel(sklearn_model, model_dir)
@@ -38,7 +35,6 @@ def bace_rf_model(mode="classification", verbosity="high", split="20-80"):
    model_class = RandomForestClassifier
    all_metrics = [accuracy_metric, mcc_metric, recall_metric, roc_auc_metric]
    metric = roc_auc_metric 

    def rf_model_builder(model_params, model_dir):
      sklearn_model = RandomForestClassifier(**model_params)
      return SklearnModel(sklearn_model, model_dir)
@@ -52,11 +48,12 @@ def bace_rf_model(mode="classification", verbosity="high", split="20-80"):

  optimizer = HyperparamOpt(rf_model_builder, verbosity="low")
  best_rf, best_rf_hyperparams, all_rf_results = optimizer.hyperparam_search(
      params_dict, train_dataset, valid_dataset, transformers, metric=metric)
      params_dict, train_dataset, valid_dataset, transformers,
      metric=metric)

  if len(train_dataset) > 0:
    rf_train_evaluator = Evaluator(
        best_rf, train_dataset, transformers, verbosity=verbosity)
    rf_train_evaluator = Evaluator(best_rf, train_dataset, transformers,
                                   verbosity=verbosity)
    csv_out = "rf_%s_%s_train.csv" % (mode, split)
    stats_out = "rf_%s_%s_train_stats.txt" % (mode, split)
    rf_train_score = rf_train_evaluator.compute_model_performance(
@@ -64,8 +61,8 @@ def bace_rf_model(mode="classification", verbosity="high", split="20-80"):
    print("RF Train set scores: %s" % (str(rf_train_score)))

  if len(valid_dataset) > 0:
    rf_valid_evaluator = Evaluator(
        best_rf, valid_dataset, transformers, verbosity=verbosity)
    rf_valid_evaluator = Evaluator(best_rf, valid_dataset, transformers,
                                   verbosity=verbosity)
    csv_out = "rf_%s_%s_valid.csv" % (mode, split)
    stats_out = "rf_%s_%s_valid_stats.txt" % (mode, split)
    rf_valid_score = rf_valid_evaluator.compute_model_performance(
@@ -73,8 +70,8 @@ def bace_rf_model(mode="classification", verbosity="high", split="20-80"):
    print("RF Valid set scores: %s" % (str(rf_valid_score)))

  if len(test_dataset) > 0:
    rf_test_evaluator = Evaluator(
        best_rf, test_dataset, transformers, verbosity=verbosity)
    rf_test_evaluator = Evaluator(best_rf, test_dataset, transformers,
                                  verbosity=verbosity)
    csv_out = "rf_%s_%s_test.csv" % (mode, split)
    stats_out = "rf_%s_%s_test_stats.txt" % (mode, split)
    rf_test_score = rf_test_evaluator.compute_model_performance(
@@ -90,7 +87,6 @@ def bace_rf_model(mode="classification", verbosity="high", split="20-80"):
        all_metrics, csv_out=csv_out, stats_out=stats_out)
    print("RF Crystal set: %s" % (str(rf_crystal_score)))


if __name__ == "__main__":
  print("Classifier RF 20-80:")
  print("--------------------------------")
+3 −6
Original line number Diff line number Diff line
@@ -228,8 +228,7 @@ def benchmark_loading_datasets(hyper_parameters,
      if mode == 'classification':
        for i in train_score:
          output_line = [
              count, dataset,
              str(split), mode, 'train', i,
              count, dataset, str(split), mode, 'train', i,
              train_score[i]['mean-roc_auc_score'], 'valid', i,
              valid_score[i]['mean-roc_auc_score']
          ]
@@ -242,8 +241,7 @@ def benchmark_loading_datasets(hyper_parameters,
        for i in train_score:
          if metric == 'r2':
            output_line = [
                count, dataset,
                str(split), mode, 'train', i,
                count, dataset, str(split), mode, 'train', i,
                train_score[i]['mean-pearson_r2_score'], 'valid', i,
                valid_score[i]['mean-pearson_r2_score']
            ]
@@ -254,8 +252,7 @@ def benchmark_loading_datasets(hyper_parameters,
                ['time_for_running', time_finish_fitting - time_start_fitting])
          elif metric == 'mae':
            output_line = [
                count, dataset,
                str(split), mode, 'train', i,
                count, dataset, str(split), mode, 'train', i,
                train_score[i]['mean-mean_absolute_error'], 'valid', i,
                valid_score[i]['mean-mean_absolute_error']
            ]
Loading