我对GraphConvolution模型使用Deepchem包装器,如下所示。我在.csv
中有我的smiles数据,它由5个具有smiles表示和各自活动的分子组成。数据可以直接从here访问。你知道吗
导入库:
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import numpy as np
import tensorflow as tf
import deepchem as dc
from deepchem.models.tensorgraph.models.graph_models import GraphConvModel
加载数据并以适合于图形卷积的方式对其进行特征化。
graph_featurizer = dc.feat.graph_features.ConvMolFeaturizer()
loader_train = dc.data.data_loader.CSVLoader( tasks=['Activity'], smiles_field="smiles",featurizer=graph_featurizer)
dataset_train = loader_train.featurize( './train_smiles_data.csv')
分析加载和特征化数据(我的尝试)
dataset_train.X
array([<deepchem.feat.mol_graphs.ConvMol object at 0x7f8bfc3ad748>,
<deepchem.feat.mol_graphs.ConvMol object at 0x7f8bfc367828>,
<deepchem.feat.mol_graphs.ConvMol object at 0x7f8bfc367208>,
<deepchem.feat.mol_graphs.ConvMol object at 0x7f8bfc369c50>],
dtype=object)
dataset_train.y
array([[2.71],
[4.41],
[3.77],
[4.2 ]])
for x, y, w, id in dataset_train.itersamples():
print(x, y, w, id)
<deepchem.feat.mol_graphs.ConvMol object at 0x7f8bfc3ad6a0> [2.71] [1.] CC1=C(O)C=CC=C1
<deepchem.feat.mol_graphs.ConvMol object at 0x7f8bfc30f518> [4.41] [1.] [O-][N+](=O)C1=CC=C(Br)S1
<deepchem.feat.mol_graphs.ConvMol object at 0x7f8bfc30f748> [3.77] [1.] CCC/C=C/C=O
<deepchem.feat.mol_graphs.ConvMol object at 0x7f8bfc30f940> [4.2] [1.] CCCCCC1=CC=CS1
我想要什么?
从上面的代码看来,dataset_train.X
给出了一个类似diskobject
的<deepchem.feat.mol_graphs.ConvMol object at 0x7f8bfc3ad6a0>
,而不是一个类似numpy array
的dataset_train.y
。你知道吗
我如何知道存储在dataset_train.X
中的数据类型?如何查看存储在dataset_train.X
中的数据?或者换句话说,如何将dataset_train.X
转换成这样一种格式,以便检查其中的数据?你知道吗
我认为应该有办法做到这一点。你知道吗
根据previous question数据集,train.X是ConvMol对象的数组。这些ConvMol对象是每个输入分子特征的容器。这些特征的表示方式与目标“train\u dataset.y”不同,因为它们是更复杂的图形特征。再次查看ConvMol对象的source code,并查看convmolfeatureizer的source code。然后可以确定如何解释这些特征:
相关问题 更多 >
编程相关推荐