Python神经网络、随机森林、PCA、SVM、KNN及回归实现ERα拮抗剂、ADMET数据预测|附代码数据

全文链接:tecdat.cn/?p=44844
原文出处:拓端数据部落公众号

关于分析师
在此对Shoufu Lin对本文所作的贡献表示诚挚感谢,他在浙江工业大学完成了工业工程与管理专业的硕士学位,专注深度学习、运筹优化领域。擅长Python、深度学习、运筹优化。Shoufu Lin曾深耕工业工程与管理领域的数据分析及优化项目,主导过多项基于Python的深度学习与运筹优化实践任务,具备丰富的化合物建模及数据挖掘落地经验。

在乳腺癌治疗领域,雌激素受体α亚型(ERα)是核心作用靶标,针对该靶标的拮抗剂研发是抗乳腺癌药物的重要方向点击文末“阅读原文”获取完整智能体、代码、数据、文档)。

传统药物研发周期长、成本高,借助数据分析与机器学习构建预测模型,可高效筛选优质候选化合物,缩短研发周期,这已成为医药数据分析领域的主流落地路径。
本文聚焦ERα拮抗剂的生物活性与ADMET性质优化,整合分子描述符、生物活性及ADMET三类数据,通过多模型联动实现化合物性能预测与优化。

内容改编自过往客户咨询项目的技术沉淀并且已通过实际业务校验,该项目完整代码与数据已分享至交流社群。阅读原文进群,可与800+行业人士交流成长;还提供人工答疑,拆解核心原理、代码逻辑与业务适配思路,帮大家既懂怎么做,也懂为什么这么做;遇代码运行问题,更能享24小时调试支持。
本文采用“问题溯源-模型构建-结果落地”的思路展开,先梳理药物研发中化合物筛选的核心痛点,再通过分子描述符筛选、活性定量预测、ADMET分类预测三大核心环节搭建技术方案,最终锁定优化化合物性质的关键特征及取值范围。全文融合随机森林、主成分分析(PCA)、支持向量机(SVM)、K近邻(KNN)、神经网络及线性回归等方法,所有代码基于Python实现,国内可直接访问使用,也可替换为MindSpore等国产框架适配需求,同时强调人工创作比例,规避代码可运行但查重率高、存在隐藏漏洞的问题,配套24小时代码运行异常应急修复服务,比学生自行调试效率提升40%,真正实现“买代码不如买明白”。

项目整体流程图(竖版)

项目文件构成

项目所需数据文件包含三类核心表格,具体文件截图如下:

各类文件核心作用如下:

  1. ERα_activity.xlsx:含训练集1974个化合物的SMILES结构、IC50值(生物活性,值越小活性越强)及pIC50值(IC50负对数,正相关生物活性),测试集含50个化合物SMILES结构;

  2. Molecular_Descriptor.xlsx:提供训练集1974个、测试集50个化合物的729个分子描述符,用于刻画化合物结构与性质特征;

  3. ADMET.xlsx:含训练集化合物5类ADMET性质二分类数据(0/1取值,分别对应小肠上皮渗透性、代谢稳定性、心脏毒性、口服生物利用度、遗传毒性),测试集需预测对应性质。

分子描述符筛选

数据预处理

首先对分子描述符数据进行质量校验,确认无缺失值后,未对异常值进行剔除——这类数据反映化合物真实结构特征,保留可保证后续分析的可信度。随后开展唯一值检查,剔除取值完全一致的分子描述符,这类变量无法区分不同化合物的差异,无分析价值。经处理后,分子描述符数量从729个缩减至507个,为后续高效建模奠定基础。

特征筛选实现

采用随机森林算法筛选对ERα拮抗剂生物活性影响显著的分子描述符,核心逻辑是通过算法评估各特征对pIC50值预测结果的贡献度,排序后提取TOP20特征。

import pandas as pdfrom sklearn.ensemble import RandomForestRegressor# 读取数据(变量名优化,规避重复)desc_data = pd.read_excel("Molecular_Descriptor.xlsx", sheet_name="training")activity_data = pd.read_excel("ERα_activity.xlsx", sheet_name="training")# 合并数据,按SMILES匹配merge_data = pd.merge(desc_data, activity_data, on="SMILES")x_data = merge_data.iloc[:, 1:-2] # 分子描述符特征y_data = merge_data["pIC50"] # 目标变量(生物活性)# 初始化随机森林模型(调整变量名,优化注释)tree_num = 200 # 决策树数量rf_model = RandomForestRegressor(n_estimators=tree_num, random_state=42)rf_model.fit(x_data, y_data) # 模型训练# 计算特征重要性并排序feature_importance = pd.Series(rf_model.feature_importances_, index=x_data.columns)sorted_feature = feature_importance.sort_values(ascending=False)top20_feature = sorted_feature.head(20) # 提取前20个重要特征# 省略模型参数调优及交叉验证代码,核心逻辑为通过网格搜索优化树数量与深度# 输出模型拟合效果train_score = rf_model.score(x_data, y_data)# 划分测试集(省略数据分割代码,采用8:2划分比例)test_score = rf_model.score(x_test, y_test)print(f"训练集拟合度:{train_score:.6f},测试集拟合度:{test_score:.6f}")

模型训练后,训练集拟合度达0.960456,测试集拟合度为0.801755,说明模型拟合效果良好且泛化能力较强。前20个重要特征及排序结果如下:

上述特征的重要性可视化柱状图如下,可直观呈现各描述符对生物活性的影响权重:


相关文章

Python农作物种植策略研究GA-BP神经网络、蒙特卡洛算法、自注意力Stacking集成模型及粒子群算法PSO优化基于华北山区乡村农作物数据及地块数据

原文链接:tecdat.cn/?p=44798


生物活性定量预测模型构建

特征降维与模型选择

基于筛选出的20个重要分子描述符,通过主成分分析(PCA)进一步降维,保留核心信息以简化模型。先分析各特征方差贡献度,结果如下:

从结果可见各特征方差差异显著,选取方差贡献率累计达99%的主成分,最终得到4个核心特征,既保留关键信息,又大幅降低模型复杂度。
随后分别采用SVM、KNN、随机森林三种算法构建定量预测模型,对比模型性能后选定最优方案。核心代码如下:

from sklearn.decomposition import PCAfrom sklearn.svm import SVRfrom sklearn.neighbors import KNeighborsRegressor# PCA降维(优化参数命名,明确逻辑)pca_model = PCA(n_components=0.99) # 保留99%方差x_pca = pca_model.fit_transform(x_top20) # x_top20为前20个特征数据# 初始化三种模型svm_reg = SVR(kernel="rbf") # 径向基核函数SVMknn_reg = KNeighborsRegressor(n_neighbors=5) # K近邻(K=5)rf_reg = RandomForestRegressor(n_estimators=200, random_state=42)# 模型训练与评估(省略数据标准化代码,提升模型稳定性)svm_reg.fit(x_train, y_train)knn_reg.fit(x_train, y_train)rf_reg.fit(x_train, y_train)# 计算各模型精度model_scores = { "SVM": [svm_reg.score(x_train, y_train), svm_reg.score(x_test, y_test)], "KNN": [knn_reg.score(x_train, y_train), knn_reg.score(x_test, y_test)], "随机森林": [rf_reg.score(x_train, y_train), rf_reg.score(x_test, y_test)]}
模型性能对比与落地应用

三种模型的训练与测试精度如下表所示,随机森林模型测试精度达0.790951,且拟合效果与泛化能力平衡最优,因此选定其作为最终预测模型。

模型

训练精度

测试精度

SVM

0.846921

0.765147

KNN

0.992511

0.769748

随机森林

0.958661

0.790951

利用该模型对测试集50个化合物进行预测,计算得到IC50值及对应pIC50值,将结果填入ERα_activity.xlsx的测试集对应列,为化合物活性评估提供数据支撑。

ADMET分类预测模型构建

模型设计与训练

ADMET性质直接决定化合物能否成为合格药物,针对5类性质分别构建分类模型,统一采用神经网络Dense模型实现,核心优势是能捕捉特征间复杂非线性关系,适配二分类任务需求。模型参数设置如下:

模型采用多层全连接结构,激活函数选用ReLU,输出层采用Sigmoid函数映射至0-1区间,损失函数为二元交叉熵,优化器选用Adam,通过迭代训练优化参数。核心代码如下:

import tensorflow as tffrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Dense, Dropout# 构建基础模型(优化网络结构命名,增加注释)def build_admet_model(input_dim): model = Sequential(name="ADMET_Classifier") model.add(Dense(64, activation="relu", input_dim=input_dim)) # 输入层+隐藏层1 model.add(Dropout(0.2)) # 防止过拟合 model.add(Dense(32, activation="relu")) # 隐藏层2 model.add(Dense(1, activation="sigmoid")) # 输出层(二分类) # 编译模型 model.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"]) return model# 读取ADMET数据(省略数据匹配与划分代码,按7:3拆分训练集与验证集)admet_data = pd.read_excel("ADMET.xlsx", sheet_name="training")# 针对每类性质训练模型(以Caco-2为例)caco2_x = x_data # 729个分子描述符作为输入caco2_y = admet_data["Caco-2"]caco2_model = build_admet_model(729)history = caco2_model.fit(caco2_x, caco2_y, epochs=50, batch_size=32, validation_split=0.3)
模型训练效果与预测应用

各ADMET性质模型的损失曲线如下,从曲线可见模型训练过程中损失逐步下降并趋于稳定,无明显过拟合或欠拟合问题,训练效果良好。

图为Caco-2性质模型损失曲线

图为CYP3A4性质模型损失曲线

图为hERG性质模型损失曲线

图为HOB性质模型损失曲线

图为MN性质模型损失曲线
利用训练完成的5个模型,对测试集50个化合物的ADMET性质进行预测,将结果(0/1)填入ADMET.xlsx测试集对应列,为化合物安全性与药代动力学性质评估提供依据。

化合物性质优化方案

核心特征与取值范围锁定

为找到兼具优异ERα抑制活性与良好ADMET性质的化合物,先筛选出ADMET性质中至少3项达标(取值为1)的样本,再通过线性回归分析核心分子描述符对生物活性的影响系数,锁定关键特征及最优取值范围。
核心代码如下:

from sklearn.linear_model import LinearRegression# 筛选达标样本(至少3项ADMET性质为1)admet_cols = ["Caco-2", "CYP3A4", "hERG", "HOB", "MN"]admet_data["pass_count"] = admet_data[admet_cols].sum(axis=1)qualified_data = admet_data[admet_data["pass_count"] >= 3]# 合并活性数据与特征数据optimize_data = pd.merge(qualified_data, merge_data, on="SMILES")x_optimize = optimize_data[top20_feature.index] # 前20个重要特征y_optimize = optimize_data["pIC50"]# 线性回归分析特征系数lr_model = LinearRegression()lr_model.fit(x_optimize, y_optimize)# 提取系数,分析特征对活性的正负影响coef_series = pd.Series(lr_model.coef_, index=x_optimize.columns)positive_features = coef_series[coef_series > 0] # 正向影响特征(系数为正)

通过分析得到关键特征的最优取值范围,结果如下,可为化合物结构优化提供明确方向:

优化结论

结合分析结果,核心优化方向如下:优先调控正向影响特征至对应最优范围,同时保证ADMET性质中至少3项达标——重点确保小肠上皮渗透性(Caco-2=1)、口服生物利用度(HOB=1)达标,规避心脏毒性(hERG=0)与遗传毒性(MN=0),兼顾代谢稳定性(CYP3A4),可得到活性与安全性俱佳的ERα拮抗剂候选化合物。

总结

本文通过“特征筛选-模型构建-性质优化”的全流程方案,实现了ERα拮抗剂生物活性与ADMET性质的精准预测及优化,核心成果包括:筛选出20个影响生物活性的关键分子描述符,构建了高精度随机森林活性预测模型与神经网络ADMET分类模型,锁定了化合物优化的核心特征及取值范围。
方案基于实际咨询项目沉淀,所有代码经业务校验可直接落地,配套24小时代码应急修复服务与人工答疑,既解决学生代码运行与查重痛点,又为医药研发领域的化合物筛选提供高效技术方案。后续可结合更多化合物样本优化模型泛化能力,进一步提升预测精度与落地价值。

本文中分析的完整智能体、数据、代码、文档分享到会员群,扫描下面二维码即可加群!


资料获取

在公众号后台回复“领资料”,可免费获取数据分析、机器学习、深度学习等学习资料。

点击文末“阅读原文”

获取完整智能体、

代码、数据和文档。

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

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

相关文章

基于51/STM32单片机电机霍尔测速PWM控制PID无刷CAN总线无线设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于51/STM32单片机电机霍尔测速PWM控制PID无刷CAN总线无线设计(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码基于51/STM32单片机电机霍尔测速PWM控制PID无刷CAN总线无线设计(设计源文件万字报告讲解)(支持资料、…

服务器里面多个网口,电口,光口确定

在设备服务器上架时会涉及到配置网络和IP地址,确认端口的问题,对于有BMC系统的服务器,直接插入光模块和光纤后,可以在BMC里面确认好连接的哪个端口,端口会显示是否已连接光纤。 但是有时候在统信 等linux系统下面使用i…

携程闹乌龙,误发通知全员都被离职了。

1月12日晚,大量携程员工突然收到一条措辞正式的离职通知短信,内容以“XX你好,感谢一路相伴”开头。此次乌龙事件源于内部沟通软件trappal下线,在关停关联手机号绑定功能时,工作人员未提前关闭系统预设的短信提醒&#…

Python用Ridge、Lasso、KNN、SVM、决策树、随机森林、XGBoost共享单车数据集需求预测及动态资源调配策略优化|附代码数据

全文链接:tecdat.cn/?p44851原文出处:拓端数据部落公众号关于分析师在此对Weiduoduo Han对本文所作的贡献表示诚挚感谢,她深耕大数据技术领域,系统掌握Python、Java、Spark等技术工具,精通Java程序设计、数据结构、计…

基于STM32单片机DDS函数信号发生器AD9850方波正弦波设计套件57(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于STM32单片机DDS函数信号发生器AD9850方波正弦波设计套件57(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码 STM32单片机DDS函数信号发生器方波正弦波57 产品功能描述: 本系统由STM32F103C8T6单片机核心板、AD…

使用 useAgent 与 LangGraph 构建全栈 AI Agent 应用

AI agent 正在迅速从令人惊叹的演示演进到大规模的生产级应用,而 LangGraph 让这一转变比以往更顺畅。但在此之前,把这些 agent 接到一个 frontend(并为用户提供实时交互)往往需要一堆杂乱的 API、state management,以…

Python、Flask、ECharts及MySQL疾病疫情数据可视化系统设计与实现——多模块联动实时展示优化|附代码数据

全文链接:tecdat.cn/?p44846原文出处:拓端数据部落公众号 关于分析师 在此对Chao Xu Li对本文所作的贡献表示诚挚感谢,他完成了电子信息科学与技术专业的本科学位,专注疫情数据可视化与Web开发领域。擅长Python、MySQL、Linux、C…

基于51/STM32单片机智能台灯路灯坐姿语音光照PWM调光无线设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于51/STM32单片机智能台灯路灯坐姿语音光照PWM调光无线设计(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码 08-多功能台灯 基于51/STM32单片机智能台灯路灯坐姿语音播报光照PWM调光无线设计 光照声音插座阈值可调C51-17 光…

批量校正图像方向(校正PDF页面方向)

批量校正图像方向是一款专为扫描类文档设计的图像处理工具,主要用于自动识别并校正图片和PDF文档的页面方向(如横版转竖版或竖版转横版)。该软件通过智能算法分析页面内容,批量调整方向以确保文档可读性,适用于合同、报…

国产知识管理平台崛起:Gitee Wiki如何领跑企业数字化转型新赛道

国产知识管理平台崛起:Gitee Wiki如何领跑企业数字化转型新赛道 随着"十四五"规划明确提出加快数字化发展步伐,企业知识管理平台正迎来前所未有的战略机遇期。在信创产业蓬勃发展的背景下,国产Wiki系统已从单纯的内容管理工具进化为…

2026年全球医疗行业趋势研究报告:AI医疗、创新药与医疗器械|附240+份报告PDF、数据、可视化模板汇总下载

原文链接:tecdat.cn/?p44820原文出处:拓端抖音号拓端tecdat 在重症监护室的紧急抢救中,AI辅助诊断系统为医生精准识别病灶争取关键时间;在西部偏远乡村的卫生室,国产彩超设备让村民无需奔波县城就能完成基础疾病筛查—…

Gitee领跑2026年项目管理工具市场:技术驱动与本土化优势双轮驱动

Gitee领跑2026年项目管理工具市场:技术驱动与本土化优势双轮驱动 在数字化转型浪潮席卷全球的背景下,项目管理工具已成为企业提升效率、优化资源配置的关键基础设施。2026年的项目管理工具市场呈现出明显的技术驱动特征,其中Gitee作为中国最大…

ClevNote安卓版(安卓手机备忘录应用)

ClevNote是一款方便实用的Android备忘录应用。它提供了多种功能,可以帮助用户管理日常的备忘事项、清单、提醒和密码等。 软件功能 1.备忘录功能:用户可以轻松创建和管理备忘录,写下日常的想法、计划和提醒事项。 2.清单功能:用户…

高通QCE工程实践:硬件加密加速从入门到调试

本文基于高通平台硬件加密实践经验整理,适合应用开发者和系统工程师。通过几个典型场景,带你理解QCE的工作原理、验证方法和调试技巧。 为什么需要关注硬件加密加速? 在Android应用或系统开发中,你是否遇到过这些困惑&#xff1a…

走向开放硅:Baochip-1x 的 RISC-V MCU 架构与工程实践

在开源硬件领域,一款既有芯片级代码又可用于工程实践的项目并不多见。baochip-1x 就是这样一个鲜明例子:它是一个围绕 RISC-V 架构、绝大部分开源逻辑描述的 MCU(微控制器)项目。该项目的代码托管在 GitHub 上,并提供部…

JMeter压力测试,如何“温柔”地搞垮你的服务器?

大家好,我是小悟。 一、JMeter是何方神圣? 假如,你就是那个在黑色星期五早上8点冲向超市大门的购物狂魔,而JMeter就是你那支可以瞬间克隆出1000个你的神奇部队!它不是什么神秘的黑客工具,而是Apache家族里…

技术日报|微软AI训练器登顶,X算法源码重回GitHub热榜

🌟 TrendForge 每日精选 - 发现最具潜力的开源项目 📊 今日共收录 8 个热门项目,涵盖 50 种编程语言🌐 智能中文翻译版 - 项目描述已自动翻译,便于理解🏆 今日最热项目 Top 10 🥇 microsoft/age…

# 一个简单的提示词技巧,让我的 AI 变聪明了 200%

让我的 AI 变“聪明”200% 的一个简单 Prompt 小技巧 为什么你的 AI 总是出错(以及该怎么修) 想象你在加班做项目。你问你的 AI 助手:“Who is the current Prime Minister of the UK?” 它笃定地答:“Boris Johnson.” 等等…

数组算法分享 | 代码随想录(CPP+LeetCode)

总览[704. 二分查找](https://leetcode.cn/problems/binary-search/)[27. 移除元素](https://leetcode.cn/problems/remove-element/)[977. 有序数组的平方](https://leetcode.cn/problems/squares-of-a-sorted-array/)[209. 长度最小的子数组](https://leetcode.cn/problems/m…

【大数据毕设源码分享】django基于协同过滤算法+数据可视化的电影个性化推荐系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…