网易首页 > 网易号 > 正文 申请入驻

零基础:医学人工智能科研入门(9.1版)

0
分享至

前沿

2017年,国务院印发《新一代人工智能发展规划》,“人工智能+”写入2024年政府工作报告。在医学领域,人工智能已经在影像、内镜图像识别,电子病历逻辑判断等有着大量应用,也写入专家共识,例如《 人工智能在肺结节的应用专家共识(2022年)》。

近几年逐步提倡科研与转化相结合,科研要服务于应用。医学人工智能的研究就可以很好的实际应用于临床工作。《Nature》《Science》等学术期刊均有专题报道,课题方面也是热门的立项方向。

一、AI医学优势:

(一)适合非高校的医院的科研:

1、绝对大部分非高校直属的医院,少有独立的生物学实验室,生物学实验室的维护成本极高。而人工智能医学研究,算是一种轻资产,最为核心的研究环节就是算法的构建、算力的运用。固然,有专门的软件和公司提供服务,也可以采取医院自建的模式,投入最大的是智力和精力。在经费上投入不算多,因为是用于科学研究,对于信息安全等级要求不高,也没有多少维护费用。

2、跟蛋白组学、基因组学研究类似,人工智能医学的研究,其算法是对于临床各个科室是通用的。可应用于影像组学的核心算法也可以用于构建彩超图像的模型。随机森林、决策树不仅可应用于预测心肌梗死的预后,也可以应用于护理的跌倒风险评估,甚至可扩展到医院行政管理。

3、目前,大部分医院均实现电子病历,产生海量的数据。而人工智能医学的基础在于数据。研究的设计简单地归纳为两个部分,① 临床数据采集和需求、② 模型构建和运行。临床数据收集、临床需求的确定,这个对于绝对部分医院来说,是完全没有问题的。而其中问题最大的是模型构建和运行。而这块跟高校的计算机实验室恰恰相反,他们缺少的是临床数据和需求。

4、做好人工智能医学研究,可以有几个方式。与高校的计算机实验室合作、第三方集成平台。但经过实践,再加上绝大部分代码均可以在github上找到。以及论文的发表需要调参和提供原始代码,医院完全可以独立开发算法和模型。构建自己的人工智能医学实验室。

(二)软件编程技能培养:

目前人工智能的主流编程语言为python。近几年Python流行起来,除了在人工智能领域的应用,它在资料收集、数据分析方面实在强势。

只需要几行简短的代码,它就可以:

● 网络爬虫,一键爬取全网公开资料

● 对实验结果进行数据分析,让观点更科学严谨

● 批量处理上百个Excel、Word、PDF文件

● 生成可视化图表,成果展示更专业……

工欲善其事,必先利其器。大数据时代,科研人想要如鱼得水,学会Python应当提上日程。

当前,医院为了质控控制和流程改造。院内上线了各类系统,并且还在不断增加,医疗信息化建设是必然趋势。

对信息系统使用和优化,单纯依赖信息科会导致迭代周期变慢。熟悉和了解编程原理,这对使用院内信息系统有极大的帮助。更好服务于临床工作。

(三)研究方向:

医学人工智能从应用场景角度,可以有以下领域:

① 机器学习(深度学习)决策系统:

基于一些复杂数据的结果预测。例如,手术结局预测,死亡风险预测。

以手术成败,死亡作为target,临床诊疗过程中的所有因素做为Feature。流程为① 环境搭建 ② 数据预处理 ③ 选择算法 ④ 算法训练 ⑤ 生成模型 ⑥ 模型测试(结果输出)。这其中“选择算法”可以选择多种算法,对不同算法的结果进行比较;结果预测一般涉及机器学习(machine learning)。

“结果输出”的指标:precision,ROC,F1, recall。

② 视觉识别(图像识别):

属于无监督学习。对医疗图像进行标签,主要涉及深度学习(deep learning)。就发表论文的成功概率来说,图像识别更容易发表论文。

③ 自然语言处理:

可用于对病历文本的数据分析和处理。

④ 语音处理:

适用于临床问诊和沟通。

(四)可投稿期刊列表:

1、Ann Transl Med

2、Math Biosci Eng

3、 Sci Rep

4、artificial intelligence in medicine(IF=5.3)

5、Journal of Digital Health

二、零基础入门步骤:

(一)名词与关系:

1.名词解释:

人工智能:人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人工智能的理论、方法、技术及应用系统的一门新的技术科学。

人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能与人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

机器学习:机器学习(ML, Machine Learning)是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。

机器学习还有下面几种定义:

(1)机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。

(2)机器学习是对能通过经验自动改进的计算机算法的研究。

(3)机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。

深度学习:深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。

深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。

Python:一种流行的计算机编程语言。

2. 名词关系:

人工智能是一个比较大的概念,更多是面向公众。机器学习是人工智能实现的一个具体方法,而深度学习是机器学习的一个分支,难度更高。而目前实现机器学习、深度学习的编程,主流还是应用python语言。有很多也使用R语言来做机器学习的研究。

(二)工作环境的搭建:

安装:目前主流推荐Anaconda。其具体步骤可以按照知乎的这个教程:

① Anaconda安装
https://zhuanlan.zhihu.com/p/339690068

② Anaconda安装
https://zhuanlan.zhihu.com/p/432043531

说的是Anaconda安装好后,就包含了python了。不过,我也没理清之间的关系,保险一点可以把Python也安装了。

Python的安装:
https://zhuanlan.zhihu.com/p/363708165

费用:以上软件商用是要收费的,不过,安装的时候选择个人使用是免费的。

(三)编辑器选择:

编辑器就是我们编写代码的地方,安装好Anaconda会有多种编辑器。具体哪一种更好,我也正在摸索。

(四)基础知识:

Python也是一种编程语言,编程语言都有一些规则。比如,什么是字符串,引号是什么意思,怎么输出结果。由于Python应用于各个领域,厉害的Python大神都是各大公司抢着要的,我们跨界过去也不可能那么多精力,就主要学习最基本的框架和主要用于医学领域的。这里推荐一个B站教学视频:

https://www.bilibili.com/video/BV1rg411G7mp?from=search&seid=4851026855846953069&spm_id_from=333.337.0.0

此外,也可以看官方文档:

https://docs.python.org/3/tutorial/modules.html#importing-from-a-package

1、Python内部环境部署:

1.1 python库的安装:

python库的安装有四个方法,主要分为在线安装和离线安装。

在线安装:使用Anaconda prompt 界面 > pip install XXX

离线安装:

1)在Python Extension Packages for Windows - Christoph Gohlke (uci.edu) 下载轮子>使用Anaconda prompt 界面 > cd 工作目录 >pip install 轮子路径+轮子名称

2)github上下载源码,对于医学人工智能,最需要用到feature-selector的库, 而这个库只有github上有。

WillKoehrsen/feature-selector: Feature selector is a tool for dimensionality reduction of machine learning datasets (github.com)github.com/WillKoehrsen/feature-selector

我在这个问题上卡了很久。下好源码后,解压压缩包。使用Anaconda prompt 界面 > cd 工作目录 >python setup.py install

1.2 机器学习环境部署标准三联:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

常用语法和逻辑:

1)对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。【注:缩进是四个空格或一个Tab键】

2)注意大小写:name 'Fs' is not defined,Fs,没有被定义。最后发现是大小写错误。前后代码的大小写一定要一致,否则会报错。

3)使用jupter的时候,由于赋值的问题,需要重头开始运行。如果,在某个代码段运行报错,有可能出现赋值错误。

1.3 ROC曲线的制作:

ROC曲线的全称是“受试者工作特性”曲线(Receiver Operating Characteristic),源于二战中用于敌机检测的雷达信号分析技术。是反映敏感性和特异性的综合指标。它通过将连续变量设定出多个不同的临界值,从而计算出一系列敏感性和特异性,再以敏感性为纵坐标、(1-特异性)为横坐标绘制成曲线,曲线下面积越大,判别的准确性越高。在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。

## 输出高清图像

%config InlineBackend.figure_format = 'retina'

%matplotlib inline

ROC曲线做出来是一个图像,所以,需要matplotlib这个库,这个库是python里面非常有用的库。还可以做直方图、散点图、折线图。也就不必另外用统计图软件了。

matplotlib.rcParams['axes.unicode_minus']=False

import seaborn as sns

sns.set(font= "Kaiti",style="ticks",font_scale=1.4)

import pandas as pd

pd.set_option("max_colwidth", 200)

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from sklearn.preprocessing import LabelEncoder,label_binarize

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestClassifier

from sklearn.metrics import *

这其中,sklearn.metrics 就是我们用来数据归回/分类评估的核心库。这个import*,后面这个*要注意,是包含所有模块,但是使用有争议,暂时也没有找到其他代码,先用着吧。

2、数据处理:

2.1、数据格式与提取:

我们就可以数据预处理。Python是可以支持CSV、Excel的数据库格式,CSV可以直接从医院的HIS系统导出,如果对于海量数据还是要选择这种格式。用EXCEL比较适合大部分医疗从业者。

CSV格式:(代码如下)

import pandas as pd

import csv

with open('A.csv','r') as csvfile:

reader = csv.DictReader(csvfile)

column = [row['Age'] for row in reader]

Execl格式:(代码如下)

import numpy as npimport pandas as pdplt.rc('font',family='Times New Roman')a = 'C:/Users/46685/Desktop/科研数据//肾内科/DKD数据库给韬哥5.xlsx'dataset= pd.read_excel(a,sheet_name = 'Sheet1')dataset.head() #显示前几排数据x=dataset.iloc[:,0:49]  # iloc 定位到列y=dataset.iloc[:,49]print(x)print(y)

2.2数据结构:

数组(Array)是由相同类型的元素(element)集合组成的固定长度(Size)的一种数据结构。

2.3 数据处理:

这里用了泰坦尼克号的数据案例:

train = pd.read_csv("data/Titanic处理后数据.csv")

# 将字符串类型的分类变量进行重新编码

label = LabelEncoder()

train["Name"] = label.fit_transform(train["Name"])

train["Embarked"] = label.fit_transform(train["Embarked"])

train["Sex"] = label.fit_transform(train["Sex"])

Python的符号格式有三种:字符串、整数、浮点数,那么,像临床常用的基线数据,“姓名”“性别”就需要转换为Python可识别的数据。以上代码就是转换用。

3、模型构建:

# 确定目标变量和自变量,目标变量:我们要研究的目标。例如,我如果想研究息肉切除后出现风险,就可以定义为:

Target= [“bleed”]

# 定义模型的自变量名

train_x = ["Pclass", "Name", "Sex", "Age", "SibSp", "Parch","Fare","Embarked"]

也可以表述为自己提取对应的数据:

x=dataset.iloc[:,0:17]y=dataset.iloc[:,17]print(x)print(y)

使用feature_selector进行,feature筛选。累积权重不同,可以影响最后结果输出的效果。

##将训练集切分为训练集和验证集

from sklearn.model_selection import train_test_split  #导入样本划分的库x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=0) # 样本进行划分

机器学习的数据要分为两个部分:训练集、验证集。这句代码就是把数据进行分割。不过,一般都是2:8分。20%用来验证。

下面的程序中使用RandomForestClassifier()函数建立了包含100个决策树,最大深度为5的随机森林模型,针对训练好的模型并计算出其它训练集和验证集上的预测精度。

## 使用随机森林对泰坦尼克数据进行分类

rfc1 = RandomForestClassifier(n_estimators = 100, # 树的数量

max_depth= 5, # 子树最大深度

oob_score=True,

class_weight = "balanced",

random_state=1)

rfc1.fit(X_train,y_train)

4、结果输出:

## 输出其在训练数据和验证数据集上的预测精度

rfc1_lab = rfc1.predict(X_train)

rfc1_pre = rfc1.predict(X_val)

print("随机森林的OOB score:",rfc1.oob_score_)

print("训练数据集上的精度:",accuracy_score(y_train,rfc1_lab))

print("验证数据集上的精度:",accuracy_score(y_val,rfc1_pre))

但是,为了让论文更好发表,最好有图片。

## 可视化在验证集上的Roc曲线

pre_y = rfc1.predict_proba(X_val)[:, 1]

fpr_Nb, tpr_Nb, _ = roc_curve(y_val, pre_y)

aucval = auc(fpr_Nb, tpr_Nb) # 计算auc的取值

plt.figure(figsize=(10,8))

plt.plot([0, 1], [0, 1], 'k--')

plt.plot(fpr_Nb, tpr_Nb,"r",linewidth = 3)

plt.grid()

plt.xlabel("假正率")

plt.ylabel("真正率")

plt.xlim(0, 1)

plt.ylim(0, 1)

plt.title("随机森林ROC曲线")

plt.text(0.15,0.9,"AUC = "+str(round(aucval,4)))

plt.show()

最后得出这么一个ROC结果。

三、常用python算法库:

1)Scikitlearn:是一个常用的算法库:相关代码可参考:
https://mp.weixin.qq.com/s/c-Sl7n_ceawz6AHm5Mtw0w

2)机器学习常用算法:

eXtreme Gradient Boosting (XGBoost),

Adaptive Boosting(AdaBoost),

Decision Tree (DT),

Support vector machines (SVM),

Random Forest (RF)

Gradient Boosting Decision Tree (GBDT)

LogisticRegression(LR)

四、未完待续:

除了预测类的机器学习,还有结合深度学习的影像组学,难度更高,但真实世界中的应用场景更多,更有利于转化,可以参考:
https://www.madao33.com/post/7/

该教程文档不断更新,版本号越高,就是最新版,上面很多代码在运行中还有很多bug,希望更多同行进行交流,互相提供代码和教程,目前跟朋友一起合作了一篇文章,相关代码分享在ganbingliangyi (taoliang梁韬) (github.com)

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
全红婵不对劲,不是她以后不比赛了,而是她今年19岁了,居然开始了自己的精致路线

全红婵不对劲,不是她以后不比赛了,而是她今年19岁了,居然开始了自己的精致路线

LULU生活家
2026-09-30 20:32:43
上海前滩露天音乐会“威力”太猛!隔江居民吐槽:音响声“击穿”数百米江面像怼到家楼下

上海前滩露天音乐会“威力”太猛!隔江居民吐槽:音响声“击穿”数百米江面像怼到家楼下

奇思妙想生活家
2026-10-30 01:09:12
悲剧!黑龙江高速美女话务员韩露去世,年仅36岁,生前烟酒不沾,丈夫悲痛发文

悲剧!黑龙江高速美女话务员韩露去世,年仅36岁,生前烟酒不沾,丈夫悲痛发文

火山詩话
2026-10-29 10:40:29
坏消息!东契奇,联盟第1...

坏消息!东契奇,联盟第1...

左右为篮
2026-10-30 03:05:56
一个奇怪现象 : 为何网上失业哀鸿遍野 , 现实中大家都按部就班的工作

一个奇怪现象 : 为何网上失业哀鸿遍野 , 现实中大家都按部就班的工作

青史卷中人
2026-10-03 02:55:17
多名演员发文抵制,业内人士:很悲哀,收入猛降八成,几乎成“免费劳动力”

多名演员发文抵制,业内人士:很悲哀,收入猛降八成,几乎成“免费劳动力”

上海约饭局
2026-07-05 15:23:20
“慰安椅”根本不是椅子,是把每个年轻姑娘活生生碾碎的吃人机器

“慰安椅”根本不是椅子,是把每个年轻姑娘活生生碾碎的吃人机器

千秋文化
2026-09-22 19:32:48
著名音乐人顾嘉辉去世,写下《上海滩》等经典歌曲,堪称港乐教父

著名音乐人顾嘉辉去世,写下《上海滩》等经典歌曲,堪称港乐教父

腹黑狗子说
2026-10-29 15:28:16
我暗恋美女房东五年,听说她嫁人,第二天就整理行李退租。她却一脸懵:你这时候搬走,咱婚还咋结啊?

我暗恋美女房东五年,听说她嫁人,第二天就整理行李退租。她却一脸懵:你这时候搬走,咱婚还咋结啊?

世间烟火集
2026-09-18 17:29:27
女单大爆冷!奥运亚军1-3出局,陈熠刚零封张本美和又掀翻怪胶手

女单大爆冷!奥运亚军1-3出局,陈熠刚零封张本美和又掀翻怪胶手

林木体育解说
2026-10-29 19:20:44
轰动全国的“91大神”庭审细节曝光,炸翻无数人

轰动全国的“91大神”庭审细节曝光,炸翻无数人

鸣金网
2026-10-18 14:17:30
西班牙高铁相撞68人死亡,原因令人深思,西班牙错过的中国订单,也错过了一套安全兜底系统

西班牙高铁相撞68人死亡,原因令人深思,西班牙错过的中国订单,也错过了一套安全兜底系统

王新喜
2026-10-29 10:46:46
2-3!WTT冠军赛再爆冷门:日本队2大主力首轮出局,无缘再战国乒

2-3!WTT冠军赛再爆冷门:日本队2大主力首轮出局,无缘再战国乒

越岭寻踪
2026-10-29 06:06:50
2-3惜败!女单大爆冷!就在刚刚,WTT冠军赛:22岁日乒名将惨遭一轮游!陈幸同3-0强势晋级,20岁德国左撇子杀疯了

2-3惜败!女单大爆冷!就在刚刚,WTT冠军赛:22岁日乒名将惨遭一轮游!陈幸同3-0强势晋级,20岁德国左撇子杀疯了

篮球热嗖
2026-10-29 10:08:29
29日晚法国冠军赛战报,张本美和剃光头,蒯曼王曼昱压力很大

29日晚法国冠军赛战报,张本美和剃光头,蒯曼王曼昱压力很大

南海浪花
2026-10-30 00:01:18
家长用“微商女强人”形象,接送女儿放学,被嘲:好紧绷的松弛感

家长用“微商女强人”形象,接送女儿放学,被嘲:好紧绷的松弛感

妍妍教育日记
2026-10-27 14:32:19
主持人问迪丽热巴,你为什么不买房。她说,没必要买房,我一年飞一百多次,三天两头换城市,买房干什么,买个房子专门放行李箱吗?

主持人问迪丽热巴,你为什么不买房。她说,没必要买房,我一年飞一百多次,三天两头换城市,买房干什么,买个房子专门放行李箱吗?

元气科技馆
2026-10-28 17:20:11
一个坏消息: 中国1000多万应届毕业生面临的非常严峻问题, 或到来了

一个坏消息: 中国1000多万应届毕业生面临的非常严峻问题, 或到来了

史之铭
2026-10-28 04:32:50
胡锡进:姆巴佩事件并非我们越强硬,越不给机会越有利于维护中国的尊严

胡锡进:姆巴佩事件并非我们越强硬,越不给机会越有利于维护中国的尊严

尘语者
2026-10-29 09:05:27
凶宅试睡员在上海一别墅中被吓死,警方调查傻眼:这不是被吓死的

凶宅试睡员在上海一别墅中被吓死,警方调查傻眼:这不是被吓死的

罪案洞察者
2025-06-12 13:45:25
2026-10-30 06:59:00
肝病梁韬 incentive-icons
肝病梁韬
三甲医生;丁香园2020最具影响力医生;消化微创学会委员;擅长乙肝,挖掘健康生活知识;
86文章数 32关注度
往期回顾 全部

科技要闻

MacBook终于能触屏了:22999元起

头条要闻

女子一口气买500000元的超市卡 店员立即报警

头条要闻

女子一口气买500000元的超市卡 店员立即报警

体育要闻

超级黑马!球队不败 29岁的他得分榜前三

娱乐要闻

白百何被曝和二婚丈夫离婚 和男生逛街

财经要闻

两大娱乐巨头,谈崩了

汽车要闻

标配宁德时代电池 智己LS8 NEO纯电预售24.98万起

态度原创

时尚
教育
房产
数码
军事航空

新剧吻戏不断引猜疑!王玉雯杨玏被曝分手,团队沉默背后藏何隐情

教育要闻

老外说beats me什么意思?打我?是不是有毛病?

房产要闻

12.1亿!三亚挂出重磅宅地!

数码要闻

MacBook Pro首次支持触控!苹果新品又来了

军事要闻

万斯致信伊朗安全高官试图重启谈判

无障碍浏览 进入关怀版