content: #!/usr/bin/env python2
  # -*- coding: utf-8 -*-
  """
  Created on Sun Jul 23 16:02:07 2017
  
  @author: zqwu
  """
  
  from __future__ import print_function
  from __future__ import division
  from __future__ import unicode_literals
  
  import numpy as np
  import deepchem as dc
  import tempfile
  from sklearn.svm import SVC
  
  # Only for debug!
  np.random.seed(123)
  
  # Load Tox21 dataset
  n_features = 1024
  tox21_tasks, tox21_datasets, transformers = dc.molnet.load_tox21()
  train_dataset, valid_dataset, test_dataset = tox21_datasets
  
  # Fit models
  metric = dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean)
  
  
  def model_builder(model_dir):
    sklearn_model = SVC(C=1.0, class_weight="balanced", probability=True)
    return dc.models.SklearnModel(sklearn_model, model_dir)
  
  
  model_dir = tempfile.mkdtemp()
  model = dc.models.SingletaskToMultitask(tox21_tasks, model_builder, model_dir)
  
  # Fit trained model
  model.fit(train_dataset)
  model.save()
  
  print("Evaluating model")
  train_scores = model.evaluate(train_dataset, [metric], transformers)
  valid_scores = model.evaluate(valid_dataset, [metric], transformers)
  
  print("Train scores")
  print(train_scores)
  
  print("Validation scores")
  print(valid_scores)
  