Python利用逻辑回归分类器对乳腺肿瘤进行良性/恶性预测实战(超详细 附源码)

简介: Python利用逻辑回归分类器对乳腺肿瘤进行良性/恶性预测实战(超详细 附源码)

需要源码请点赞关注收藏后评论区留言并且私信~~~

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

一、数据集准备与处理

本案例数据集采用乳腺癌数据集,原始数据集的下载地址为数据集下载地址

数据特征包括细胞厚度、细胞大小、形状等九个属性,将每个属性的特征量化为1-10的数值进行表示,首先导入数据 并显示前五条数据

可以浏览数据的基本信息如下

调用describe函数查看数据的基本的统计信息如下

统计数据属性中的空缺值

如果数据中存在空缺数据需要丢弃或填充。该数据集中包含了16个缺失值用“?”标出。因此要删除有缺失值的数据

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

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

二、模型训练与性能评估

分别用LogisticRegression与SGDClassifier构建分类器

LR分类器性能分析 如下图所示 精度可以达到百分之九十八点八左右

SGD分类器性能分析 如下图所示 精度可以达到百分之九十六左右              

LogisticRegression较SGDClassifier在测试集上有更高的准确率,这时因为scikit-learn中采用解析的方法精确计算LogisticRegression的参数,而使用梯度法估计SGDClassifier中的参数

三、代码

部分代码如下 需要全部代码请点赞关注收藏后评论区留言并且私信

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())
data=data.replachow='any')
print(data.shape)
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)
printlearn.preprocessing import StandardScaler
ss=StandardScaler()
X_train=ss.fit_transform(X_train)
X_test=ss.transform(X_test)
print(X_train.mean())
from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import SGDClassifier
lr=Logitrain,y_train)
lr_y_predict=lr.predict(X_test)
sgdc.fit(X_train,y_train)
sgdc_y_predict=sgdc.predict(X_test)
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']))
print('Accuracy of SGD Classifier:',sgdc.score(X_test,y_test))
print(classification_report(y_test,sgdc_y_predict,target_names=['Benign','Malignant']))

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
6月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
785 7
|
6月前
|
数据采集 Web App开发 数据安全/隐私保护
实战:Python爬虫如何模拟登录与维持会话状态
实战:Python爬虫如何模拟登录与维持会话状态
|
6月前
|
存储 数据采集 监控
Python文件操作全攻略:从基础到高级实战
本文系统讲解Python文件操作核心技巧,涵盖基础读写、指针控制、异常处理及大文件分块处理等实战场景。结合日志分析、CSV清洗等案例,助你高效掌握文本与二进制文件处理,提升程序健壮性与开发效率。(238字)
544 1
|
6月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
668 0
|
6月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
615 0
|
7月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1116 102
|
7月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
443 104
|
7月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
349 103
|
7月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
322 82
|
6月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
446 3

推荐镜像

更多
下一篇
开通oss服务