1. 乳腺癌预测
1.1. 场景背景
乳腺癌是美国妇女最常见的癌症,也是癌症死亡的第二常见原因。利用机器学习算法从已有的临床乳腺癌数据中,可以学习导致乳腺癌的特征,并通过大量历史数据的学习使得机器成为半个乳腺癌专家,这将极大地帮助医生诊断或及时拯救患者。
本文通过智能钛机器学习平台,提供一种快速搭建医疗领域乳腺癌研究的工作流使用方法。用户无须编写代码,只要拖动相应节点搭建模型架构,便可以在十几分钟的时间内快速上手,解决乳腺癌研究等医疗领域的实际问题。
1.2. 数据集介绍
本次任务我们采用公开的乳腺癌数据集,该数据集共包含569个样本,其中357个阳性(y=1)样本,212个阴性(y=0)样本;每个样本有32个特征,但本次实验中选取其中10个特征。
数据集具体字段信息如下:(表格中包括每列字段的名称和对应取值范围)
特征和标签(Attribute) | 取值范围(domain) |
---|---|
Clump Thicknedd | 1-10 |
Uniformity of Cell Size | 1-10 |
Uniformity of Cell Shape | 1-10 |
Marginal Adhsion | 1-10 |
Single Epithelial Cell Size | 1-10 |
Bare Nuclei | 1-10 |
Bland Chromation | 1-10 |
Normal Nucleoli | 1-10 |
Mitoses | 1-10 |
(标签y)Class | (2 for begin, 4 for maligant) |
数据集具体内容抽样展示如下:(前9列是特征取值,最后1列是标签取值)
1.3. 整体流程
工作流整体流程如下:
在乳腺癌研究场景中,我们采用的机器学习算法是决策树。整个模型完成预计需要15分钟。工作流整体流程如下:
- 本地数据准备
- 将数据集切分为训练集和测试集
- 将训练数据喂给决策树算法训练模型,然后将测试集数据喂给训练好的模型进行预测
- 利用测试集对模型进行性能评估
1.4. 详细流程
一. 数据准备
- 数据集下载
为方便用户操作,我们直接提供本实验所需的数据集(cancer.csv)下载链接,请直接下载并保存到本地
在智能钛控制台的左侧导航栏,选择【输入】>【数据源】>【 本地数据】,并拖入画布中
在【 本地数据】对应右边弹出的设置窗口中选择【算法IO参数】中的"数据文件"上传,点击"数据文件"输入框,在弹出的列表框中选择截图中红框的上传按钮,选择刚刚保存到本地的cancer.csv数据集上传,点击"确定"按钮
二. 切分数据
在模型训练时我们通常会将所有的数据分成三部分:1)训练集 training set;2)验证集 validation set;3)测试集 test set。 训练集用来训练模型, 验证集用于调节模型超参数,测试集用来整体评估模型性能。
本文实验采用简单地将数据切割成训练集和测试集,比例为 8 : 2(80%用于训练,20%用于测试)。
在 TI 控制台的左侧导航栏,选择【算法】>【机器学习算法】>【数据预处理】>【Spliter】,并拖入画布中
将【本地数据】的输出桩连接到【Spliter】的输入桩
填写参数:
【算法IO参数 】中的各个数据路径参数均为自动生成,无需更改
【算法参数 】中的"切分比例"填写:0.8(【Spliter】第一个输出桩为80%的训练数据,第二个输出桩为20%的测试数据)
其余参数可保持不变
三. 决策树分类
在 TI 控制台的左侧导航栏,选择【算法】>【机器学习算法】>【分类】>【DecisionTree】,并拖入画布中
将【Spliter】的第一个输出桩连接到【DecisionTree】左边的输入桩,表示训练数据输入模型
将【Spliter】的第二个输出桩连接到【DecisionTree】最左侧的蓝色小漏斗处,表示将测试数据输入模型
填写【DecisionTree】数:
- 【算法IO参数 】中的"特征列"填写:0-8;"标签列"填写:9
- 是否有header信息:是
- 数据分隔符:逗号
- 【算法参数 】中的"模型保存格式"填写:PMML
- 其余参数可保持不变
填写蓝色漏斗参数:(点击蓝色漏斗,在右侧弹出的参数板块填写)
- 打开【自动运行】
- 【模型IO参数 】中的"特征列"填写:0-8
- 是否有header信息:是
- 数据分隔符:逗号
- 【模型参数】中的"模型导入格式"选择:PMML
通过该蓝色漏斗可查看模型对测试集中句子的预测结果。
注:查看预测结果的操作为,模型运行成功后,右键蓝色漏斗处选择【Tensorflow控制台】>【app详情】>【stderr.log】中可以看到预测结果
四. 模型评估
在 TI 控制台的左侧导航栏,选择【输出】>【模型评估】>【BinaryEvaluator】,并拖入画布中
将【DecisionTree】左侧蓝色漏斗的输出桩连接到【BinaryEvaluator】的输入桩
填写参数:
【算法IO参数 】中"标签列"填写:9;"得分列"填写:10(因为该【DecisionTree】默认将得分列添加到源数据最后一列);"抽样率"填写:1.0;"并行数"填写:10
【算法参数 】中的"预测阈值"填写:0.5
其余参数可保持不变
- 在模型运行结束后,右键【BinaryEvaluator】,点击【查看结果】>【查看结果】,即可查看该模型评估的混淆矩阵
五. 运行调度及训练进度查看
详情请参考 运行工作流。