随机森林:人类基因组中病毒片段识别

news2024/11/23 22:47:02

在这里插入图片描述
百万年前人类基因组中基因组中就已经嵌入了病毒序列,其中一部分在某些条件下会致病,通过基因测序获得海量片段之后就可以判断正常基因和病毒序列了。
在这里插入图片描述
我们根据这种包含众多碱基的基因测序结果从中选取部分特征,关于特征的选取也是有好有坏的,如何能选取到更好的反映样本准确性的结果很重要,这里我们已经选取了部分特征作为构建模型的数据集。
在这里插入图片描述
集成学习就是通过构建并结合多个机器学习器来完成学习任务,通过多个基学习器分别产生不同的结果再从中选择结果中的众数来判定结果。
在这里插入图片描述
随机森林的算法思想是构建多棵决策树然后根据少数服从多数的原则选出最终的实验结果,这里的随机有两个含义,一是随机选择训练样本,训练样本并不是全部用来训练;二是随机选择部分特征,并不是选用全部的特征,选取其中一部分特征来进行训练,两个随机的目的都是为了防止过拟合,这样的结果更有稳健性。
在这里插入图片描述

'''step1 调用包'''
import pandas as pd
from sklearn.model_selection import train_test_split
#随机森林
from sklearn.ensemble import RandomForestClassifier
#调用准确率计算函数
from sklearn.metrics import accuracy_score  
'''step2 导入数据'''
data = pd.read_excel('data_virus.xlsx')

'''step3 数据预处理'''
# 把带类标号数据(用于训练和检验)
# 和待判(最后5行)数据分开
data_used = data.iloc[:112,:] 
#Python从0开始计数,故上一行代码从第0行取到第77行
#共提取了112行。

#最后5行为待判集合
data_unused = data.iloc[113:,:]
'''step4 划分数据集'''
#(将带类标号数据#划分为训练集(75%)
#和检验集(25%)
#将类别列和特征列拆分,
#便于下面调用划分函数
y_data=data_used.iloc[:,0]
x_data=data_used.iloc[:,1:]

#调用sklearn中的函数划分上述数据
x_train, x_test, y_train, y_test = train_test_split(
        x_data,y_data,test_size=0.25,random_state=0)
'''step5 模型计算(训练、检验、评价)'''
#step5.1 训练模型
model_RF = RandomForestClassifier()
model_RF.fit(x_train, y_train)
#step5.2 检验模型
pred_test = model_RF.predict(x_test)
#step5.3 模型评价(准确率)
#这里y_test为真实检验集类标号
#pred_test为模型预测的检验集类标号
#比较二者即可得到准确率
acc_test = accuracy_score(y_test,pred_test)
print('检验准确率为:',acc_test)
'''step6 预测结果'''
#模型训练完,检验效果满意,即可对最后5行
#未知类别样本进行预测(分类)
x_unused = data_unused.iloc[:,1:]
pred_unused = model_RF.predict(x_unused)
print('待判样本预测类别为:0-人类/1-病毒\n',pred_unused)

我们可以看到这里调用包选择了从 sklearn 中选择了 RandomForestClassifier() 作为训练的模型,

  1. 导入需要的库:pandas、sklearn等
  2. 导入数据:读取Excel中的数据到pandas DataFrame
  3. 数据预处理:将带类标的数据和待预测数据分开
  4. 划分数据集:将带类标的数据分割为训练集和测试集
  5. 模型计算:
    • 训练随机森林模型
    • 在测试集上测试模型,计算准确率
    • 输出测试集准确率
  6. 预测结果:
    • 用训练好的模型对待预测数据进行预测
    • 输出预测的类别结果
      主要步骤包括:
  • 导入数据
  • 数据预处理
  • 划分训练测试集
  • 使用随机森林模型训练
  • 在测试集上测试模型
  • 用模型对新数据进行预测

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

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

相关文章

剑指offer62.圆圈中最后剩下的数字

这道题在算法课上的一个小故事上有一个类似的,就是一个军官打了败仗,带着他的几个兵逃到一个山洞,他们不想当俘虏想自杀,但是军官不想自杀但是又不好意思走,于是军官想了个办法,他们几个人围成一个圈&#…

数据库的新工具datagrip

datagrip的安装(一路next即可) 首先,双击datagrip安装包,会出现下面的界面,然后直接点击next 继续点击next 选中tatagrip,然后在点击next 点击install 勾选datagrip,然后在点击finish 直接点击…

【面试题】JavaScript高级四、高阶技巧

JavaScript高级四、高阶技巧 1、深浅拷贝 首先浅拷贝和深拷贝只针对引用类型 (1)浅拷贝 浅拷贝:拷贝对象的属性的值(简单类型存的值就是值本身,引用类型存的值是对象的堆地址),所以如果拷贝的…

大模型PEFT技术原理(二):P-Tuning、P-Tuning v2

随着预训练模型的参数越来越大,尤其是175B参数大小的GPT3发布以来,让很多中小公司和个人研究员对于大模型的全量微调望而却步,近年来研究者们提出了各种各样的参数高效迁移学习方法(Parameter-efficient Transfer Learning&#x…

gitee上传一个本地项目到一个空仓库

gitee上传一个本地项目到一个空仓库 引入 比如,你现在本地下载了一个半成品的框架,现在想要把这个本地项目放到gitee的仓库上,这时就需要我们来做到把这个本地项目上传到gitee上了。 具体步骤 1. 登录码云 地址:https://gite…

基于安防监控EasyCVR视频汇聚融合技术的运输管理系统的分析

一、项目背景 近年来,随着物流行业迅速发展,物流运输费用高、运输过程不透明、货损货差率高、供应链协同能力差等问题不断涌现,严重影响了物流作业效率,市场对于运输管理数字化需求愈发迫切。当前运输行业存在的难题如下&#xf…

Hlang社区项目说明

文章目录 前言Hlang社区技术前端后端 前言 Hello,欢迎来到本专栏,那么这也是第一次做这种类型的专栏,如有不做多多指教。那么在这里我要隆重介绍的就是这个Hlang这个项目。 首先,这里我要说明的是,我们的这个项目其实是分为两个…

【第三阶段】kotlin语言中的语法异常处理与自定义异常特点

fun main() {var name:String?nulltry{checkException(name)println(name!!.length)//不管name是不是null 后面都会执行}catch(e:Exception){println("你好$e")} }fun checkException(name:String?){name?:throw CustException()//?: 如果name为null 执行后面的抛…

【开发笔记】在Python中调用Docker,并运行SDK任务

目录 1 背景2 环境准备3 实现流程3.1 连接远程Docker3.1 创建容器3.2 解压SDK3.3 挂载容器卷3.4 运行任务3.5 判断任务状态3.6 容器的停止与销毁 4 可能遇到的问题 1 背景 使用Python,在远程Docker中创建一个容器,并在该容器中运行SDK任务 2 环境准备 …

day10 11-牛客67道剑指offer-JZ37 、54、41、59、12、13、14、82、9、22

文章目录 1. JZ37 序列化二叉树2. JZ54 二叉搜索树的第k个节点3. JZ41 数据流中的中位数数组堆 4. JZ59 滑动窗口的最大值5. JZ12 矩阵中的路径6. JZ13 机器人的运动范围7. JZ14 剪绳子乘方dp 8. JZ82 二叉树中和为某一值的路径(一)9. JZ9 用两个栈实现队列10. JZ22 链表中倒数…

redis-数据类型及样例

一.string 类型数据的基本操作 1.添加/修改数据 set key value2.获取数据 get key3.删除数据 del key4.添加/修改多个数据 mset key1 value1 key2 value25.获取多个数据 mget key1 key2二.list类型的基本操作 数据存储需求:存储多个数据,并对数据…

2023,家用美容仪的“春天”来了吗?

【潮汐商业评论/原创】 编辑部的Jessica又买了一台水牙线,用她的话说:“能让自己更完美为什么不去试试呢?” 事实上,像这样的个护产品,Jessica不止一两个,从腰颈按摩仪到护肤导入仪、从全脸射频仪再到全身…

数的范围(二分模板)

大家好 我是寸铁 希望这篇题解对你有用,麻烦动动手指点个赞或关注,感谢您的关注 不清楚蓝桥杯考什么的点点下方👇 考点秘籍 想背纯享模版的伙伴们点点下方👇 蓝桥杯省一你一定不能错过的模板大全(第一期) 蓝桥杯省一你一定不…

lab2 system calls

目录 PreRead任务列表4.3 Code: Calling system calls4.4 Code: System call arguments System call tracing测试任务hints思路先看用户的trace函数trace系统调用到底是怎么作用的呢? 重新捋一遍系统调用的过程 Sysinfo任务hints思路 PreRead 任务列表 xv6课本 第二…

《人工智能大模型体验报告2.0》发布

ChatGPT 崛起引发新一轮生成式AI热潮,国内科技企业纷纷布局。据不完全统计,截至目前,国内大模型数量已达上百个。在这些大模型中,谁的表现最好,智能性最高,用户体验最强?8月12日,新华…

【华为认证数通高级证书实验-分享篇2】

实验拓扑 注:代码块为各交换机路由器中的配置命令 配置拓扑文件 实验要求 实现全网通 实验配置 SW3 [SW3]v b 10 20 [SW3]int e0/0/1 [SW3-Ethernet0/0/1]po link-t a [SW3-Ethernet0/0/1]po de v 10 [SW3-Ethernet0/0/1]int e0/0/2 [SW3-Ethernet0/0/2]po li…

【云计算原理及实战】初识云计算

该学习笔记取自《云计算原理及实战》一书,关于具体描述可以查阅原本书籍。 云计算被视为“革命性的计算模型”,因为它通过互联网自由流通使超级计算能力成为可能。 2006年8月,在圣何塞举办的SES(捜索引擎战略)大会上&a…

热电联产在综合能源系统中的选址定容研究(matlab代码)

目录 1 主要内容 目标函数 程序模型 2 部分代码 3 程序结果 1 主要内容 该程序参考《热电联产在区域综合能源系统中的定容选址研究》,主要针对电热综合能源系统进行优化,确定热电联产机组的位置和容量,程序以33节点电网和17节点热网为例…

Windows11 wsl2安装Ubuntu-20.04

Ubuntu系统开机报错(无法开机启动) Linux启动报错或无法启动的解决方法 Windows11 64bit系统 1.Windows11系统上,启用虚拟机平台 2.Windows11系统上,先启用"适用于Linux的Windows子系统",然后在Windows11上安装Ubuntu-20.04系统 3…

软考:中级软件设计师:数据库模式、ER模型

软考:中级软件设计师:数据库模式、ER模型 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准…