基于MATLAB的SVM支持向量机的乳腺癌分类方法应用

发布于:2025-07-01 ⋅ 阅读:(23) ⋅ 点赞:(0)

说明:这是一个机器学习实战项目(附带数据+代码+文档),如需数据+代码+文档可以直接到文章最后关注获取 或者私信获取。

1.项目背景

乳腺癌是全球女性中最常见的癌症之一,早期诊断对于提高治愈率和生存率至关重要。传统的诊断方法依赖于医生的经验和病理分析,这不仅耗时而且容易受到主观因素的影响。随着机器学习技术的发展,利用支持向量机(SVM)等算法进行医学影像和数据的自动分类与预测成为可能。本项目旨在基于MATLAB平台开发一种高效、准确的乳腺癌分类方法,通过应用SVM算法对乳腺癌相关数据集进行训练和测试,实现对乳腺癌的有效识别与分类。该系统不仅可以辅助医生进行更快速、准确的诊断,还能为个性化治疗方案提供参考依据,从而提升医疗效率和患者满意度。此外,本项目还将探讨不同特征选择方法对模型性能的影响,以期找到最优的乳腺癌分类策略。

本项目实现了基于MATLAB的SVM支持向量机的乳腺癌分类方法应用。            

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

编号 

变量名称

描述

1

radius1

半径的平均值

2

texture1

纹理的平均值

3

perimeter1

周长的平均值

4

area1

面积的平均值

5

smoothness1

平滑度的平均值

6

compactness1

紧致度的平均值

7

concavity1

凹度的平均值

8

concave_points1

凹点数量的平均值

9

symmetry1

对称性的平均值

10

fractal_dimension1

分维数的平均值

11

radius2

半径的标准误差

12

texture2

纹理的标准误差

13

perimeter2

周长的标准误差

14

area2

面积的标准误差

15

smoothness2

平滑度的标准误差

16

compactness2

紧致度的标准误差

17

concavity2

凹度的标准误差

18

concave_points2

凹点数量的标准误差

19

symmetry2

对称性的标准误差

20

fractal_dimension2

分维数的标准误差

21

radius3

半径的最大三个值的平均

22

texture3

纹理的最大三个值的平均

23

perimeter3

周长的最大三个值的平均

24

area3

面积的最大三个值的平均

25

smoothness3

平滑度的最大三个值的平均

26

compactness3

紧致度的最大三个值的平均

27

concavity3

凹度的最大三个值的平均

28

concave_points3

凹点数量的最大三个值的平均

29

symmetry3

对称性的最大三个值的平均

30

fractal_dimension3

分维数的最大三个值的平均

31

y

肿块是良性(0)还是恶性(1 

数据详情如下(部分展示):

3.数据预处理

3.1 查看数据

使用head()方法查看前五行数据:

关键代码:

3.2数据缺失查看与描述统计

使用summary()方法查看数据信息: 

从上图可以看到,总共有31个变量,数据中无缺失值,共569条数据。

关键代码:

4.探索性数据分析

4.1 变量柱状图

用bar()方法绘制柱状图:

4.2 y=1样本radius1变量分布直方图

用histogram()方法绘制直方图:

4.3 相关性分析

部分数据变量的相关性分析:从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。

5.特征工程

5.1 建立特征数据和标签数据

关键代码如下:

5.2 数据集拆分

按照80%训练集、20%验证集进行划分,关键代码如下:

6.构建SVM分类模型 

主要实现了基于MATLAB的SVM支持向量机的乳腺癌分类方法应用。           

6.1 构建模型

构建分类模型。 

模型名称

模型参数

SVM分类模型    

'KernelFunction', 'linear'

'Standardize', true

'ClassNames', [0, 1]

6.2 交叉验证优化参数

关键代码:

7.模型评估

7.1评估指标及结果  

评估指标主要包括准确率、查准率、查全率、F1分值等等。 

模型名称

指标名称

指标值

测试集

SVM分类模型  

准确率

0.9735

查准率

1.0000

查全率

0.9286

F1分值 

0.9630 

从上表可以看出,F1分值为0.9630,说明模型效果良好。               

关键代码如下:    

7.2 混淆矩阵

从上图可以看出,实际为0预测不为0的 有0个样本,实际为1预测不为1的 有3个样本,模型效果良好。   

8.结论与展望

综上所述,本项目实现了基于MATLAB的SVM支持向量机的乳腺癌分类方法应用,最终证明了我们提出的模型效果良好。此模型可用于日常产品的建模工作。


网站公告

今日签到

点亮在社区的每一天
去签到