数据挖掘(4.1)--分类和预测

news2024/11/24 16:24:19

目录

前言

一、分类和预测

分类

预测

二、关于分类和预测的问题

准备分类和预测的数据

评价分类和预测方法

混淆矩阵

评估准确率

参考资料


前言

分类:离散型、分类新数据

预测:连续型、预测未知值

描述属性:连续、离散

类别属性:离散

有监督学习:

分类

训练样本有标签

对未知数据分类

无监督学习:

聚类

无标签

划分存在的聚类

一、分类和预测

分类

分类过程是一个两步的过程。第一步是模型建立阶段,或者称为训练阶段,这一步的目的是描述预先定义的数据类或概念集的分类器。在这一步会使用分类算法分析已有数据(训练集)来构造分类器。训练数据集由一组数据元组构成,每个数据元组假定已经属于一个事先指定的类别(由类别标记属性确定)。

在分类的第二步,需要使用第一步得到的分类器进行分类,从而评估分类器的预测准确。具体来说,由一组检验元组和相关联的类别标记所组成的测试数据集。

在机器学习中,分类也往往称为有监督学习,“有监督”指的是用于训练的数据元组的类别标记是已知的,新的数据基于训练数据集进行分类。与之对应的是聚类,在机器学习中称为无监督学习,“无监督"指的是用于训练的数据元组的类别标记是未知的,这种学习旨在识别隐含在数据中的类或簇。

预测

数据预测也是一个两步过程。与数据分类不同的是,对于所需要预测的属性值是连续值,而且是有序的;分类所需要预测的属性值是离散的、无序的。预测器与分类器类似,也可以看作一个映射或者函数y= f(x),其中x是输人元组,输出y是连续的或有序的值。与分类相同,测试数据集与训练数据集在预测任务中也应该是独立的。预测的准确率通过对每个检验元组r,利用y的预测值与实际已知值的差来评估。

二、关于分类和预测的问题

准备分类和预测的数据

对分类和预测所使用的数据进行预处理,预处理一般可以分为以下三个步骤:
(1)数据清理。主要目的是减少数据噪声和处理缺失值。

尽管大部分分类算法都有某种处理噪声和缺失值的机制,但是该步骤有助于减少学习时的混乱。
(2)相关分析。目的是移除数据中不相关或冗余的属性。

这样可以加快分类器训练速度,提高分类器准确率。
(3)数据转换。目的是泛化或规范化数据。

这种距离度量方法可以避免受不同属性不同初始值范围对度量结果的影响。

评价分类和预测方法

(1)准确率。

分类准确率指分类器预测新的或先前未出现过的数据元组的类别标记的能力。预测器的准确率指预测器猜测新的或先前未出现过的数据元组的预测属性值的准确程度。
(2)速度。

指建立模型(训练)和使用模型(分类/预测)的时间开销。
(3)鲁棒性。

指分类器或预测器处理噪声值或缺失值数据的能力。
(4)可伸缩性。

指针对大规模数据、分类器或预测器的处理能力。
(5)可解释性。

指分类器或预测器所提供的可理解和洞察的程度。

分类器或预测器在检测集上的准确率和错误率是两个常用的度量准则。检测集上的准确率指的是检测集中被正确分类或预测的元组所占的比例。相反,检测集上的错误率指的是检测集中被错误分类或预测的元组所占的比例。

混淆矩阵

 一个分析分类器识别不同元组情况的有用工具。

真正(TruePositives)指分类器正确标记的正元组.TP

真负(TrueNegatives)是指分类器正确标记的负元组。TN

假正(FalsePositives)是错误标记的负元组,FP

假负(FalseNegatives)是错误标记的正元组。FN

正确率:

\frac{TP+TN}{TP+FN+FP+TN}

准确率:

\frac{TP}{TP+FP}

评估准确率

保持、随机子抽样、交叉验证是常用的基于给定数据的随机抽样划分,评估准确率的常用技术。这些技术的使用会增加总体计算开销,但是会有利于模型选择。

保持方法是一般讨论准确率默认的方法。这种方法将给定数据分为两个独立的集合:训练数据集和测试数据集。一般2/3的数据作为训练数据集,1/3的数据作为测试数据集。训练数据集用来建立模型,而准确率通过测试数据集来评估。

随机子抽样方法是保持方法的简单变形,它将保持方法重复k次,总的准确率估计取每次迭代准确率的平均值。

在k-交叉检验中,初始数据随机划分为k个互不相交的子集S1,S2,..Sk,每个子集的大小大致相等。训练和测试进行k次。在第i次迭代,子集Si用作测试集,其余的子集用来训练模型。

参考资料

《数据挖掘:方法与应用》徐华著

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

扬尘天气在家如何防护措施 家里空气中的沙尘怎么处理

扬尘天气在家如何防护措施 家里空气中的沙尘怎么处理 大风起兮尘飞扬 风越强来,天越黄…… 随沙尘而来的还有呼呼呼的大风 刚刚过了一周 “阳光正好,微风不燥”的日子 还没好好感受春花绽放的温柔 沙尘天气就又杀回塔大了 除了吃土 “防护指南…

展心展力 metaapp:基于 DeepRec 的稀疏模型训练实践

作者 metaapp-推荐广告研发部:臧若舟,朱越,司灵通 1 背景 推荐场景大模型在国内的使用很早,早在 10 年前甚至更早,百度已经用上了自研的大规模分布式的 parameter server 系统结合上游自研的 worker 来实现 TB 级别…

【LeetCode】剑指 Offer(27)

目录 题目:剑指 Offer 53 - I. 在排序数组中查找数字 I - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offe…

【机器学习 P19】【实战 P1】 MINST 手写数字识别

MINST 手写数字识别引入数据模型训练模型创建程序模型编译程序模型训练程序模型预测程序完整代码引入数据 MINST数据集是一个经典的手写数字识别数据集,由Yann LeCun等人创建。它包含了来自真实手写数字图片的70000个灰度图像,这些图像是由250个不同的人…

三行Python代码,让数据处理速度提高2到6倍

本文可以教你仅使用 3 行代码,大大加快数据预处理的速度。 Python 是机器学习领域内的首选编程语言,它易于使用,也有很多出色的库来帮助你更快处理数据。但当我们面临大量数据时,一些问题就会显现…… 在默认情况下,…

OpenShift 4 - 使用 virtctl 远程访问 OpenShift Virtualization 的虚拟机

《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在支持 OpenShift 4.12 的 OpenShift 环境中验证 在《OpenShift 4 - 用 OpenShift Virtualization 运行容器化虚拟机 (视频)》一文中使用了 OpenShift 控制台直接访问运行在 OpenSh…

SQL中去除重复数据的几种方法,我一次性都告诉你​

使用SQL对数据进行提取和分析时,我们经常会遇到数据重复的场景,需要我们对数据进行去重后分析。以某电商公司的销售报表为例,常见的去重方法我们用到distinct 或者group by 语句, 今天介绍一种新的方法,利用窗口函数对…

MIT 6.S965 韩松课程 05

Lecture 05: Quantization (Part 1) 文章目录Lecture 05: Quantization (Part 1)动机数字的数据类型整数定点数浮点数量化基于 K-Means 的量化 [[Han et al., ICLR 2016]](https://arxiv.org/pdf/1510.00149v5.pdf)线性量化 [[Jacob et al. CVPR 2018]](https://arxiv.org/pdf/…

Makefile项目管理-----在Linux下编译c/c++程序

这里写目录标题起因makefile项目管理一、用途:二、 makefile的基础规则1.多文件联合编译2. makefile检测原理3. ALL来指定终极目标三、 makefile的两个函数和clean四、 makefile中的三个自动变量五、模式规则六、 静态模式规则七、 扩展1. 扩展1 伪目标2. 扩展2 可添…

在 Python 中检查字符串是否为 ASCII

使用 str.isascii() 方法检查字符串是否为 ASCII,例如 if my_str.isascii():。 如果字符串为空或字符串中的所有字符都是 ASCII,则 str.isascii() 方法返回 True,否则返回 False。 my_str www.jiyik.comif my_str.isascii():# &#x1f447…

网络安全工程师做什么?

​ 网络安全很复杂。数字化转型、远程工作和不断变化的威胁形势需要不同的工具和不同的技能组合。 系统必须到位以保护端点、身份和无边界网络边界。负责处理这种复杂安全基础设施的工作角色是网络安全工程师。 简而言之,网络安全工程师是负责设计和实施组织安全系…

基于TF-IDF+KMeans聚类算法构建中文文本分类模型(附案例实战)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

UHD安装教程

UHD Universal Hardware Driver,即USRP驱动。 UHD,Windows平台安装教程 uhd驱动安装 http://files.ettus.com/binaries/misc/erllc_uhd_winusb_driver.zip 安装LibUSBx http://files.ettus.com/binaries/uhd/latest_release 下载默认C盘 环境配置 将…

Android FrameWork 知识点与面试题整合~

1.如何对 Android 应用进行性能分析 android 性能主要之响应速度 和UI刷新速度。 首先从函数的耗时来说,有一个工具TraceView 这是androidsdk自带的工作,用于测量函数耗时的。 UI布局的分析,可以有2块,一块就是Hierarchy Viewe…

面试-Sqrt(x)

题目 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 思路 二分查…

项目管理:项目进度难以把控,项目经理应该怎么办?

项目管理中,对进度的管理也是保障整个项目顺利完成的重要条件。项目进度难以把控,项目常常延期,项目经理怎么办?如何跟进整个项目的进度? 对于如何做好项目进度管理,有几点建议,希望能对大家有…

Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载

文章目录一、业务背景二、实现思路二、准备工作1.准备data模板.xlsx2.引入poi相关依赖,用于操作excel3.针对WorkBookZIP压缩输入/输出流,相关方法知识点要有所了解三、完整的项目代码四、可能遇到的问题错误场景1:java.io.IOException: Strea…

【RabbitMQ】SpringBoot整合RabbitMQ实现延迟队列、TTL、DLX死信队列

目录 一、TTL 1、什么是TTL 2、设置TTL的两种方式 3、控制台设置TTL 4、SpringBoot实现两种方式设置TTL 1.给消息设置过期时间 2.给队列设置过期时间 二、DLX死信队列 1、什么是死信交换机与死信队列 2、消息何时会成为死信 3、队列如何绑定死信交换机与死信队列 4…

vscode“检测到 #include 错误,请更新 includepath。”的问题解决办法

目录 一.报错更新includepath​编辑 二.原因 三.解决方法 一.报错更新includepath 如图 二.原因 1.没有安装gcc 2.没有配置好环境 winR打开cmd,输入gcc -v,如果安装了gcc,会返回版本 三.解决方法 1.安装MinGW 2.添加MinGW环境变量 将bin文件夹的位置添加到系统环境变量中…

三分钟搭建个人博客技术栈Nuxt3+vite+mysql+koa2

最近也是想入一下Nuxt3的坑,然后就写了一个博客系统,目前已开源github,欢迎大家star!!! 效果预览 网址:http://180.76.121.2:3000/ github地址 https://github.com/ztzzhi/ztzzhi-nuxt3-vite…