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']))

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

相关文章
|
10天前
|
数据采集 数据可视化 数据挖掘
数据挖掘实战:使用Python进行数据分析与可视化
在大数据时代,Python因其强大库支持和易学性成为数据挖掘的首选语言。本文通过一个电商销售数据案例,演示如何使用Python进行数据预处理(如处理缺失值)、分析(如销售额时间趋势)和可视化(如商品类别销售条形图),揭示数据背后的模式。安装`pandas`, `numpy`, `matplotlib`, `seaborn`后,可以按照提供的代码步骤,从读取CSV到数据探索,体验Python在数据分析中的威力。这只是数据科学的入门,更多高级技术等待发掘。【6月更文挑战第14天】
49 11
|
1天前
|
SQL 关系型数据库 数据库连接
Python连接线上数据库的实战指南
Python连接线上数据库的实战指南
9 1
|
10天前
|
数据采集 存储 数据挖掘
Python网络爬虫实战:抓取并分析网页数据
使用Python的`requests`和`BeautifulSoup`,本文演示了一个简单的网络爬虫,抓取天气网站数据并进行分析。步骤包括发送HTTP请求获取HTML,解析HTML提取温度和湿度信息,以及计算平均温度。注意事项涉及遵守robots.txt、控制请求频率及处理动态内容。此基础爬虫展示了数据自动收集和初步分析的基础流程。【6月更文挑战第14天】
85 9
|
10天前
|
数据采集 机器学习/深度学习 数据可视化
数据挖掘实战:Python在金融数据分析中的应用案例
Python在金融数据分析中扮演关键角色,用于预测市场趋势和风险管理。本文通过案例展示了使用Python库(如pandas、numpy、matplotlib等)进行数据获取、清洗、分析和建立预测模型,例如计算苹果公司(AAPL)股票的简单移动平均线,以展示基本流程。此示例为更复杂的金融建模奠定了基础。【6月更文挑战第13天】
42 3
|
11天前
|
数据采集 前端开发 Python
Python3网络开发实战读后感
Python3网络开发实战读后感
|
11天前
|
Python
【Python的魅力】:利用Pygame实现游戏坦克大战——含完整源码
【Python的魅力】:利用Pygame实现游戏坦克大战——含完整源码
|
Linux C语言 开发者
源码安装Python学会有用还能装逼 | 解决各种坑
相信朋友们都看过这个零基础学习Python的开篇了
395 0
源码安装Python学会有用还能装逼 | 解决各种坑
|
3天前
|
机器学习/深度学习 人工智能 前端开发
Python中的模块化编程
【6月更文挑战第17天】Python模块化编程与软件架构设计的关键在于拆分任务到独立模块,提高代码的可维护性、可重用性和可扩展性。例如,学生管理系统可分解为录入、查询和删除模块。MVC和MVVM架构模式有助于组织代码,而微服务和函数式编程将在未来发展中扮演重要角色。通过示例代码,读者能学习如何实现这些概念,提升项目开发效率和质量。
148 57