使用logistic regression 处理 良/恶性肿瘤分类任务 案例

本文主要是介绍使用logistic regression 处理 良/恶性肿瘤分类任务 案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.读入数据

2.随机切分数据集,把数据集切分成训练集和测试集

3.对数据集进行标准化

4.创建logistic regression 模型,在训练集上训练数据

5.在测试集上进行预测分类

logistic regression 预测的准确率:0.9883040935672515

# -*- coding:utf-8 -*-
import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings("ignore")if __name__ == '__main__':print "hello"# 创建特征列表。column_names = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size', 'Uniformity of Cell Shape','Marginal Adhesion', 'Single Epithelial Cell Size', 'Bare Nuclei', 'Bland Chromatin','Normal Nucleoli', 'Mitoses', 'Class']# 使用pandas.read_csv函数从互联网读取指定数据。data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data',names=column_names)# print data# 将?替换为标准缺失值表示。data = data.replace(to_replace='?', value=np.nan)# 丢弃带有缺失值的数据(只要有一个维度有缺失)。data = data.dropna(how='any')# 输出data的数据量和维度。print data.shape# 使用sklearn.cross_valiation里的train_test_split模块用于分割数据。from sklearn.model_selection import train_test_split# 随机采样25%的数据用于测试,剩下的75%用于构建训练集合。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)# 从sklearn.preprocessing里导入StandardScaler。from sklearn.preprocessing import StandardScaler# 从sklearn.linear_model里导入LogisticRegression与SGDClassifier。from sklearn.linear_model import LogisticRegressionfrom sklearn.linear_model import SGDClassifier# 标准化数据,保证每个维度的特征数据方差为1,均值为0。使得预测结果不会被某些维度过大的特征值而主导。ss = StandardScaler()X_train = ss.fit_transform(X_train)X_test = ss.transform(X_test)# 初始化LogisticRegression与SGDClassifier。lr = LogisticRegression()sgdc = SGDClassifier()# 调用LogisticRegression中的fit函数/模块用来训练模型参数。lr.fit(X_train, y_train)# 使用训练好的模型lr对X_test进行预测,结果储存在变量lr_y_predict中。lr_y_predict = lr.predict(X_test)# 调用SGDClassifier中的fit函数/模块用来训练模型参数。sgdc.fit(X_train, y_train)# 使用训练好的模型sgdc对X_test进行预测,结果储存在变量sgdc_y_predict中。sgdc_y_predict = sgdc.predict(X_test)# 从sklearn.metrics里导入classification_report模块。from sklearn.metrics import classification_report# 使用逻辑斯蒂回归模型自带的评分函数score获得模型在测试集上的准确性结果。print 'Accuracy of LR Classifier:', lr.score(X_test, y_test)# 利用classification_report模块获得LogisticRegression其他三个指标的结果。print classification_report(y_test, lr_y_predict, target_names=['Benign', 'Malignant'])# 使用随机梯度下降模型自带的评分函数score获得模型在测试集上的准确性结果。print 'Accuarcy of SGD Classifier:', sgdc.score(X_test, y_test)# 利用classification_report模块获得SGDClassifier其他三个指标的结果。print classification_report(y_test, sgdc_y_predict, target_names=['Benign', 'Malignant'])

 

这篇关于使用logistic regression 处理 良/恶性肿瘤分类任务 案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023734

相关文章

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

Java利用@SneakyThrows注解提升异常处理效率详解

《Java利用@SneakyThrows注解提升异常处理效率详解》这篇文章将深度剖析@SneakyThrows的原理,用法,适用场景以及隐藏的陷阱,看看它如何让Java异常处理效率飙升50%,感兴趣的... 目录前言一、检查型异常的“诅咒”:为什么Java开发者讨厌它1.1 检查型异常的痛点1.2 为什么说

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php

使用Python实现一个简易计算器的新手指南

《使用Python实现一个简易计算器的新手指南》计算器是编程入门的经典项目,它涵盖了变量、输入输出、条件判断等核心编程概念,通过这个小项目,可以快速掌握Python的基础语法,并为后续更复杂的项目打下... 目录准备工作基础概念解析分步实现计算器第一步:获取用户输入第二步:实现基本运算第三步:显示计算结果进