机器学习算法基础--逻辑回归简单处理mnist数据集项目

这篇具有很好参考价值的文章主要介绍了机器学习算法基础--逻辑回归简单处理mnist数据集项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.项目背景介绍

2.Mnist数据导入

3.数据标签提取且划分数据集

4.数据特征标准化

5.模型建立与训练

6.后验概率判断及预测

7.处理模型阈值及准确率

8.阈值分析的可视化绘图

9.模型精确性的评价标准

1.项目背景介绍

"""
MNIST数据集是美国国家标准与技术研究院收集整理的大型手写数字数据集,包含了60,000个样本的训练集以及10,000个样本的测试集。
在这里我们给出个10000个数据集,以下我们就来简单地介绍以下这个数据集:
首先每一张mnist数据集图片都是由28x28的灰度值组成的,我们在excel中对于一张图片,采用一行784列才存储一张图片的灰度值。
所以我们10000个数据就有10000x784列数据所组成。

今天我们的任务就是通过逻辑回归做一个二分类的问题,给图片进行分类,划分成是否是5/或者其他的数据。

"""

2.Mnist数据导入

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
from sklearn.metrics import accuracy_score
# 读取CSV文件
data = pd.read_csv('mnist-demo.csv')
data.head()#大部分的灰度值都为0

机器学习算法基础--逻辑回归简单处理mnist数据集项目,机器学习算法基础,机器学习,算法,逻辑回归

3.数据标签提取且划分数据集

# 提取特征和标签
X = data.drop('label', axis=1).values
y = data['label']
y_binary = (y == 5).astype(int)

4.数据特征标准化

# 特征标准化
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

5.模型建立与训练

# 训练逻辑回归模型
model = LogisticRegression(max_iter=1000)
model.fit(X_train_scaled, y_train)

6.后验概率判断及预测

# 预测概率
proba = model.predict_proba(X_test_scaled)
#根据后验概率进行决策差别还是比较大的
proba
%%
# 预测
predictions = model.predict(X_test_scaled)
#0表示不是5,1表示是5
predictions

机器学习算法基础--逻辑回归简单处理mnist数据集项目,机器学习算法基础,机器学习,算法,逻辑回归

7.处理模型阈值及准确率

#阈值表示的是分类的决策面,如果prob>threhold,选择第一类,如果prob<=threhold,选择第二类
# 设置阈值
threshold_box=[0,0.05,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,0.95,1] 
Accuracy=np.zeros(13)
for i  in range(len(threshold_box)):
    threshold =threshold_box[i]
    predictions = (proba[:, 1] > threshold).astype(int)
    # 计算准确率
    Accuracy[i] = accuracy_score(y_test, predictions)
    print("阈值为{}时,模型的准确率为:{}".format(threshold,Accuracy[i]))

机器学习算法基础--逻辑回归简单处理mnist数据集项目,机器学习算法基础,机器学习,算法,逻辑回归

8.阈值分析的可视化绘图

#matplotlib不支持中文,我们需要添加以下的代码
# 支持中文
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号

plt.scatter(threshold_box,Accuracy,color='r',label='Accuracy')
plt.ylim(0,1)
plt.title("不同阈值的准确率变化图")
plt.ylabel("模型分类准确率")
plt.xlabel("模型阈值")
plt.legend(loc=5,ncol=5,edgecolor='y')
plt.savefig(r"C:\Users\Zeng Zhong Yan\Desktop\不同阈值的准确率变化图.png",dpi=500)

机器学习算法基础--逻辑回归简单处理mnist数据集项目,机器学习算法基础,机器学习,算法,逻辑回归文章来源地址https://www.toymoban.com/news/detail-731095.html

9.模型精确性的评价标准

我们给出以下的概念:
真阳性(True Positive,简称TP),也就是预测为真,实际上也为真的数据.
假阳性(False Positive,简称FP),也就是预测为真,但实际上为假的数据.
假阴性(False Negative,简称FN),也就是预测为假,但实际上为真的数据.
真阴性(True Negative,简称TN),也就是预计为假,实际上也为假的数据.

我们给出混淆矩阵的定义:
Confusion matrix=[[TP,FP],[FN,PN]]

我们同时给出几个评价指标:
1.准确率:所有的预测正确(正类负类)的占总的比重.
  Accuray=(TP+TN)/(TP+TN+FP+FN)
2.精确率:正确预测为正的占全部预测为正的比例.
  Precision=TP/(TP+FP)
3.召回率:即正确预测为正的占全部实际为正的比例.
  Recall=TP/(TP+FN)
4.F-score:
  F-score=(2*Precision*Recall)/(Precision+Recall)

到了这里,关于机器学习算法基础--逻辑回归简单处理mnist数据集项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习算法(一): 基于逻辑回归的分类预测

    逻辑回归的介绍 逻辑回归(Logistic regression,简称LR)虽然其中带有\\\"回归\\\"两个字,但逻辑回归其实是一个 分类 模型,并且广泛应用于各个领域之中。虽然现在深度学习相对于这些传统方法更为火热,但实则这些传统方法由于其独特的优势依然广泛应用于各个领域中。 而对于

    2024年01月15日
    浏览(49)
  • 机器学习:逻辑回归模型算法原理(附案例实战)

    作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍 📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪 订阅专栏案

    2024年01月20日
    浏览(48)
  • 机器学习算法:线性回归、逻辑回归、决策树和随机森林解析

    引言 机器学习算法是人工智能领域的核心,它们用于解决各种问题,从预测房价到图像分类。本博客将深入探讨四种常见的机器学习算法:线性回归、逻辑回归、决策树和随机森林。 线性回归 什么是线性回归? 线性回归是一种用于建立连续数值输出的机器学习模型的算法。

    2024年02月10日
    浏览(53)
  • 【AI底层逻辑】——篇章5(上):机器学习算法之回归&分类

    目录 引入 一、何为机器学习 1、定规则和学规则 2、算法的定义

    2024年02月16日
    浏览(56)
  • 机器学习:基于梯度下降算法的逻辑回归实现和原理解析

    当涉及到二元分类问题时,逻辑回归是一种常用的机器学习算法。它不仅简单而且有效,通常是入门机器学习领域的第一步。本文将介绍逻辑回归的基本概念、原理、应用场景和代码示例。 逻辑回归是一种用于解决二元分类问题的统计学习方法。尽管其名称中包含\\\"回归\\\"一词

    2024年02月09日
    浏览(53)
  • python机器学习——分类模型评估 & 分类算法(k近邻,朴素贝叶斯,决策树,随机森林,逻辑回归,svm)

    交叉验证:为了让被评估的模型更加准确可信 交叉验证:将拿到的数据,分为训练和验证集。以下图为例:将数据分成5份,其中一份作为验证集。然后经过5次(组)的测试,每次都更换不同的验证集。即得到5组模型的结果,取平均值作为最终结果。又称5折交叉验证。 通常情

    2024年02月03日
    浏览(67)
  • 机器学习之回归算法-逻辑回归

    1.1、概念 是一种名为“回归”的线性分类器,是由线性回归变化而来的,一种广泛使用于分类问题中的广义回归算法。 1.2、按预测标签的数据类型分 连续型变量: 通过线性回归方程z,线性回归使用输入的特征矩阵X来输出一组连续型的标签值y_pred,以完成各种预测连续型变

    2024年02月04日
    浏览(34)
  • 机器学习基础算法--回归类型和评价分析

    目录 1.数据归一化处理 2.数据标准化处理 3.Lasso回归模型 4.岭回归模型 5.评价指标计算       MSE= i=1 n ( Y i - Y ^ ) 2 n RMES= i=1 n ( Y i - Y ^ ) 2 n MAE= i=1 n | Y i - Y ^ | n R 2 =1- i=1 n ( Y ^ - Y i ) 2 i=1 n ( Y ¯ - Y i )2

    2024年02月09日
    浏览(40)
  • 机器学习案例:运营商客户流失的数据分析 #数据去重#数据分组整合#缺失值处理#相关性分析#样本平衡#决策树、随机森林、逻辑回归

    前提: 随着业务快速发展、电信市场的竞争愈演愈烈。如何最大程度地挽留在网用户、吸取新客户,是电信企业最 关注的问题之一。 客户流失 会给企业带来一系列损失,故在发展用户每月增加的同时,如何挽留和争取更多 的用户,也是一项非常重要的工作。 能否利用大数

    2024年02月08日
    浏览(52)
  • 从头开始机器学习:逻辑回归

            本篇实现线性回归的先决知识是:基本线性代数,微积分(偏导数)、梯度和、Python (NumPy);从线性方程入手,逐渐理解线性回归预测问题。

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包