支持向量回归代码_RDKit:基于支持向量回归(SVR)预测logP

RDKit一个用于化学信息学的python库。使用支持向量回归(SVR)来预测logP。 分子的输入结构特征是摩根指纹,输出是logP。


代码示例:


  1. #导入依赖库

  2. import numpy as np

  3. from rdkit import Chem

  4. from rdkit.Chem.Crippen import MolLogP

  5. from rdkit import Chem, DataStructs

  6. from rdkit.Chem import AllChem

  7. from sklearn.svm import SVR

  8. from sklearn.metrics import mean_squared_error, r2_score

  9. from scipy import stats

  10. import matplotlib.pyplot as plt

载入smile分子库,计算morgan指纹和logP

  1. num_mols = 5000

  2. f = open('smiles.txt', 'r')

  3. contents = f.readlines()

  4. fps_total = []

  5. logP_total = []

  6. for i in range(num_mols):

  7. smi = contents[i].split()[0]

  8. m = Chem.MolFromSmiles(smi)

  9. fp = AllChem.GetMorganFingerprintAsBitVect(m,2)

  10. arr = np.zeros((1,))

  11. DataStructs.ConvertToNumpyArray(fp,arr)

  12. fps_total.append(arr)

  13. logP_total.append(MolLogP(m))

  14. fps_total = np.asarray(fps_total)

  15. logP_total = np.asarray(logP_total)

划分训练集和测试集

  1. num_total = fps_total.shape[0]

  2. num_train = int(num_total*0.8)

  3. num_total, num_train, (num_total-num_train)

  1. fps_train = fps_total[0:num_train]

  2. logP_train = logP_total[0:num_train]

  3. fps_test = fps_total[num_train:]

  4. logP_test = logP_total[num_train:]

将SVR模型用于回归模型

https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html

  1. _gamma = 5.0

  2. clf = SVR(kernel='poly', gamma=_gamma)

  3. clf.fit(fps_train, logP_train)

完成训练后,应该检查预测的准确性。对于评估,将使用r2和指标的均方误差。

  1. logP_pred = clf.predict(fps_test)

  2. r2 = r2_score(logP_test, logP_pred)

  3. mse = mean_squared_error(logP_test, logP_pred)

  4. r2, mse

模型结果可视化

  1. slope, intercept, r_value, p_value, std_error = stats.linregress(logP_test, logP_pred)

  2. yy = slope*logP_test+intercept

  3. plt.scatter(logP_test, logP_pred, color='black', s=1)

  4. plt.plot(logP_test, yy, label='Predicted logP = '+str(round(slope,2))+'*True logP + '+str(round(intercept,2)))

  5. plt.xlabel('True logP')

  6. plt.ylabel('Predicted logP')

  7. plt.legend()

  8. plt.show()

0b0cc5cd2235305df94c13400416313f.png

参考:

https://github.com/SeongokRyu/CH485---Artificial-Intelligence-and-Chemistry

https://blog.csdn.net/zb123455445/article/details/78354489

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移除 ZooKeeper 的 kafka 2.8 ,更快了

这段时间招聘季,后台收到不少关于 Kafka 的问题,确实 Kafka 近两年的行情,可谓是水涨船高了。根本原因是,是 Apache Kafka 作为一款开源的消息引擎系统。凭借高可靠、高吞吐、高可用、可伸缩等优越特性,在数据采集、传…

浅议SSH协议

什么是SSH? SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性…

机器学习 vs 深度学习到底有啥区别,为什么更多人选择机器学习

机器学习和深度学习有什么区别?让我们从本文中寻找答案。目标本文中,我们将深度学习与机器学习作比较。我们将逐一了解他们。我们还会讨论他们在各个方面的不同点。除了深度学习和机器学习的比较,我们还将研究它们未来的趋势。对比介绍深度学…

dreamweaver连接mysql数据库 发生一个不知名错误_用DREAMWEAVER连接数据库测试时总是弹出发生一个不知名的错误 你好! 请问一下这个问题你是怎么解的?...

展开全部2018年05月05日 19:11:13阅读数:1 编辑如图,PHPMySQLDreamweaverCS6连接MySQL就出现不知名错误,查遍全网也没有解决办法。32313133353236313431303231363533e58685e5aeb931333365653139笔者是机械学的专业,电脑是小白&…

ASP.Net 管道模型 VS Asp.Net Core 管道 总结

1 管道模型 1 Asp.Net Web Form管道请求进入Asp.Net工作进程后,由进程创建HttpWorkRequest对象,封装此次请求有关的所有信息,然后进入HttpRuntime类进行进一步处理。HttpRuntime通过请求信息创建HttpContext上下文对象,此对象将贯…

window server2008 r2

http://www.oyksoft.com/soft/10085.html 破解http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylangzh-cn&FamilyIDba571339-5436-4cf5-9c37-6ed7dab6f781转载于:https://www.cnblogs.com/blosaa/archive/2012/02/09/2343988.html

py2exe for python3_使用Py2Exe for Python3创建自己的exe程序

最近使用Python 3.5写了一个GUI小程序,于是想将该写好的程序发布成一个exe文件,供自己单独使用。至于通过安装的方式使用该程序,我没有探索,感兴趣的读者可以自己摸索。1 介绍我使用的开发环境是python3.4(实际上我是在另一个64位…

实际体验SpanT 的惊人表现

前言最近做了一个过滤代码块功能的接口。就是获取一些博客文章做文本处理,然后这些博客文章的代码块太多了,很多重复的代码关键词如果被拿过来处理,那么会对文本的特征表示已经特征选择会有很大的影响。所以需要将这些代码块的部分给过滤掉。…

北京点击科技有限公司董事长兼总裁——王志东经典语录2

11、三次去美国参加IBM大会,连上七天网的时候,我上了IBM的网站,居然找到我笔记本驱动程序有更新,这个对于我来说震动极大。 12、连了网之后我发现互联网就是窗口,我能够通过互联网能够第一时间了解到各方面的信息&…

AI人工智能资料分享来袭,还不快来!

小天从大学开始,便开启资料收集功能。近几年以AlphaGo为契机,人工智能进入新的发展阶段,再加上日常的深入研究,小天收集整理了丰富的AI学习资料,内容涵盖“深度学习资料包”,“数据挖掘资料包”&#xff0c…

qt 安装mysql_qt 安装mysql数据库

为了提升用户在云服务器上的软件安装效率,减少下载和安装软件的成本,操作系统为SUSE的用户可通过 YaST 快速安装软件。本文对此进行简要说明。SUSE 默认使用 zypper 安装软件时提示 denied 的解决办法SUSE 因为是企业级发行版,对于安全和隐私…

聊一聊Jmeter的简单使用

背景 近段时间,团队想补强测试这一块,减少重复性的一些工作,让一些内容可以自动化起来,同时对开发同学写的接口的性能也开始有所要求了。考虑到团队内没有人有测试开发的经验,所以前期的选择还是以工具为主&#xff0c…

win7录制系统声音 加入立体声混音 camtasia recorder录屏

很多时候,我们录屏的时候都并不是非得通过麦克风来说话,比如,你想跟好友分享一首歌曲的时候,那么你总不能把麦拿到喇叭那儿录制噻,那样录出来的不仅很麻烦,而且歌曲质量很差!那么怎么录制系统正…

百万大奖参赛攻略 | 让程序员走向财富自由

还在担忧你的区块链项目曝光量小、品牌商业化进程慢、得不到投资人关注吗?这里有站上巨人肩膀的最全攻略!2018年金链盟中国区块链应用大赛,开始向全国企事业单位、科研机构、项目团队、开发者队伍征集应用案例啦!想参加的你们&…

Web通用令牌JwtBuilder

JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。Nuget包:NewLife.Core、NewLife.Secrurity源码地址&a…

mysql中如何计算党龄_党员的党龄如何计算?

党员的党龄应从预备期满转为正式党员之日算起。只有正式党员才计算党龄,预备党员虽有党籍,但不计算党龄。在我们党的历史上,有些时期有预备期,有些时期则没有预备期;有些时期入党时间从党员大会通过之日算起&#xff0…

mysql---复杂的sql语句join的使用(left join,right join)

2019独角兽企业重金招聘Python工程师标准>>> SELECT u.*,count(u.id) AS sum FROM user AS uLEFT JOIN post AS pON p.user_id u.id RIGHT JOIN user_has_group as upON up.user_id u.id RIGHT JOIN user_has_email as ueON ue.user_id u.idWHERE u.username ! A…

NET问答: 如果动态构建 Query 查询 EntityFramework

咨询区 Eduard:我想知道如何在 EntityFramework 或者 Linq 上构建动态查询。我现在要做这么一个功能,UI上大概有 50 的查询条件,用户可以根据自己的需求勾选所需的条件传到我的后端服务方法中。我知道可以通过 ExpresstionTree 去动态拼接这样…

你真的不了解这个地球

全世界有3.14 % 的人已经关注了数据与算法之美1. 首先来看看地球,看起来不错哟,地球~2. 图中圈圈里头的人口,比其他地区的所有总和都还要多。3. 以整个地球史来看,曾活过的人类高达1150亿人,其中包括现存的…

drbd heartbeat mysql_Heartbeat+DRBD+MySQL Replication故障处理

不久前的一次机房网络故障,再一次对我们在HeartbeatDRBDMySQL数据库架构运维水平的一个考验,之前不止一次的测试与线上部署,还有之后大言不惭的关于该架构组件的所谓深入理解,在这一次不经意的意外面前又是“很囧”的收场&#xf…