乳腺肿瘤预测

简介: 本案例使用逻辑回归分类器对乳腺肿瘤进行良性/恶性预测,并对预测模型进行指标测算与评价。

案例:良/恶性乳腺肿瘤预测

1.1 简介

  本案例使用逻辑回归分类器对乳腺肿瘤进行良性/恶性预测,并对预测模型进行指标测算与评价。

  这里数据集采用乳腺癌数据集,原始的数据集下载地址为:https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data

  数据特征如下:

image-20220626181652113

1.2 代码

  将每个属性的特征量化为1~10的数值进行表示。首先,导入数据并显示前5条数据。

1.2.1 导入数据集

import pandas as pd
import numpy as np
column_names=['number','Cl_Thickness','Unif_cell_size','Unif_cell_shape','Marg_Adhesion','Sing_epith_cell_size','Bare_nuclei','Bland_chromation','Norm_nuclei','Mitoses','Class']
data=pd.read_csv('breast-cancer-wisconsin.data',names=column_names)
display(data.head())

image-20220626181859532

1.2.2 浏览数据的基本信息

data.info() 

image-20220626181934451

1.2.3 查看数据的基本统计信息

data.describe()

image-20220626182028370

1.2.4 统计数据属性中的缺失值

data.isnull().sum()

image-20220626182113277

  如果存在缺失数据,需要丢弃或填充。该数据集中并没有缺失值。这里我们采取删除缺失值的方法

data=data.replace(to_replace='?',value=np.nan)
data=data.dropna(how='any')
print(data.shape)

image-20220626182227889

1.2.5 将数据集划分为训练集和测试集

from sklearn.model_selection import train_test_split
# 划分训练集与测试集
X_train,X_test,y_train,y_test=train_test_split(data[column_names[1:10]],data[column_names[10]],test_size=0.25,random_state=33)
print('训练样本的数量和类别分布:\n',y_train.value_counts())

image-20220626182314419

1.2.6 标准化数据

  每个维度的特征数据方差为1,均值为0,使得预测结果不会被某些维度过大的特征值主导。

from sklearn.preprocessing import StandardScaler
ss=StandardScaler()
X_train=ss.fit_transform(X_train)
X_test=ss.transform(X_test)
print(X_train.mean())

image-20220626182350969

1.2.7 分别用LogisticRegression与SGDClassifier构建分类器

from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import SGDClassifier
lr=LogisticRegression()
sgdc=SGDClassifier()
lr.fit(X_train,y_train)
lr_y_predict=lr.predict(X_test)
sgdc.fit(X_train,y_train)
sgdc_y_predict=sgdc.predict(X_test)

1.2.8 分析LR分类器性能

from sklearn.metrics import classification_report
print('Accuracy of LR Classifier:',lr.score(X_test,y_test))
print(classification_report(y_test,lr_y_predict,target_names=['Benign','Malignant']))

image-20220626183521182

1.2.9 SGD分类器性能分析

print('Accuracy of SGD Classifier:',sgdc.score(X_test,y_test))
print(classification_report(y_test,sgdc_y_predict,target_names=['Benign','Malignant']))
# print(classification_report(y_test,sgdc_y_predict))

image-20220626183546838

precision 精确率

recall 召回率

f1_score F1值

macro avg 宏观平均值

weighted avg 加权平均值

目录
相关文章
|
6月前
|
存储 机器学习/深度学习 数据采集
基于LightGBM的肺癌分类模型:从预测到个体化治疗
基于LightGBM的肺癌分类模型:从预测到个体化治疗
252 1
|
机器学习/深度学习 算法 API
机器学习逻辑回归对肿瘤预测
机器学习逻辑回归对肿瘤预测
71 0
|
数据采集 机器学习/深度学习 异构计算
|
机器学习/深度学习 传感器 算法
【SVM回归预测】基于日特征气象因素的支持向量机实现电力负荷预测附Matlab代码
【SVM回归预测】基于日特征气象因素的支持向量机实现电力负荷预测附Matlab代码
|
机器学习/深度学习 算法
机器学习:逻辑回归预测癌症数据
机器学习:逻辑回归预测癌症数据
205 0
机器学习:逻辑回归预测癌症数据
|
存储 运维 搜索推荐
基因检测,如何帮助患者对抗疾病?
云上高性能计算EHPC助力圣庭医疗提升基因检测效率,为患者提供更多精准化医疗方案。
基因检测,如何帮助患者对抗疾病?
|
机器学习/深度学习 数据挖掘 数据库
Bioinformatics|癌症细胞系的用药反应预测
Bioinformatics|癌症细胞系的用药反应预测
127 0
Bioinformatics|癌症细胞系的用药反应预测
|
机器学习/深度学习 Dart API
ML之Xgboost:利用Xgboost模型对数据集(比马印第安人糖尿病)进行二分类预测(5年内是否患糖尿病)
ML之Xgboost:利用Xgboost模型对数据集(比马印第安人糖尿病)进行二分类预测(5年内是否患糖尿病)
ML之Xgboost:利用Xgboost模型对数据集(比马印第安人糖尿病)进行二分类预测(5年内是否患糖尿病)
|
存储 人工智能 安全
关于2020年IT安全的7个预测
保护重要数据和应用程序免受网络威胁是各种组织在2019年的首要任务。而2020年,其重要性将进一步提高。在云迁移、数据分析、人工智能和物联网(IoT)等技术发展的推动下,很多组织将寻找改善工作流程、降低成本和提高员工生产力的方法。
110 0
心脏病预测案例
心脏病是人类健康的头号杀手。全世界1/3的人口死亡是因心脏病引起的,而我国,每年有几十万人死于心脏病。 所以,如果可以通过提取人体相关的体侧指标,通过数据挖掘的方式来分析不同特征对于心脏病的影响,对于预测和预防心脏病将起到至关重要的作用。本文将会通过真实的数据,通过阿里云机器学习平台搭建心脏病预测案例。<br />数据源:UCI<br />数据大小:7.49 KB<br />字段数量:15<br />使用组件:归一化,拆分,过滤式特征选择,SQL脚本,读数据表,类型转换<br />
2870 0