【Python深度学习之路】-2.1 机器学习的流程

2023-05-16

2.1 机器学习的流程简介

  1. 进行机器学习的整体流程:
    1. 数据收集。
    2. 数据清洗(清洗重复或缺失的数据,以提高数据的精读)。
    3. 运用机器学习算法对数据进行学习(获取基准)。
    4. 使用测试数据进行性能评测。
    5. 将机器学习模型安装到网页等应用环境中。
  2. 我们将计算机依靠自己寻找答案,并从数据的模式中建立出的基准称为“模型”。在监督学习中,计算机通过使用包含正确答案标签的数据来实现学习。

2.2 学习数据的使用方法

  1. 在机器学习的监督学习中,我们将需要处理的数据分为“训练数据”和“测试数据”两种。

    • 训练数据:学习过程中使用到的数据。
    • 测试数据:在学习完成之后,对模型精读进行评估时所使用的数据。
  2. 机器学习是一门以构建模型对未知数据进行预测的学术体系;而统计学是分析数据对产生这一数据的背景进行描述的学术体系。

  3. 大多数情况下,相比训练数据,测试数据所占的分量较少,一般为20%左右。

  4. 划分数据的方法:

    • 留出法:将所给的数据集划分为训练数据和测试数据这两种数据的一种简单方法。
    # 导入执行代码时需要使用的模块
    from sklearn import datasets
    from sklearn.model_selection import train_test_split
    
    # 读取名为iris的数据集
    iris = datasets.load_iris()
    X = iris.data
    y = iris.target
    
    # 将数据保存到X和y中
    X_train,X_test,y_train,y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
    # test_size指定的是从整体数据中选择作为测试数据的比例,范围是0-1的数值
    # random_state 固定数据。
    
    # 确认训练数据和测试数据的大小
    print("X_train :",X_train.shape)
    print("y_train :",y_train.shape)
    print("X_test :",X_test.shape)
    print("y_test :",y_test.shape)
    
    • k折交叉验证:使用无放回抽样,将训练数据集分割为k个子集,将其中的k-1个子集数据作为学习数据集使用,将剩下的1个子集数据用于模型测试的一种方法。因此需要进行重复k次的学习和评估,对得到的k个性能评估数据取平均值,从而计算出模型的平均性能。特殊的包括留一交叉验证,意指使用除某一行以外的所有数据进行学习,主要是处理非常小的数据。(交叉验证的优点是允许我们充分地利用手头的数据最大限度地对模型的性能进行评估。)

在这里插入图片描述

# 导入执行代码时所需要的模块
from sklearn import svm, datasets, model_selection

# 载入名为iris的数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target

# 使用机器学习算法SVM
svc = svm.SVC(C=1,kernel="rbf",gamma = 0.001)

# 通过交叉验证计算得分
# 在程序内部,X,y会被分割为类似x、y、train和test的样式进行处理
scores = model_selection.cross_val_score(svc, X, y, cv=5)

print(scores)
print("平均分数:", scores.mean())
  • 自助法:在留出法与交叉验证法中,会因训练样本规模的不同而导致估计偏差,留一法计算复杂度又太高,而自助法可以减少训练样本规模不同造成的影响,同时还能比较高效的进行实验估计。自助法在数据集较小、难以有效划分训练/测试集时很有用。此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法又很大的好处。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Python深度学习之路】-2.1 机器学习的流程 的相关文章

  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • 下载 PyQt6 的 Qt Designer 并使用 pyuic6 将 .ui 文件转换为 .py 文件

    如何下载 PyQt6 的 QtDesigner 如果没有适用于 PyQt6 的 QtDesigner 我也可以使用 PyQt5 的 QtDesigner 但是如何将此 ui 文件转换为使用 PyQt6 库而不是 PyQt5 的 py 文件
  • 将字符串转换为带有毫秒和时区的日期时间 - Python

    我有以下 python 片段 from datetime import datetime timestamp 05 Jan 2015 17 47 59 000 0800 datetime object datetime strptime t
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例

随机推荐

  • 【Python全栈100天学习笔记】Day41 Django深入理解框架

    深入模型 在上一个章节中 xff0c 我们提到了Django是基于MVC架构的Web框架 xff0c MVC架构追求的是 模型 和 视图 的解耦合 所谓 模型 说得更直白一些就是数据 xff08 的表示 xff09 xff0c 所以通常也被
  • ovs-appctl 用户手册中文翻译

    该文章收录在在我的博客 xff1a http www sskywatcher com blog 运行时管理命令 ovs appctl 能够向运行中的ovs vswitchd进程发送命令 现已支持的命令描述如下 这些描述假设读者理解如何配置o
  • 【Python全栈100天学习笔记】Day43 Django静态资源与Ajax请求

    静态资源和Ajax请求 基于前面的知识 xff0c 我们已经可以使用Django框架来完成Web应用的开发了 接下来我们就尝试实现一个投票应用 xff0c 具体的需求是用户进入应用首先查看到 学科介绍 页面 xff0c 该页面显示了一个学校
  • 【Python全栈100天学习笔记】Day44 Web表单介绍及使用

    表单的应用 我们继续来完成上一章节中的项目 xff0c 实现 用户注册 和 用户登录 的功能 xff0c 并限制只有登录的用户才能为老师投票 Django框架中提供了对表单的封装 xff0c 而且提供了多种不同的使用方式 首先添加用户模型
  • 【Python全栈100天学习笔记】Day45 Cookie和Session介绍及使用

    Cookie和Session 实现用户跟踪 如今 xff0c 一个网站如果不通过某种方式记住你是谁以及你之前在网站的活动情况 xff0c 失去的就是网站的可用性和便利性 xff0c 继而很有可能导致网站用户的流式 xff0c 所以记住一个用
  • 【Python全栈100天学习笔记】Day46 导入导出Excel报表和配置日志

    报表和日志 导出Excel报表 报表就是用表格 图表等格式来动态显示数据 xff0c 所以有人用这样的公式来描述报表 xff1a 报表 61 多样的格式 43 动态的数据 有很多的三方库支持在Python程序中写Excel文件 xff0c
  • 【Python全栈100天学习笔记】Day47 Django中间件使用

    中间件的应用 实现登录验证 我们继续来完善投票应用 在上一个章节中 xff0c 我们在用户登录成功后通过session保留了用户信息 xff0c 接下来我们可以应用做一些调整 xff0c 要求在为老师投票时必须要先登录 xff0c 登录过的
  • 【Python全栈100天学习笔记】Day48 前后端分离开发入门

    前后端分离开发入门 在传统的Web应用开发中 xff0c 大多数的程序员会将浏览器作为前后端的分界线 将浏览器中为用户进行页面展示的部分称之为前端 xff0c 而将运行在服务器 xff0c 为前端提供业务逻辑和数据准备的所有代码统称为后端
  • 【Python深度学习之路】-3.1性能评价指标

    1 理解混淆矩阵 所谓混淆矩阵 xff0c 是指将模型对各个测试数据的预测结果分为真阳性 真阴性 假阳性和假阴性并对符合各个观点的预测结果的数量进行统计的一种表格 其中 xff0c 真阳性和真阴性表示机器学习模型的回答是正确的 xff0c
  • 【Python深度学习之路】-3.2PR曲线

    1 何谓PR曲线 所谓PR曲线是指用横轴表示召回率 xff0c 纵轴表示精确率 xff0c 将数据绘制成图表的形式所得到的曲线 召回率和准确率两个指标成反比关系 xff0c 所谓反比关系 xff0c 指的是当提升精确率时 xff0c 召回率
  • 【Python深度学习之路】产生随机数

    随机数的生成 1 设置种子 计算机是根据被称为 种子 seed 的数据来生成随机数的 所谓种子 xff0c 是指在生成随机数的过程中所使用的初始值 xff0c 如果种子的值固定不变 xff0c 生成的随机数序列也是不变的 通过使用相同的随机
  • 【Python深度学习之路】时间序列数据

    1 datetime类型 对于时间序列数据进行处理时 xff0c 需要使用表示时间的方法 在P樱桃红中提供了datetime数据类型来对日期和实践进行处理 指定datetime datetime 年 xff0c 月 xff0c 日 xff0
  • caffe学习笔记

    一 mnist例程 https blog csdn net bestrivern article details 85101303 二 cifar10例程 附录 xff1a caffe常见问题及注意事项 https blog csdn ne
  • 我的创作纪念日

    机缘 提示 xff1a 可以和大家分享最初成为创作者的初心 例如 xff1a 实战项目中的经验分享日常学习过程中的记录通过文章进行技术交流 收获 提示 xff1a 在创作的过程中都有哪些收获 例如 xff1a 获得了多少粉丝的关注获得了多少
  • Python数据分析常用30段优化代码

    1 重复元素判定 以下方法可以检查给定列表是不是存在重复元素 xff0c 它会使用 set 函数来移除所有重复元素 def all unique lst return len lst 61 61 len set lst x 61 1 1 2
  • Python妙用小工具:2行Python给图片加水印

    filestools库介绍 今天给大家介绍的Python库 xff0c 叫做filestools xff0c 由小小明开发 xff0c 直接使用如下命令 xff0c 安装后使用 pip install filestools index ur
  • 在Excel中调用Python脚本,实现数据自动化处理

    说起Excel xff0c 那绝对是数据处理领域王者般的存在 xff0c 尽管已经诞生三十多年了 xff0c 现在全球仍有7 5亿忠实用户 xff0c 而作为网红语言的Python xff0c 也仅仅只有700万的开发人员 Excel是全世
  • Python数据分析中常用的工具类和方法【持续更新系列】

    本文主要记录在工作和学习中 xff0c 做数据分析常用到的一些简单的工具函数和类 span class token comment 判断是否为浮点数 span span class token keyword def span span c
  • 【Python深度学习之路】-1 机器学习概论

    Python深度学习之路 1 机器学习概论 1 1 机器学习简介 机器学习火热的原因是 xff1a 人类无论如何也做不到在短时间内实现从大量数据中自动地计算出正确结果的操作 所谓机器学习 xff1a 通过对数据进行反复的学习 xff0c 来
  • 【Python深度学习之路】-2.1 机器学习的流程

    2 1 机器学习的流程简介 进行机器学习的整体流程 xff1a 数据收集 数据清洗 xff08 清洗重复或缺失的数据 xff0c 以提高数据的精读 xff09 运用机器学习算法对数据进行学习 xff08 获取基准 xff09 使用测试数据进