KNN算法癌症诊断

机器学习之sklearn-KNN近邻算法分类小案例(乳腺癌预测最优模型) (案例):用sklearn包实现knn分类小案例,通过交叉验证网格搜索获取最优参数模型,进行参数评估。 导包: from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split,GridSearchCV from sklearn.neighbors import ... 阅读详情

邻近算法(KNN,K-NearestNeighbor)是数据挖掘分类技术方法之一。K最近邻,就是K个最近的邻居的意思,每个样本都可以用它最接近的K个邻近值来代表。近邻算法就是将数据集合中每一个记录进行分类的方法,因此可以将该算法用于癌症分类中去。

此数据为乳腺癌的癌症,获得的数据属性有乳腺的细胞核的一些特征,【包括半径,质地,光滑度,面积等等,这些都能用仪器测出来】。医生可以根据这些特征判断你是否得病了,同样,算法也一样,通过这些特征判断你是否得病了。比如KNN算法。

导包

import numpy as np

import pandas as pd

from pandas import Series,DataFrame

from sklearn.neighbors import KNeighborsClassifier

from sklearn.model_selection import train_test_split

# grid网格,search搜索,cv:cross_validation
# 搜索算法最合适的参数
from sklearn.model_selection import GridSearchCV

from sklearn.metrics import accuracy_score

加载数据

cancer = pd.read_csv('./cancer.csv',sep = '\t')#分隔符参数sep
cancer

 

删除无价值数据

cancer.drop('ID',axis = 1,inplace=True)#inplace = True:不创建新的对象,直接对原始对象进行修改

X = cancer.iloc[:,1:]#从下标1列开始到最后
X.head()

 

目标值


y = cancer['Diagnosis']
y.head()

M为恶性,B为良性。

分割数据

X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2)

网格搜索GridSearchCV进行最佳参数的查找

knn = KNeighborsClassifier()

params = {'n_neighbors':[i for i in range(1,30)],
          'weights':['distance','uniform'],
          'p':[1,2]}

# cross_val_score类似
gcv = GridSearchCV(knn,params,scoring='accuracy',cv = 6)

gcv.fit(X_train,y_train)

查看了GridSearchCV最佳的参数组合

gcv.best_params_

预测值

y_ = gcv.predict(X_test)
y_

准确率

accuracy_score(y_test,y_)

交叉表

pd.crosstab(index = y_test,columns=y_,rownames=['True'],colnames=['Predict'], margins=True)#边界统计

行为真实值,列为预测值。margin:统计行列数。

 

Classification_report展示

# 精确率、召回率、f1-score调和平均值
from sklearn.metrics import classification_report

print(classification_report(y_test,y_,target_names = ['B','M']))

# 真实的 以行为单位
y_test.value_counts()

# 预测  以列为单位
Series(y_).value_counts()

混合矩阵

confusion_matrix(y_test,y_)

confusion_matrix(y_test,y_)

confusion_matrix(y_test,y_)

提升准确率,提升精确率,提升召回率

归一化操作

数值比较大,所以进行归一化操作

手写归一化

# 归一化操作
X_norm1 = (X - X.min())/(X.max() - X.min())
X_norm1.head()

归一化后的数据训练

X_train,X_test,y_train,y_test = train_test_split(X_norm1,y,test_size  = 0.2)

knn = KNeighborsClassifier()

params = {'n_neighbors':[i for i in range(1,30)],
          'weights':['uniform','distance'],
          'p':[1,2]}#p=1位曼哈顿距离,p=2位欧式距离
gcv = GridSearchCV(knn,params,scoring='accuracy',cv = 6)
gcv.fit(X_train,y_train)

accuracy_score(y_test,y_)

由此可看准确率提升了。

第二种归一化:Z-Score归一化

X_norm2 = (X - X.mean())/X.std()
X_norm2.head()

X_train,X_test,y_train,y_test = train_test_split(X_norm2,y,test_size  = 0.2)

knn = KNeighborsClassifier()

params = {'n_neighbors':[i for i in range(1,30)],
          'weights':['uniform','distance'],
          'p':[1,2]}
gcv = GridSearchCV(knn,params,scoring='accuracy',cv = 6)
gcv.fit(X_train,y_train)

y_ = gcv.predict(X_test)
accuracy_score(y_test,y_)

第三种归一化

from sklearn.preprocessing import MinMaxScaler,StandardScaler #inplace = True:不创建新的对象,直接对原始对象进行修改;

# MinMaxScaler 和最大值最小值归一化效果一样
mms = MinMaxScaler()
mms.fit(X)
X2 = mms.transform(X)
X2.round(6)

sklearn归一化方法和手写的归一化方法一样。

 

归一化方法四

ss = StandardScaler()

X3 = ss.fit_transform(X)
X3

 

 

机器学习:使用KNN和决策树来预测和评估乳腺癌load_breast_cancer 安装pandas模块:pip install pandas -i。安装numpy模块:pip install numpy -i。 阅读详情

相关推荐

数据分析实战 | KNN算法——病例自动诊断分析

使用python,利用KNN算法对病例数据进行分类分析,从而实现自动诊断病例分析,步骤包括数据读入、数据理解、数据准备、模型训练、模型评价、模型调参、模型改进和模型预测等。

天下弈星~的博客 3285

用kNN算法诊断乳腺癌--基于R语言

包含讲解分析,以及算法代码和结果等。对运行结果和算法进行了详细分析讲解

jd1813346972的博客 2973

sklearn笔记11 KNN模型评价指标

代码依旧使用癌症诊断代码 模型评估: 官网查看 import numpy as np import pandas as pd from pandas import Series,DataFrame from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split # grid网格 search搜索 cv:cross_validation # 搜索算法

weixin_44632711的博客 3453

机器学习——K近邻算法及乳腺癌检测分类

机器学习——K近邻算法及乳腺癌检测分类 KNN可用于分类和回归,用于分类时是多分类方法。

杨老师的小跟班(*∩_∩*) 5029

10、机器学习在癌症分类中的应用

本文探讨了机器学习在癌症分类和检测中的应用,回顾了多种常用算法如支持向量机(SVM)、决策树(DT)、人工神经网络(ANN)和K近邻算法(KNN)在癌症预测中的表现,并介绍了一种基于卷积神经网络(CNN)和长短期记忆网络(LSTM)的癌症图像分类框架。实验结果表明,CNN在准确率、灵敏度和特异性方面优于LSTM,展现了深度学习在癌症图像识别中的巨大潜力。

resnet7explorer的博客 83

KNN算法诊断乳腺癌

如果机器学习能够自动识别癌细胞,那么它将为医疗系统提供相当大的益处。自动化的过程很有可能提高检测过程的效率,从而可以让医生在诊断上花更少的时间,而在治疗疾病上花更多的时间。自动 化的筛查系统还可能通过去除该过程中的内在主观人为因素来提供 更高的检测准确性。从带有异常乳腺肿块的女性身上的活检细胞的测度数据入手,应用 kNN 算法,从而研究机器学习用于检测癌症的功效。

MachineLearning 4. 癌症诊断方法之 K-邻近算法(KNN)

机器学习方法中的K-邻近算法,在肿瘤诊断中,尤其是乳腺癌表现强健

weixin_41368414的博客 4118

视频教程-SAP S4 HANA FICO COPA 获利能力分析-ERP

SAP S4 HANA FICO COPA 获利能力分析 从业超过8年的SA...

weixin_33456805的博客 1442

【机器学习】KNN近邻算法及实战案例(鸢尾花、手写数字识别)

K-Nearest Neighbors (KNN) 是一种简单且直观的机器学习算法,它属于监督学习的一种。KNN可以用于分类和回归问题,但最常用于分类。它的核心思想是:一个样本所属的类别可以通过与这个样本最近邻的几个训练样本的类别来决定。

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 7973

黑马Java第二阶段:JavaWeb(笔记)

黑马Java第二阶段:JavaWeb(笔记)

chen的博客 5654

HSmartWindowControl vs HWindowControl:Halcon老鸟教你如何根据项目需求选对控件(附性能对比)

本文深度对比Halcon图像处理中的HSmartWindowControl与HWindowControl控件,从性能、内存占用和交互体验等维度提供选型建议。HSmartWindowControl在硬件加速渲染、智能内存管理方面表现优异,特别适合医疗影像和工业检测等高性能需求场景,而HWindowControl则更适合兼容旧系统和资源受限环境。

weixin_30765505的博客 469

KNN算法在医疗诊断中的实战应用:以癌症检测为例

本文以癌症检测为例,详细阐述了KNN算法在医疗诊断中的实战应用。文章从KNN算法的核心原理入手,解释了其“物以类聚”的朴素思想,并重点分析了该算法在处理医疗数据(如前列腺癌数据集)时的独特优势,包括对数值型特征的直接处理、解决分类问题的天然适配性以及结果的高度可解释性。通过完整的Python代码示例,手把手演示了数据预处理、模型构建、参数调优(尤其是K值选择)及特征标准化等关键步骤,为医疗领域的辅助诊断与初步分析提供了一个清晰、可靠的机器学习入门实践方案。

m9n0o的博客 187

别再只看读写速度了!聊聊手机闪存eMMC、UFS3.1和SSD背后的功耗与体积玄学

本文深入探讨手机闪存技术eMMC、UFS3.1和SSD在功耗与体积设计上的关键差异。通过对比接口技术、封装工艺和温度管理,揭示移动存储如何在有限空间内平衡性能与能效,为消费者提供选购参考。重点关注UFS3.1的差分信号设计和全双工架构带来的显著优势。

weixin_27061475的博客 447

6-机器学习之KNN(K-近临算法)

tags: python,机器学习,KNN,matplotlib,pyplot,pandas,numpy,Series,DataFrame 文章目录一、 k-近邻算法原理二、k-近邻算法案例2.1. 使用步骤2.2. 预测电影类型2.3. 通过身高、体重、鞋子尺码数据预测性别2.4. 预测鸢尾花类型2.4.1. 常规机器学习步骤2.4.2. 机器学习结果可视化(获取knn分类的边界)2.5. ...

g11023225的博客 1275

Cluster Computing投稿

在overleaf中新建picins.sty文件,该文件是导入的包在.tex文件中添加以下内容\usepackage{picins}%实现作者简介%下边这块有几个人复制几段\vspace{0\baselineskip} %这一行控制作者间隔,可视情况改数字!!!!!!!!

这里是萤石ym的学习路途,努力搬砖! 5534

5分钟搞定!用扣子空间LinkReaderPlugin快速搭建网页内容抓取机器人(附Python复现代码)

本文详细介绍了如何利用扣子空间的LinkReaderPlugin快速搭建网页内容抓取机器人,仅需5分钟即可完成配置。通过Python复现代码和可视化工作流,开发者可以轻松实现智能网页抓取,提升数据采集效率。文章还探讨了与RAG工作流的集成方案及性能优化技巧,适用于金融监控、电商追踪等多种场景。

study的专栏 1093

scikit-learn KNN 画图展示

鸢尾花 iris展示 import numpy as np import matplotlib.pylab as pyb %matplotlib inline from sklearn.neighbors import KNeighborsClassifier from sklearn import datasets 加载数据,数据降维(画图) X,y = datasets.load_iris(...

流沙 5782

SD - WAN:企业出海的网络加速器

例如,一家中国的跨境电商企业,在欧美市场的促销活动期间,借助 SD - WAN 技术,即使面对海量订单数据的交互,也能确保欧美客户在浏览商品、下单支付时感受到近乎本地网络的流畅体验,大大提升了客户满意度,稳住了销售增速。企业无需在海外本地部署大量冗余服务器,只需依托云台,借助 SD - WAN 快速稳定的网络连接,即可轻松实现业务拓展,进一步精简运营架构,提升整体效能。在未来,随着技术的不断演进和企业出海需求的持续增长,SD - WAN 将持续赋能,助力更多企业在全球市场扬帆远航,书写辉煌篇章。

idcicp_com的博客 446

KNN算法实战:用Python手把手教你预测癌症诊断准确率(附完整代码)

本文详细介绍了KNN算法在医疗诊断中的应用,特别是前列腺癌预测的实战案例。通过Python代码演示了从数据清洗、特征工程到模型优化的全流程,重点讨论了医疗场景下的K值选择和距离度量优化。文章还提供了生产环境部署建议和进阶技巧,帮助开发者提升预测准确率和效率。

net55的博客 156

使用 MATLAB/Simulink + Simscape Electrical + Simulink Design Optimization,构建一个沙漠环境中光伏组件灰尘积累与效率下降仿真模型

本文通过,构建了沙漠环境中光伏组件灰尘积累与效率下降仿真模型✅ 建立了风速-沙尘-积尘速率的物理关系✅ 仿真了灰尘积累过程及其对Isc 和 Pmax的影响✅ 量化分析了不同清洁策略的经济性✅ 提出了优化设计与智能运维建议。

xiaoheshang_123的博客 123

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

KNN算法

k近邻算法介绍 欧式距离公式 两点间a(a1, a2, a3) b(b1, b2, b3)间的距离可以表示为 k近邻算法API sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, algorithm='auto') n_neighbors: int,默认为5 algorithm:{'auto', 'ball_tree', 'kd_tree', 'brute'},可选用于计算最近邻居的算法,不同实现方式影响效率 原理 通过计算.

糖公子没来过的博客 387

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

数据分析入门之KNN影片类型和癌症预测

1、预测电影类型 1.1、导入相关库 1.2、导入数据 1.3、切分出 x 和 y 1.4、声明算法 1.5、进行训练 1.6、生成数据(导入预测值) 1.7、使用算法进行预测 2、预测是否患癌症 2.1、获取数据 2.1.1、导入数据 2.1.2、切分出 x数据 和 y目标值 2.1.3、分出训练集和测试集 2.3、声明算法并学习 2.4、结果预测 2.5、概率预测 2.6、预测值与真实值对比 2.7、计算预测的准确率 方法一:均值法 方法二:knn.score()

阿优乐扬的博客 2901

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

梅科尔工作室-李庆浩 深度学习-KNN算法

本文简单介绍了KNN算法,并通过一个案例介绍了整个算法模型的建立过程。

qq_62058931的博客 602

KNN学习

并不是KNN 是k-Nearest NeighborsK 近邻算法 是机器学习中常见的分类算法要判断一个新数据的类别就要看他的邻居都是谁KNN 中的K指的是【K个】邻居eg: K=3 就是通过离得最近得3个样本,来判断新数据的类别大小、颜色是数据的特征苹果和梨是数据的【标签】欧式距离:两点之间的直线距离坐标轴距离的绝对值的和:曼哈顿距离K的值太小,会受到个别因素的影响K的值太大,又会受距离较远的特殊数据影响K的取值受问题自身和数据集大小决定。

Claire的博客 339

机器学习Sklearn实战——KNN算法

KNN鸢尾花分类 import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier from sklearn import datasets import numpy as np X,y = datasets.load_iris(True) X = X[:,:2] plt.scatter(X[:,0],X[:,1],c=y) knn = KNeighborsClassifier(n_neighbors =

Grateful_Dead424的博客 5373
上一篇: KNN参数的筛选
下一篇: KNN算法应用-影响薪水的因素
Wind_know
博客等级 码龄9年 17粉丝 61原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值