实验 逻辑回归
实验目标
本实验旨在通过实现一个基础的逻辑回归分类模型,让学生掌握以下技能:
了解并应用逻辑回归模型,完成从数据加载、预处理到训练与评估的整个流程。
通过使用Scikit-learn的逻辑回归模型,掌握如何进行模型训练与预测。学会评估模型性能,理解准确率、混淆矩阵及分类报告的含义。掌握混淆矩阵的可视化技术,通过图形化呈现分类结果,帮助分析模型性能。
实验环境
o Python编程语言
o Scikit-learn库
o Matplotlib(用于数据可视化)
o NumPy和Pandas库(用于数据处理)
o Jupyter Notebook或类似IDE(用于代码编写和结果展示)
实验数据集
本实验使用的是鸢尾花数据集(Iris dataset),它是一个经典的多分类数据集,包含150个样本,4个特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度),以及3个目标类别(Setosa、Versicolor、Virginica)。为了简化实验并将问题转化为二分类问题,我们将类别2(Virginica)标记为0,而类别0(Setosa)和类别1(Versicolor)标记为1。
实验步骤
1. 数据加载与初步探索
o 加载鸢尾花数据集。
o 将目标类别从三分类问题转换为二分类问题。
2. 数据集划分与标准化
o 使用 train_test_split 方法将数据划分为训练集(80%)和测试集(20%)。
o 使用 StandardScaler 对数值型特征使用进行标准化,以确保每个特征具有相同的尺度,避免不同尺度的特征对模型训练产生影响。
3. 模型训练与预测
o 初始化逻辑回归模型 LogisticRegression,使用模型进行训练,基于训练集数据进行拟合。
o 使用训练好的模型对测试集进行预测,得到预测结果。
4. 模型性能评估
o 使用 accuracy_score 方法评估模型在测试集上的准确率。
o 通过 confusion_matrix 查看模型的混淆矩阵,以了解分类情况。
o 使用 classification_report 获得模型的精确率、召回率和 F1 分数等详细指标。
5. 可视化混淆矩阵
o 使用Matplotlib可视化混淆矩阵,帮助直观分析模型的分类效果。
实验结果展示
o 数据集基本信息展示:数据集共有150个样本,4个数值特征,和3个类别。经过数据预处理后,我们将类别2转化为0,类别0和类别1转化为1,完成二分类任务。
o 模型准确率:显示逻辑回归模型在测试集上的准确率。
o 混淆矩阵和分类报告:输出模型的混淆矩阵和分类报告,以帮助理解分类情况和性能差异。
o 混淆矩阵可视化:通过绘制混淆矩阵的热图,可以直观地展示每个类别的正确分类情况和错误分类情况。
实验总结
o 总结数据预处理的重要性和基本步骤。
o 分析实验过程中遇到的问题和解决方案。
o 分析不同数据预处理方法对模型性能的影响
实验代码参考
以下是一个逻辑回归模型实验代码,使用鸢尾花数据集将其转化为二分类问题,包含数据预处理、训练模型、评估结果以及混淆矩阵的可视化:
——————————————
# 导入必要的库
# 加载鸢尾花数据集(Iris Dataset)
# 将问题转换为二分类问题:类别0和1为正类,类别2为负类
# 划分数据集为训练集和测试集(80%训练,20%测试)
# 标准化数据
# 创建逻辑回归模型并训练
# 在测试集上进行预测
# 计算准确率
# 生成混淆矩阵
# 输出分类报告
# 可视化混淆矩阵
# 输出每个格子的数值,用来显示混淆矩阵中的实际数值
——————————————

