首页
学习
活动
专区
圈层
工具
发布

RDKit | 基于支持向量机(SVM)的二分类活性预测模型

基于结构-活性相互作用数据,使用SVM(支持向量机),尝试判断测试化合物的活性。

SVM

SVM:(Support Vector Machine, 支持向量机)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。

SVM参数

参数网络很多解释,大家可以自己查询了解

基于SVM的二分类活性预测模型

导入库

代码语言:javascript
复制
import copy
import collections
import pandas as pd
import numpy as np
 
from rdkit import Chem
from rdkit.Chem import Descriptors
from rdkit.ML.Descriptors import MoleculeDescriptors
 
from sklearn import model_selection
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn import preprocessing
from sklearn.svm import SVC

载入数据,并准备

代码语言:javascript
复制
active_mols  = [ mol for mol in Chem.SDMolSupplier("actives_mols.sdf")]
inactive_mols = [ mol for mol in Chem.SDMolSupplier("decoys_mols.sdf")]
 
active_label   = np.ones(len(active_mols)) # 活性化合物:1
inactive_label = np.zeros(len(inactive_mols)) # 非活性化合物:0
 
mols  = active_mols + inactive_mols
label = np.concatenate([active_label, inactive_label])
下一篇
举报
领券