目录

  • 1 Chapter01. Introduction
    • 1.1 课程PPT
    • 1.2 补充材料(数学基础)
    • 1.3 本节作业
  • 2 Chapter02. Bayesian Decision Theory
    • 2.1 课程PPT
    • 2.2 视频素材
    • 2.3 章节测试
  • 3 Chapter03. Maximum Likelihood and Bayesian Estimation
    • 3.1 课程PPT
    • 3.2 视频素材
    • 3.3 补充材料(EM)
  • 4 Chapter04. Nonparametric Techniques
    • 4.1 课程PPT
    • 4.2 补充材料(距离)
  • 5 Chapter05. Linear Discriminant Functions
    • 5.1 课程PPT
    • 5.2 视频素材
    • 5.3 补充材料(梯度)
    • 5.4 数学证明
  • 6 Chapter06. Neural Networks
    • 6.1 课程PPT
    • 6.2 视频素材
    • 6.3 补充材料(BP)
  • 7 Chapter07. Dimension Reduction
    • 7.1 课程PPT
    • 7.2 补充材料(奇异值)
  • 8 Chapter08. Non-metric Methods
    • 8.1 课程PPT
  • 9 Chapter09. Unsupervised Learning and Clustering
    • 9.1 课程PPT
    • 9.2 实验
  • 10 Chapter10. Algorithm-independent Machine Learning
    • 10.1 课程PPT
    • 10.2 补充材料(偏差方差两难)
    • 10.3 实验
  • 11 课程实验
    • 11.1 实验环境设置
    • 11.2 python数据常用导入方法
    • 11.3 数据探索
    • 11.4 数据预处理
    • 11.5 朴素贝叶斯分类
    • 11.6 KNN分类
    • 11.7 线性回归
    • 11.8 逻辑回归
    • 11.9 SVM实现多分类
    • 11.10 决策树分类
    • 11.11 PCA实现
    • 11.12 K-means聚类实现
逻辑回归

实验 逻辑回归

实验目标

本实验旨在通过实现一个基础的逻辑回归分类模型,让学生掌握以下技能:

了解并应用逻辑回归模型,完成从数据加载、预处理到训练与评估的整个流程。

通过使用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%测试)


# 标准化数据


# 创建逻辑回归模型并训练


# 在测试集上进行预测


# 计算准确率



# 生成混淆矩阵



# 输出分类报告



# 可视化混淆矩阵



# 输出每个格子的数值,用来显示混淆矩阵中的实际数值



——————————————