deepchem库主要包含以下几个部分:
数据:提供了常用的分子和量子数据集,以及加载、处理、划分、增强等数据操作的函数。
特征:提供了常用的特征提取方法,如Featurizer对象,以及自定义特征函数的接口。
模型:提供了常用的机器学习和深度学习模型,如多层感知器(MLP)、图神经网络(GNN)、变分自编码器(VAE)等,以及自定义模型函数的接口。
评估:提供了一些常用的评估指标和方法,如均方误差(MSE)、准确率(Accuracy)、受试者工作特征曲线(ROC)等,以及自定义评估函数的接口。
应用:提供了一些常见的化学和物理应用场景和示例代码,如药物发现、量子化学等。
使用deepchem进行药物发现的python示例代码。例如:
examples/tensorgraph/muv.py :使用TensorGraph API训练多任务模型来预测MUV数据集中的化合物活性。
muv.py的内容。这是一个使用TensorGraph API训练多任务模型来预测MUV数据集中的化合物活性的示例代码。以下是代码块:
"""
Script that trains Tensorflow models on MUV dataset.
"""
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
import numpy as np
np.random.seed(123)
import tensorflow as tf
tf.set_random_seed(123)
import deepchem as dc
# Load MUV dataset
n_features = 1024
muv_tasks, muv_datasets, transformers = dc.molnet.load_muv()
train_dataset, valid_dataset, test_dataset = muv_datasets
# Fit models
metric = dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean)
n_layers = 2
nb_epoch = 10
model = dc.models.TensorGraphMultiTaskClassifier(
len(muv_tasks), n_features, layer_sizes=[1000]*n_layers,
dropouts=[.25]*n_layers,
weight_init_stddevs=[.02]*n_layers,
bias_init_consts=[1.]*n_layers,
learning_rate=0.0003)
# Fit trained model
model.fit(train_dataset, nb_epoch=nb_epoch)
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)