kaggle使用深度学习的logistic回归方法实现疟疾细胞图像分类

目录

数据集概述

依赖环境

代码概述

导包

数据处理

数据可视化

模型结构搭建

模型迭代训练

初始化和准备

训练过程

评估

模型验证评估

计算准确率

打印分类报告

绘制混淆矩阵

展示

配套数据集与代码下载链接


数据集概述

《疟疾细胞图像数据集》对于医学图像分析领域的研究人员和开发者来说是一份重要资源,特别是对那些致力于开发能从细胞图像中检测疟疾的机器学习模型的人来说。该数据集包含总共27,558张图像,分为两个主要文件夹:“感染”和“未感染”。这些图像为训练和测试能够自动区分感染与未感染细胞的算法提供了视觉基础,这是疟疾诊断的关键任务。

依赖环境

项目中,为了确保代码能正确运行,您需要安装以下的环境依赖库:

  1. NumPy: 用于处理大型多维数组和矩阵的高级数学函数库。通常,NumPy 的版本至少应为 1.19.5 以确保兼容性。

  2. Pandas: 提供数据操作和分析的功能。建议使用版本 1.1.5 或更高。

  3. Matplotlib: 一个强大的绘图库,用于生成各种静态、动态和交互式的图形。适用的版本通常是 3.3.3 或以上。

  4. Seaborn: 基于 Matplotlib 的统计图形库,用于绘制更加美观的统计图表。通常需要版本 0.11.0 或更高。

  5. Torch (PyTorch): 一个开源的机器学习库,广泛用于计算机视觉和自然语言处理等应用。至少需要 1.7.0 版本。

  6. Torchvision: 与 PyTorch 配合使用,提供了处理图像和视频的工具和预训练模型。通常与您的 PyTorch 版本相匹配。

  7. Scikit-learn: 为数据挖掘和数据分析提供工具的库。

代码概述

导包

import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
import seaborn as sns
import torchvision
import torch.nn as nn
import torch
import torch.optim as optim
from torch.optim.lr_scheduler import StepLR
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
from torch.utils.data.sampler import SubsetRandomSampler
import torch.nn.functional as F
from sklearn.metrics import accuracy_score ,classification_report,confusion_matrix
from sklearn.model_selection import train_test_split

这段代码是一个典型的Python导入语句集,涵盖了在进行机器学习和图像处理项目中常用的库和模块。下面是每个库的功能和用途:

  1. numpy (np): 一个强大的数学库,提供高效的多维数组对象和大量操作这些数组的函数,是科学计算中广泛使用的工具。

  2. pandas (pd): 提供高性能、易用的数据结构和数据分析工具,非常适合用来处理结构化数据。

  3. os: 用于与操作系统进行交互,比如读取文件路径、管理目录。

  4. matplotlib.pyplot (plt)seaborn (sns): matplotlib是Python中的一个绘图库,非常适合创建静态、动态和交互式的可视化。seaborn是基于matplotlib的高级绘图库,专注于统计图形的绘制。

  5. torchvision: torchvision库包含了处理图像数据的常用工具和模型,例如预训练的模型和数据转换操作。

  6. torch: 是PyTorch的核心库,用于创建和训练神经网络。PyTorch 提供了强大的张量操作能力以及自动求导系统,适用于深度学习研究和应用。

  7. torch.nn (nn): 是PyTorch中构建神经网络的模块,提供了网络层的定义和前向传递函数。

  8. torch.optim (optim): 提供了多种优化算法,用于神经网络的反向传播优化。

  9. torch.optim.lr_scheduler (StepLR): 用于调整学习率,StepLR是其中一种,可以在训练过程中按照一定的步长减小学习率。

  10. torch.utils.data (DataLoader, SubsetRandomSampler): 这些工具用于高效地加载和采样数据,使数据加载更加灵活和高效。

  11. torch.nn.functional (F): 包含了一些常用的函数式接口,比如激活函数、损失函数等,是编写神经网络层的辅助工具。

  12. sklearn.metrics (accuracy_score, classification_report, confusion_matrix): 这些是用于评估模型性能的函数,非常适用于分类任务的结果评估。

  13. sklearn.model_selection (train_test_split): 这个函数用于将数据集分割为训练集和测试集,帮助模型评估和避免过拟合。

数据处理

# Define transformations for the test set
transforms = transforms.Compose([
    transforms.Resize((120, 120)),
    transforms.ToTensor(),
    transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
])

# Load the entire dataset
image_dir = "./cell_imag
  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

E寻数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值