前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用机器学习预测乳腺癌

利用机器学习预测乳腺癌

作者头像
生信喵实验柴
发布2022-10-25 19:53:16
3930
发布2022-10-25 19:53:16
举报
文章被收录于专栏:生信喵实验柴

一、案例介绍

这是一个典型的利用当前流行的机器学习算法来进行生物数据挖掘的案例,非常具有代表性。

同样的算法可以应用在其他不同肿瘤研究中。这是一份来自威斯康星州采集的乳腺癌数据集。这个数据集中包含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变量中了

代码语言:javascript
复制
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

我们得到这样一个混淆矩阵,就可以去算真阳性,真阴性,假阳性,假阴性,灵敏度,特异度了。可以放去下面的网址一步计算。

代码语言:javascript
复制
http://vassarstats.net/clin1.html

结果截图

二、预测新数据

代码语言:javascript
复制
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)。

代码语言:javascript
复制
sx.voiceclouds.cn

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信喵实验柴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档