什么是数据挖掘

2023-05-16

文章目录

  • 什么是数据挖掘
      • 1.分类问题
      • 2.聚类问题
      • 3.回归问题
    • 数据挖掘相关的标准库
  • 数据挖掘
  • 模型训练
    • 分类问题
    • 聚类问题
    • 回归问题
    • 关联问题
  • 模型集成
  • 模型评估
    • 评估指标
    • 混淆矩阵与标准率指标
    • 泛化能力评估

什么是数据挖掘

数据挖掘就是寻找数据中隐含的知识并用于生产产业价值。我们在数据中(尤其在大量的数据中)找到一些价值。

##数挖掘有什么用处?

数据挖掘是一种方法,就用它去解决一些问题,比较常见的问题有

1.分类问题

分类问题就是判断一个事物是否符合相关的标准,如判断一条新闻是社会新闻还是时政新闻,就是对已知类别的数据进行学习,为新的内容注明一个类别。

2.聚类问题

聚类与分类不同,聚类的类别预先是不清楚的。聚类就是要去发现这些类别,适合一些不确定的类别场景。

3.回归问题

简单来说,回归问题可以看作解线性方程,最大的特点就是生成的结果是连续的,而分类和聚类的结果是分散的。

通过使用回归的方法构建一个模型拟合已知的数据,然后测量因变量的结果。

数据挖掘相关的标准库

python的标准库是其核心的扩展,有两个能帮助学习的常用包的方法:

在这里插入图片描述

第三方库

  • 基础模块
名称含义
NumPyPython 语言扩展程序库,支持大量的维度数组与矩阵运算。
SciPy集成了数学、科学和工程的计算包, 它用于有效计算 Numpy 矩阵,使 Numpy 和 Scipy 协同工作。
Matplotlib专门用来绘图的工具包,可以使用它来进行数据可视化。
pandas数据分析工具包,它基于 NumPy 构建,纳入了大量的库和标准数据模型。
  • 机器学习

    机器学习常用的库也有 4 个,包含了基础数据挖掘、图像处理与自然语言处理常用算法。它们可以支撑 日常工程中的常见算法处理方案

名称含义
scikit-learn基于 SciPy 进行延伸的机器学习工具包,包含大量的机器学习算法模型,有 6 大基本 功能:分类、回归、聚类、数据降维、模型选择和数据预处理。
OpenCV非常庞大的图像处理库,实现了非常多的图像和视频处理方法,如图像视频加载、基 础特征获取、边缘检测等,处理图像通常都需要其支持。
NLTK比较传统的自然语言处理模块,自带很多语料,以及全面的传统自然语言处理算法, 比如字符串处理、卡方检验等,非常适合自然语言入门使用。
Gensim包含了浅层词嵌入的文本处理模块,以及常用的自然语言处理相关方法,如 TF-IDF、 word2vec 等模型。
  • 深度学习平台

    平台名称开发平台优点
    TensorFlow谷歌相对成熟、应用广泛、服务全面、提供学习视频和其认证计划。
    PyTorchFacebook支持更加快速地构建项目。
    PaddlePaddle百度中文文档全面,对于汉语的相关模型比较丰富。

数据挖掘

根据前人总结的方法论,我们在开始做数据挖掘的时候需要有一些准备。

在这里插入图片描述

模型训练

对于要解决的问题往往有共同点,针对每一类型的问题,就可以用相对应的算法,比如

分类问题

比如:电影质量是好还是差,风险内容是有风险还是无风险,情感是正向的还是负向的。

分类是有监督的学习过程,分类问题首先要有一批已经有标签结果的数据,经过分类算法的学习,就可以预测新的数据和新的未知数据的分类。如果缺少这些数据信息,就没有办法进行分类,就要考虑使用其他的算法,如聚类算法。或者处理数据,通过人工进行标注。

分类方法中包含3中情况:

  • 二分法 :这是最简单的一种,问题答案只有“是”,“否”。在处理用户内容时,首先要做一个较大的判断。eg:判断一群人是否是旅游的
  • 多分类 :在二分类的基础上,将标签可选范围扩大。要给一条内容标注它的玩法,那种类就有很多种了,eg:跑步,游泳,登山,骑车等等
  • 多标签分类 :在多分类的基础上再升级的方法。对于二分法和多分类,一条内容最后的结果只有一个,标签之间是互斥的关系。但是多标签分类下的一条数据可以被标注上多个标签。eg:一个人可以打篮球,也可以踢足球,还可以跑步。这两者并不冲突

由于分类问题众多,所以用来解决分类问题的算法也非常多,比如:KNN算法,决策树算法,随机森林,SVM等等,都可以解决分类问题。

聚类问题

跟聚类不同,聚类是无监督的,简单来说就是,只知道一些数据,而且需要为这些数据分类,划分的类有多少个不清楚,数量的基数很大。

聚类就是要划分小组,通常小组之间可能有4中情况:

  • 互斥:小组和小组之间没有交集,只能存在于一个小组中。划分的方法通常用于互斥的小组,划分的方法就好像在数据之间画几条线,把数据分成几个小组。划分完之后,数据都会有自己的类别。
  • 相交:小组和小组之间有交集。可以使用基于密度的聚类,用来解决数据形状不均匀的情况,有些数据集分布并不均匀,而 是呈现不规则的形状,而且组和组之间有一片空白区域,这个时候用划分的方法就很难处理,但是 基于密度的聚类不会受到分布形状的影响,只是根据数据的紧密程度去聚类。
  • 层次:一个大组还可以细分成若干个小组,包含的关系。基于层次的聚类,需要使用对数据细分情况
  • 模糊:一个用户并不绝对属于某个小组,只是用概率来表示某个小组的关系。 这种聚类方法首先假设我们的数据符合某种概率分布模型,比如说 高斯分布或者正态分布, 那么对于每一种类别都会有一个分布曲线,然后按照这个概率分布对数 据进行聚类,从而获得模糊聚类的关系。

回归问题

与分类十分相似,都是根据已知的数据去学习,然后为新的数据进行预测,不同的地方是,分类方法输出的结果是离散的,回归的方法输出的结果是连续的

在这里插入图片描述

这张图说明不管是线性的还是非线性的数据,都可以使用回归分析。

可以看到,数据散落在坐标系上,通过学习你可以得到一条线,较好地拟合了这些数据。这条线可能不 通过任何一个数据点,而是使得所有数据点到这条线的距离都是最短的,或者说是损失最小的。根据这 条线,如果给出一个新的 x,那么你就能算出对应的 y 是多少。

关联问题

关联问题的方法就是关联分析,这是一种无监督学习,它的目标就是挖掘隐藏在数据中的关联模式并加以利用,分析关联是要在已有的数据中寻找数据的相关关系,所以,关联分析被广泛地用于各种商品销售分析、相关推荐系统分析、用户行为分析等情况。

模型集成

每个问题都可以通过相应的机器学习算法来进行解决。但 是,在实践的时候,很多问题不是靠一个算法、一个模型就能解决的,往往要针对具体的细节使用多个 模型以获得最佳效果,所以就要用到模型集成。

模型集成也叫做集成学习,就是整合多个模型来提升整体的效果。

既然是要合并多个模型,那么很容易想到训练多个并列的模型,或者串行地训练多个模型。

  • Bagging(装袋法): 比如多次随机抽样构建训练集,每构建一次,就训练一个模型,最后对多 个模型的结果附加一层决策,使用平均结果作为最终结果。随机森林算法就运用了该方法,

在这里插入图片描述

  • Boosting(增强法): 这个就是串行的训练,即每次把上一次训练的结果也作为一个特征,不断 地强化学习的效果

在这里插入图片描述

  • Stacking(堆叠法): 这个方法比较宽泛,它对前面两种方法进行了扩展,训练的多个模型既可 以进行横向扩展,也可以进行串行增强,最终再使用分类或者回归的方法把前面模型的结果进行整 合。其中的每一个模型可以使用不同的算法,对于结构也没有特定的规则。所以,在使用堆叠法时,就需要你在具体业务场景中不断地去进行尝试和优 化,以达到最佳效果。

模型评估

评估指标

混淆矩阵与标准率指标

标准率相关指标是在模型评估时最受关注的指标,它直接反映了一个模型对于样本数据的学习情况,是一种标准化的检验。

我们把这 1000 张图放进分类器进行分类计算,每张图都会得到一个预测结果,通过对预测结果的统计 可以知道,被模型预测为 “是” 的图片有 770 张,被模型预测为 “否” 的图片有 230 张。这个时候每张图 上会有两个结果:一个人工标注结果、一个模型预测结果。根据这两个数据的统计,可以得到一个混淆 矩阵:

样本 1000 份模型预测:是模型预测:否
人工标注:是745(TP)55(FN)
人工标注:否25(FP)175(TN)

矩阵中包含以下 4 种数值:

  1. 真阳性(True Positive,TP):小猪图被判定为小猪图。样本的真实类别是正例,并且模型预测的 结果也是正例(在本案例中此数值为 745)。
  2. 真阴性(True Negative,TN):不是小猪图被判定为不是小猪图。样本的真实类别是负例,并且 模型将其预测成为负例(在本案例中此数值为 175)。
  3. 假阳性(False Positive,FP):不是小猪图被判定为小猪图。样本的真实类别是负例,但是模型将 其预测成为正例(在本案例中此数值为 25)。
  4. 假阴性(False Negative,FN):小猪图被判定为不是小猪图。样本的真实类别是正例,但是模型 将其预测成为负例(在本案例中此数值为 55)。

泛化能力评估

泛化能 力反映的是模型对未知数据的判断能力,因为在数据挖掘中,数据的维度 通常有很多,而且数据也都是非标准值,任意记录之间的数据都会存在着差异,所以泛化能力好的模型 在数据存在着波动的情况下,仍然能够做出正确的判断。

  • 过拟合与欠拟合

我们通过两个指标可以评估模型的泛化能力是好还是坏,那就是过拟合(overfitting)和欠拟合 (underfitting)。

过拟合:模型在训练集上表现良好,而在测试集或者验证集上表现不佳。这就是说,模型对样本学习有 些过度了,已经进入了死记硬背的程度,而不是掌握了普适规律,这个时候可以说泛化能力比较差。

欠拟合:在训练集和测试集上的表现都不好。这就是说模型连最基本的内容都没有学到,比如老师教你 1+1=2、1+2=3,考试也考 1+1=2,结果还是做错了。

eg:通常情况下,我们的小猪图都像左侧一样,右侧有两张图,上面一张可以看出仍然是小猪图,但是后背 上的线条有一个缺口,如果此时模型告诉我们,这个后背上有个缺口,这不是小猪图,那么这时就出现 了过拟合(判断条件过于苛刻)。右下侧是一张小羊图,如果模型告诉我们这个也有四条腿,这个是小 猪,那就是欠拟合(特征学习不完全)。

考试也考 1+1=2,结果还是做错了。

eg:通常情况下,我们的小猪图都像左侧一样,右侧有两张图,上面一张可以看出仍然是小猪图,但是后背 上的线条有一个缺口,如果此时模型告诉我们,这个后背上有个缺口,这不是小猪图,那么这时就出现 了过拟合(判断条件过于苛刻)。右下侧是一张小羊图,如果模型告诉我们这个也有四条腿,这个是小 猪,那就是欠拟合(特征学习不完全)。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是数据挖掘 的相关文章

  • Python脚本之ZIP文件压缩、解压

    本文为博主原创 xff0c 未经许可严禁转载 本文链接 xff1a https blog csdn net zyooooxie article details 114632112 最近在翻看Python的官方文档 xff0c https d
  • 对文本和数据进行处理之awk编程

    转载地址 xff1a 点击打开链接 awk 是一种编程语言 xff0c 用于在Linux unix下对文本和数据进行处理 数据可以来自标准输入 stdin 一个或多个文件 xff0c 或其它命令的输出 它支持用户自定义函数和动态正则表达式等
  • Ubuntu20.04在vsCode配置opencv

    一 下载opencv xff1a https opencv org releases 我下载的为opencv4 5 4版本 xff0c 可以直接下载 zip文件 xff0c 可以选择其他版本 Sources版本即为 zip版本 xff1a
  • UISearchController使用中的几个坑和一个知识点

    坑1 点击搜索框后 xff0c 搜索框上移到屏幕之外了 不多说了 xff0c 都是坑 因为我之前设置了 UINavigationBar appearance 61 false 把这个去掉好了 坑2 搜索时搜索框和UITableview中间有
  • 深度学习环境搭建(四)之 CUDNN安装

    安装完CUDA Driver和CUDA后 xff0c 还需要安装CUDNN xff0c NVIDIA用于深度学习GPU加速的库 1 下载CUDNN 访问官网链接 xff0c 根据CUDA版本和Ubuntu版本选择CUDNN的版本 前面使用的
  • NMAP 六种端口状态解读

    NMAP 简介 nmap 是一款功能非常强大的扫描工具 xff0c 不仅能对端口扫描 xff0c 还可以在扫描中指定自定义的标志位 xff0c 对自己的 IP 地址进行隐藏伪装为别的 IP 地址 xff0c 还可以根据 nmap 数据库 x
  • IP ID idle 扫描

    IP ID idle 扫描简单介绍 在1998年的时候 xff0c 一个名叫 Antirez 的工程师 xff0c 发现了这种扫描技术 xff0c 攻击者可以通过不直接向目标主机发送报文的形式 xff0c 进行端口扫描 xff0c 而是通过
  • CentOS下编译Linux内核

    前言 编译内核是一项很简单的事情 xff0c 但却是进入Linux内核世界的第一步 xff0c 想要开发内核代码 xff0c 想要了解内核的运行机制 xff0c 第一步就是编译Linux内核 xff0c 以下是在centos7 5环境下编译
  • CentOS下快速升级gcc版本

    前言 很多时候由于gcc版本过低问题 xff0c 导致我们举步维艰 xff0c 从gcc官网下载源码编译又比较费时费力 xff0c 今天我就给大家分享一个快速升级gcc的方法 升级到gcc 6 3 xff1a devtoolset 6已经结
  • Linux带宽测试

    iperf是linux下一款非常实用的测带宽工具 xff0c 是C S模型的 xff0c 支持使用TCP和UDP测试 xff0c 可以测试带宽 xff0c 丢包 xff08 丢包指的是UDP的丢包 xff0c TCP丢包会重传 xff09
  • initramfs详解-----初识initramfs

    为什么需要initramfs 在Linux内核被加载到内存并运行后 xff0c 内核进程最终需要切换到用户太的进程来使用计算机 xff0c 而用户进程又存在于外存储设备上 xff0c 比如systemd进程 xff0c 通常systemd进
  • 抓包展示vlan报文(8021Q)

    VLAN数据帧格式 要使交换机能够分辨不同VLAN的报文 xff0c 需要在报文中添加标识VLAN信息的字段 IEEE 802 1Q协议规定 xff0c 在以太网数据帧的目的MAC地址和源MAC地址字段之后 协议类型字段之前加入4个字节的V
  • KVM NAT 模型

    目录 NAT原理 virbr0与virbr0 nic virbr0 nic作用 关于kvm中的网桥和virbr0 nic网卡需注意以下几点 xff1a NAT原理 virbr0与virbr0 nic zyq 64 zyq ip a 6 vi
  • Linux查看实时网卡流量的几种方式

    工作中 xff0c 我们经常需要查看服务器的实时网卡流量 通常 xff0c 我们会通过这几种方式查看Linux服务器的实时网卡流量 1 sar n DEV 1 2 sar命令包含在sysstat工具包中 xff0c 提供系统的众多统计数据
  • NUMA详解

    目录 NUMA简介 NUMA开启与关闭 查看系统是否支持 关闭方法 numactl hardware介绍 没有安装numactl工具下查看NUMA架构节点数 xff1a 查看每个NUMA节点的CPU使用情况 xff1a 看每个NUMA节点的
  • OpenStack中的CPU与内存超分详解

    目录 什么是超分 CPU超分 查看虚拟机虚拟CPU运行在哪些物理CPU上 内存超分 内存预留 内存共享 如何设置内存预留和内存共享 全局设置 临时设置 什么是超分 超分通常指的是CPU或者GPU的分区或者分割 xff0c 以在一个物理CPU
  • docker 官方的镜像大多基于debian,但是官方源apt-get update更新失败,如何更换成中国源

    一开始创建容器的时候就应该更换成国内数据源 xff0c 可是我的镜像源在经历重启后 xff0c 回归到官方镜像源 xff0c 当想安装别的linux命令时 xff0c 异常缓慢 xff0c 安装不上 这种情况就是镜像源导致 镜像源可以在容器
  • MySQL学习笔记(11)——创建视图

    11 视图 11 1 创建视图 创建视图的语法 创建视图使用CREATE VIEW语句 xff0c 基本语法格式如下 xff1a span class token keyword create span span class token p
  • Java 实现天气预报

    效果图 1 登录高德地图API开放平台 天气查询 API文档 开发指南 Web服务 API 高德地图API 2 用户在高德地图官网申请web服务API类型KEY 3 天气查询 天气查询API服务地址 xff1a URL https rest

随机推荐

  • 数学建模学习(1)———— 逻辑回归的使用和案例(2022.7.18)

    许多数学建模的使用基本都是一元线性回归 xff0c 和多元线性回归开始 xff0c 但由于经常看关于这两个东西 xff0c 实在不想从这开始整理笔记 xff0c 等后面印象不深后在整理过 文章目录 目录 文章目录 一 逻辑回归介绍 二 逻辑
  • Windows下python和pip的环境配置 ---转载

    本文转载于 xff1a http www cnblogs com yuanzm p 4089856 html 非常感谢原文作者的博文 xff0c 帮助了我学习的不少困惑 这篇文章作为学习使用Python的第一篇文章 xff0c 如何安装Py
  • GreenHills的使用及常用技巧

    GreenHills作为世界知名第三方调试工具支持市面上几乎所有芯片 V850调试工具有多种选择 当时项目使用Greenhills作为编译调试工具让我见识到了专业工具的强大 本文以KPIT AutoSAR的PORT模块为例介绍GreenHi
  • LaTeX 中处理参考文献的三种方法总结

    LaTeX 中处理参考文献的三种方法总结 方法一 xff1a 用BibLaTeX处理 分成如下四步 xff1a 第一步 xff1a 制作生成bib文件 xff1b 第二步 xff1a 在导言区需要加入biblatex宏包 xff1a use
  • mysql8之SSL加密

    新发现 xff1a 安装Mysql8后 xff0c 查看datadir 文件多了不少 xff0c 发现都是SSL加密对应得文件 pem pwd ls l pem data mysqldata rw 1 mysql mysql 1676 3月
  • mysql常用算法积累

    1 mysql计算百分比 使用sum函数 xff0c 如下 xff1a SELECT COUNT AS 总数 SUM CASE WHEN 96 匹配情况 96 61 1 THEN 1 ELSE 0 END AS 总匹配数 SUM CASE
  • Shell知识点回顾

    shell基本的语法 xff1a 定义变量 xff1a key 61 value 注意 xff1a 等号两边不能有空格 xff0c 使用字母数字下划线命名 xff0c 但是不能以数字开发头 xff0c 系统变量建议全大写字母 撤销变量使用的
  • PVE一些记录

    目录 1 简介 2 qm Qemu KVM 虚拟机管理器 3 vmdk img raw转qcow2 4 PVE网卡直通 5 一些位置映射 6 外挂硬盘操作参考 7 查看 修改ip 1 简介 PVE是基于debian的系统 xff0c 使用a
  • ARM架构 Linux 安装 gitlab

    Docker 安装 GitLab 由于 GitLab 官网上下载提供的全是 x86 架构的 xff0c 因此需要安装 ARM 的就需要自己通过源码编译 xff0c 编译的过程也比较繁琐 xff0c 这里使用的则为 Docker 镜像安装 x
  • debian下创建新用户useradd

    1 使用sudo sudo useradd m abc g sudo s bin bash d home abc sudo passwd abc 2 直接在root用户下 xff1a groupadd abc useradd m abc g
  • 第11周 动态规划二

    11 1 买房问题 题目描述 xff1a 蒜头君从现在开始工作 xff0c 年薪 N 万 他希望在蒜厂附近买一套 60平米的房子 xff0c 现在价格是 200 万 假设房子价格以每年百分之 K 增长 xff0c 并且蒜头君未来年薪不变 x
  • IntelliJ IDEA必须使用最新jdk问题解决

    最近碰见一个问题 xff0c 公司的项目大部分是jdk1 7的 xff0c 然后下了最新的IntelliJ IDEA居然需要1 8才能启动 xff0c 这就尴尬了 难道要改java home xff1f 上网搜了下 xff0c 在一个评论区
  • Win7上从硬盘安装Debian

    最近一直想将笔记本搞成Win7 43 Debian双系统 xff0c 因为不管如何优化 xff0c 2G内存的Win7笔记本上开个Linux虚拟机都实在吃力 经过一段时间的资料搜索 xff0c 并阅读Debian官方的安装文档 xff0c
  • 深度探索C++对象模型

    深度探索C 43 43 对象模型 参考链接 第1章 关于对象 Object Lessons C 43 43 的额外成本三种对象模型简单对象模型表格驱动对象模型C 43 43 对象模型 class和struct关键字的差异三种编程典范一个类的
  • 用单片机控制直流电机

    一 设计方案比较与分析 xff1a 1 电机调速控制模块 xff1a 方案一 xff1a 采用电阻网络或数字电位器调整电动机的分压 xff0c 从而达到调速的目的 但是电阻网络只能实现有级调速 xff0c 而数字电阻的元器件价格比较昂贵 更
  • python-类

    面向对象 在编程语言中 xff0c 我们将变量看成数据 xff0c 它用来存储多种形式的值 xff1b 我们将函数看成操作 xff0c 它用来对数据进行某些处理 所有的代码都由数据和操作构成 xff0c 程序运行的本质就是对数据进行各种操作
  • 求模逆元算法的C/C++实现

    include lt stdio h gt Name Copyright Author 64 dujianjian Date 01 11 12 11 26 Description 递归 三元组gcd a b 61 61 ax 43 by 6
  • python显示当前时间

    1 先导入库 xff1a import datetime 2 获取当前日期和时间 xff1a now time 61 datetime datetime now 3 格式化成我们想要的日期 xff1a strftime xff08 xff0
  • pandas中Series的使用

    文章目录 pandas的应用创建Series对象索引花式索引布尔索引Series对象的常用属性describe 方法 xff1a value count 方法unique 方法数据处理的方法 isnull 和notnull dropna 和
  • 什么是数据挖掘

    文章目录 什么是数据挖掘1 分类问题2 聚类问题3 回归问题 数据挖掘相关的标准库 数据挖掘模型训练分类问题聚类问题回归问题关联问题 模型集成模型评估评估指标混淆矩阵与标准率指标泛化能力评估 什么是数据挖掘 数据挖掘就是寻找数据中隐含的知识