利用机器学习预测乳腺癌
2023-06-13 09:13:59 时间
一、案例介绍
这是一个典型的利用当前流行的机器学习算法来进行生物数据挖掘的案例,非常具有代表性。
同样的算法可以应用在其他不同肿瘤研究中。这是一份来自威斯康星州采集的乳腺癌数据集。这个数据集中包含699个细针抽吸活检的样本单元,其中458个(65.5%)为良性样本单元,241个(34.5%)为恶性样本单元。
[数据链接] (http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/)
数据集包含11个变量指标,也就是数据集有11列,分别是:
✓ ID
✓ 肿块厚度
✓ 细胞大小的均匀性
✓ 细胞性状的均匀性
✓ 边际附着力
✓ 单个上皮细胞大小
✓ 裸核
✓ 乏味染色体
✓ 正常核
✓ 有丝分裂
✓ 类别
利用read.csv()函数读入数据,这里面第一列编号并不需要,利用附索引[-1]去掉,这样所有数据存储在x变量中了
rm(list=ls())
x <- read.csv("breast.csv", row.names=1)
head(x)
x <- x[-1]
class(x$class)
x$class <- as.factor(x$class)
levels(x$class)
levels(x$class) <- c('benign', 'nalignant')
head(x)
pheatmap(x[-10],cluster_rows = F,cluster_cols = F)
nrow(x)
#进行抽样,df分成df.train与dr.validate
set.seed(1234)
train <- sample(nrow(x), 0.7*nrow(x))
x.train <- x[train,]
x.validate <- x[-train,]
table(x.train$class)
table(x.validate$class)
# 逻辑回归- Logistic regression with glm()
fit <- glm(class~., data=x.train, family=binomial())
summary(fit)
prob <- predict(fit, x.validate, type="response")
result <- factor(prob > .5, levels=c(FALSE, TRUE), labels=c("benign", "malignant"))
logit.perf <- table(x.validate$class, result,dnn=c("Actual", "Predicted"))
logit.perf
Predicted
Actual benign malignant
benign 129 6
nalignant 1 69
我们得到这样一个混淆矩阵,就可以去算真阳性,真阴性,假阳性,假阴性,灵敏度,特异度了。可以放去下面的网址一步计算。
http://vassarstats.net/clin1.html
结果截图
二、预测新数据
library(dplyr)
newdata <- dplyr::sample_n(x,5)
newdata <- newdata[-10]
prob <-predict(fit,newdata = newdata,type = 'response')
result <- factor(prob > .5, levels=c(FALSE, TRUE), labels=c("benign", "malignant"))
result
写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。
sx.voiceclouds.cn
有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。
相关文章
- 气象研究人员开始机器学习项目前需要注意哪些问题
- 利用机器学习构建我国历史PM2.5浓度数据集
- 在机器学习上,Google已为你准备好所有开发工具
- 机器学习中的有监督学习,无监督学习,半监督学习
- 借助独特2D材料和机器学习,CV像人一样「看见」数百万种颜色
- 《深入浅出Python机器学习》读书笔记 第二章 基于Python语言的环境配置
- 当前机器学习在药物发现和再利用中面临的四大挑战
- 循序渐进的机器学习:文本分类器
- NUS Bresson | 图机器学习与分子分析,附视频与Slides
- [JCIM | 论文简读] 利用机器学习探索小粒子吸附的结构敏感关系
- 机器学习算法:随机森林
- [机器学习](一)Logic Agents基本定义
- 推动机器学习创新和采用的六大主要趋势
- 机器学习的崛起:从材料设计到生物医学、量子计算......再到工业应用
- 综述:药物发现中的机器学习
- TensorFlow 机器学习秘籍第二版:6~8
- Linux机器网络IP地址配置(linux机器名ip)
- 机器到底是如何学习的?
- 探索Linux系统之查看机器硬件信息(linux查看硬件型号)
- 让Linux机器体验PSP游戏的神奇经历!(LinuxPSP模拟器)
- Python、R、Java、 C++ 等:从业界反馈看机器学习语言趋势
- 对话机器学习教父Tom Mitchell:人工智能不会出现第三次衰退了 | GMIC 2017