支持向量回归代码_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上下文对象,此对象将贯…

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

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

实际体验SpanT 的惊人表现

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

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

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

聊一聊Jmeter的简单使用

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

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

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

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

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

Web通用令牌JwtBuilder

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

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…

你真的不了解这个地球

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

Squid反向代理加速缓存+负载均衡实验架构

实验环境: 公司有两台web服务器,运行同一套网站,读取同一台mysql数据库。 两台web服务器的主机名如下: test1.com 192.168.1.119 test2.com 192.168.1.120 squid服务器ip:192.168.1.123 DNS: 192.168.9.254 实验思路&a…

levedb 导入 mysql_LevelDB-初始篇

简介:LevelDB是一个基于本地文件的存储引擎,非分布式存储引擎,原理基于BigTable(LSM文件树),无索引机制,存储条目为Key-value。适用于保存数据缓存、日志存储、高速缓存等应用,主要是避免RPC请求带来的延迟…

当时我就震惊了:无穷带来的各种悖论

全世界有3.14 % 的人已经关注了数据与算法之美希尔伯特旅馆悖论(Hilberts paradox of Grand Hotel)希尔伯特旅馆有无限个房间,并且每个房间都住了客人。一天来了一个新客人,旅馆老板说:“虽然我们已经客满,…

砸了140亿的计算机视觉,未来到底如何?

指纹解锁、刷脸识别、语音转换文字、机器人看病、Alphago我们已经深刻的感受到,人工智能在改变我们的工作方式和认知。通过 SAS 针对企业人工自能就绪调研的报告可以看到,大部分企业认为人工智能还处于初期阶段,“目前,我们正在部…

记一次 .NET WPF布草管理系统 挂死分析

一:背景 1. 讲故事这几天看的 dump 有点多,有点伤神伤脑,晚上做梦都是dump,今天早上头晕晕的到公司就听到背后同事抱怨他负责的WPF程序挂死了,然后测试的小姑娘也跟着抱怨。。。嗨,也不知道是哪一个迭代改出…

轻量级HTTP服务器Nginx(安装篇)

一、下载与安装Nginx Nginx的官方网站是http://sysoev.ru/nginx/,英文主页为http://nginx.net,从这里可以获得Nginx的最新版本信息。Nginx有三个版本:稳定版、开发版和历史稳定版。开发版更新较快,包含最新的功能和bug的修复…