数据挖掘体系介绍

news2024/9/21 23:42:24

数据挖掘是什么?

简而言之,对数据进行挖掘,从中提取出有效的信息。一般我们会把这种信息通过概念、规则、规律、模式等有组织的方式展示出来,形成所谓的知识。特别是在这个大数据时代,当数据多到一定程度,统计学原理会让一些内在的、不易察觉的规律慢慢放大、展示出来,而数据挖掘,就是希望在这种大数据背景下,以一种更加高效的方式,找到这些潜在的规律。

数据挖掘怎么做?

数据挖掘的基本流程可以总结为以下几个阶段:数据探索、数据预处理、数据建模、模型评估和模型部署应用。

数据探索

  1. 目的:了解和熟悉数据集的基本特征,包括数据的分布、类型和潜在的问题。
  2. 方法:使用统计分析和可视化手段,如散点图、直方图和盒图,以识别数据中的模式、异常值和相关性。
  3. 重点:评估数据的质量和适用性,确定是否需要额外数据。

数据预处理

  1. 目的:清洗和准备数据,以便于建模。
  2. 方法:
  • 数据清洗:处理缺失值、异常值和重复数据。
  • 数据转换:标准化、归一化和离散化。
  • 数据降维:通过主成分分析(PCA)等方法减少数据集的维度。
  1. 重点:提高数据的质量,确保模型训练的准确性和效率。

数据建模

  1. 目的:应用统计或机器学习算法来构建预测或分类模型。
  2. 方法:
  • 选择合适的算法,如决策树、神经网络或支持向量机。
  • 使用训练数据集训练模型。
  1. 重点:寻找最适合数据特征和业务需求的模型。

模型评估

  1. 目的:验证模型的性能和准确性。
  2. 方法:
  • 使用测试数据集对模型进行评估。
  • 应用各种评估指标,如准确率、召回率、F1分数和ROC曲线。
  1. 重点:确保模型具有良好的泛化能力,即在新数据上的表现。

模型部署应用

  1. 目的:将训练好的模型应用于实际问题中。
  2. 方法:
  • 集成模型到生产环境。
  • 实施持续监控和维护,确保模型的稳定性和效能。
  1. 重点:实现模型的实际应用,提供持续的支持和优化。

数据预处理的多种方法

数据预处理是数据挖掘流程中至关重要的环节,其目的在于将原始数据转换成更适合分析的形式,以提高后续建模的效果和准确性。详细介绍数据预处理的各个方面如下:

数据清洗:

  • 处理缺失值:缺失值的处理方法取决于缺失的原因和数据的类型。常见的处理方式包括使用均值、中位数或众数填充、使用模型预测缺失值,或者简单地删除含有缺失值的记录。在一些情况下,缺失本身也可能是一个重要的信号,可以将其编码为一个特定的值。
  • 处理异常值:异常值可能是由于错误的数据输入、测量错误或其他偏差造成的。可以通过箱线图或标准差方法识别异常值。处理方法包括删除异常值、进行数据转换(如对数转换),或用统计方法(如平均值)替换。
  • 消除重复数据:重复数据可能导致分析结果的偏差。通过识别和删除重复记录,可以确保数据的一致性和准确性。

数据转换:

  • 规范化/标准化:这是将数据转换成通用格式的过程,例如将所有的日期格式统一,或者将温度值从摄氏度转换为华氏度。
  • 标准化/归一化:特别在处理涉及多个不同规模和分布的变量的数据时非常重要。Z得分标准化(使数据具有均值为0,标准差为1)和Min-Max归一化(将数据缩放到特定的范围,如0到1)是常见的方法。
  • 离散化:这是将连续变量转换成离散变量的过程。例如,年龄可以被分为不同的年龄段,如“儿童”、“青少年”、“成人”和“老年”。

数据降维:

  • 特征选择:从原始数据中选择最相关和有意义的特征,以减少数据的维度和复杂性。这可以通过相关性分析、信息增益等统计方法来实现。
  • 特征提取:通过数学变换从原始特征中提取新的特征集合。例如,主成分分析(PCA)是一种常用的特征提取方法,它通过正交转换将可能相关的变量转换为一组线性不相关的变量。

数据编码:

  • 独热编码(One-Hot Encoding):这是一种处理类别型数据的方法,其中每个类别值被转换成一个二进制列。
  • 标签编码(Label Encoding):这是将类别标签转换为一个序列的数值的方法,常用于标记具有顺序意义的类别数据。

时间序列数据处理:

对于时间序列数据,预处理可能包括平滑处理、季节性和趋势去除、时间窗口的选择等。这些步骤有助于识别和强化数据中的重要模式和结构。

文本数据处理:

对于文本数据,预处理步骤可能包括词干提取、停用词去除、词袋模型或TF-IDF转换。这些步骤将非结构化的文本数据转换为结构化的数值格式,便于进一步的分析和建模。

特征选择

特征选择的目的是从原始数据中选择出最有用的特征,以提高模型的性能和准确度。信息熵和信息增益是两种常用于特征选择的方法

信息熵(Entropy)

信息熵是衡量数据集纯度或混乱程度的指标,是所有可能事件产生的信息量的期望值。它在决策树算法中用来衡量一个系统的无序程度。信息熵越高,数据的不确定性越大。

公式

设随机变量 X X X n n n 个可能的取值,每个值的概率分别为 p 1 p_1 p1, p 2 p_2 p2, … \dots , p n p_n pn,则 X X X 的信息熵 H ( X ) H(X) H(X) 定义为:
H ( X ) = − ∑ i = 1 n p i log ⁡ 2 p i H(X) = -\sum_{i=1}^{n} p_i \log_2 p_i H(X)=i=1npilog2pi

信息增益(Information Gain)

信息增益衡量使用特征分割数据集前后信息熵的变化。在决策树中,它用来确定哪个特征最适合用于分割数据集。信息增益越大,意味着使用该特征分割得到的纯度提升越大。

公式

设 D 为待分割的数据集,其信息熵为 H ( D ) 。使用特征 A 分割 D 后得到 m 个子集 D 1 , D 2 , … , D m ,特征 A 对于数据集 D 的信息增益 I G ( D , A ) 定义为: 设 D 为待分割的数据集,其信息熵为 H(D) 。使用特征 A 分割 D 后得到 m 个子集D_1, D_2, \ldots, D_m,特征 A 对于数据集 D 的信息增益 IG(D, A) 定义为: D为待分割的数据集,其信息熵为H(D)。使用特征A分割D后得到m个子集D1,D2,,Dm,特征A对于数据集D的信息增益IG(D,A)定义为:

I G ( D , A ) = H ( D ) − ∑ j = 1 m ( ∣ D j ∣ ∣ D ∣ ⋅ H ( D j ) ) IG(D, A) = H(D) - \sum_{j=1}^{m} \left( \frac{|D_j|}{|D|} \cdot H(D_j) \right) IG(D,A)=H(D)j=1m(DDjH(Dj))

其中, ∣ D j ∣ 是子集 D j 中的样本数, ∣ D ∣ 是数据集 D 中的总样本数, H ( D j ) 是子集 D j 的信息熵。 其中, |D_j| 是子集 D_j 中的样本数, |D| 是数据集 D 中的总样本数, H(D_j) 是子集 D_j 的信息熵。 其中,Dj是子集Dj中的样本数,D是数据集D中的总样本数,H(Dj)是子集Dj的信息熵。

通过计算每个特征的信息增益,可以选择增益最大的特征进行数据分割。

属性最优子集(Feature Subset Search)

属性最优子集选择的主要任务是从所有可能的特征组合中找出最佳的一个或几个子集。这涉及到评估每个特征子集的有效性,并选择最能提高模型性能的那个。

递归特征消除(RFE)

递归特征消除(RFE)是一种包装方法,它递归地考虑越来越小的特征集来选择特征。RFE首先训练一个模型并对每个特征评分,然后去除最不重要的特征,再次训练模型,重复这个过程,直到达到指定的特征数量。

from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 创建一个逻辑回归分类器
model = LogisticRegression()

# RFE
rfe = RFE(model, n_features_to_select=3)
fit = rfe.fit(X, y)

# 输出结果
print("Num Features: %s" % (fit.n_features_))
print("Selected Features: %s" % (fit.support_))
print("Feature Ranking: %s" % (fit.ranking_))

分类问题与过拟合

  1. 分类问题与过拟合
    数据分为测试集和训练集,先训练集来生成模型,再用测试集来验证模型
    强调了将数据分为测试集和训练集的重要性。这种分割有助于评估模型的泛化能力和避免过拟合。
    避免过拟合的策略:正则化、交叉验证和选择合适的模型复杂度。这些策略可以帮助确保模型不仅在训练数据上表现良好,而且能够有效地泛化到新的数据集。
  2. confusion matrix(混淆矩阵)
    混淆矩阵被提及作为一种有效的评估工具,它可以展示模型在不同类别上的性能,包括真正例、假正例、真反例和假反例。
    在这里插入图片描述

cost-sensitive learning代价敏感学习、lift analysis提升度分析

代价敏感学习和提升度分析是评估和改进模型性能的重要工具。

  1. 代价敏感学习侧重于识别和处理不同类型错误(如假阳性和假阴性)的代价。这意味着在训练模型时,考虑到不同错误的经济或其他成本,以优化模型的整体性能。
  2. 提升度分析则用于衡量模型相比于随机选择或无信息基线的改进程度。通过提升度分析,可以评估模型在实际应用中的效用,特别是在营销和风险评估等领域。
    在这里插入图片描述

评价指标

在数据挖掘和机器学习中,评价指标用于衡量模型的性能。

  1. 准确性(Accuracy):模型预测正确的比例。准确性是最直观的性能指标,适用于类别分布均衡的场景。

    A c c u r a c y = N u m b e r   o f   c o r r e c t   p r e d i c t i o n s T o t a l   n u m b e r   o f   p r e d i c t i o n s Accuracy = \frac{Number\ of\ correct\ predictions}{Total\ number\ of\ predictions} Accuracy=Total number of predictionsNumber of correct predictions

  2. 精确性(Precision):正确预测为正的实例占所有预测为正的实例的比例。精确性在需要最小化误报(比如垃圾邮件检测中误判为垃圾邮件的正常邮件)的场景中非常重要。
    P r e c i s i o n = T r u e   P o s i t i v e s T r u e   P o s i t i v e s + F a l s e   P o s i t i v e s Precision = \frac{True\ Positives}{True\ Positives + False\ Positives} Precision=True Positives+False PositivesTrue Positives

  3. 召回率(Recall):正确预测为正的实例占实际正实例的比例。召回率在需要最小化漏报(如疾病筛查中漏诊病例)的情况下特别重要。
    R e c a l l = T r u e   P o s i t i v e s T r u e   P o s i t i v e s + F a l s e   N e g a t i v e s Recall = \frac{True\ Positives}{True\ Positives + False\ Negatives} Recall=True Positives+False NegativesTrue Positives

  4. F1分数(F1 Score):精确性和召回率的调和平均值,是一个综合考虑精确性和召回率的指标。F1分数在类别不平衡的情况下尤其有用,因为它同时考虑了误报和漏报。
    F 1   S c o r e = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1\ Score = 2 \times \frac{Precision \times Recall}{Precision + Recall} F1 Score=2×Precision+RecallPrecision×Recall

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

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

相关文章

shell 数组的详细用法

简介 数组是一种数据结构,用于存储和处理一组相关的数据元素。数组可以包含多个值,每个值都有一个索引,用于标识和访问它们。 目录 1. 数组的基本用法 1.1. 定义数组的方式 1.1.1. 直接赋值 1.1.2. declare声明数组 1.1.3. 索引赋值 1.…

山景DU561—32位高性能音频处理器(DSP)芯片

音频处理可以更好地捕捉和处理声音和音乐;而DSP音频处理芯片是一种利用数字信号处理技术进行音频处理的专用芯片;可用于多种应用,从音乐拾音到复杂的音频信号处理,和声音增强。 由工采网代理的山景DU561是一款集成多种音效算法高…

YOLOv5改进 | 卷积篇 | 通过RFAConv重塑空间注意力(深度学习的前沿突破)

一、本文介绍 本文给大家带来的改进机制是RFAConv,全称为Receptive-Field Attention Convolution,是一种全新的空间注意力机制。与传统的空间注意力方法相比,RFAConv能够更有效地处理图像中的细节和复杂模式(适用于所有的检测对象都有一定的…

CentOS安装Python解释,CentOS设置python虚拟环境,linux设置python虚拟环境

一、安装python解释器 1、创建解释器安装的目录:/usr/local/python39 cd /usr/local mkdir python39 2、下载依赖 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel xz-devel …

MyBatis——MyBatis的ORM映射和MyBatis的配置文件升级

1.MyBatis的ORM映射 拷贝之前的工程: 1.1.什么是ORM映射 MyBatis只能自动维护库表”列名“与”属性名“相同时的对应关系,二者不同时无法自动ORM,如下: 1.2.列的别名 在SQL中使用 as 为查询字段添加列别名,以匹配…

Gin之GORM事务(转账操作)

禁用默认事务的操作 为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面的要求,您可以在初始化时禁用它,这将获得大约 30%+ 性能提升。 // 全局禁用 db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{SkipDef…

CCF编程能力等级认证GESP—C++6级—20230923

CCF编程能力等级认证GESP—C6级—20230923 单选题(每题 2 分,共 30 分)判断题(每题 2 分,共 20 分)编程题 (每题 25 分,共 50 分)小杨买饮料小杨的握手问题 答案及解析单选题判断题编程题1编程题…

FAVDICE - Favorite Dice

题意:n个面的骰子,问期望骰多少次可以将所有n个面都骰到 思路:期望dp 状态表示:dp[i]代表已经骰出了i个面,还需要期望骰dp[i]次才能将n个面都骰到 状态转移:对于dp[i]我们考虑两种情况: 1、…

python flask+vue实现前后端图片上传

python flaskvue实现前后端图片上传 vue代码如下&#xff1a; <template><div><input type"file" change"handleFileChange"/><button click"uploadFile">上传</button><br><img :src"imageUrl&…

使用python免费调用Google发布的Gemini双子座大模型API

上期文章,我们介绍了google发布的Gemini双子座大模型,现在google开放了gemini-pro与gemini-pro- vision2个版本的API接口。 其中gemini-pro模型类似与ChatGPT,是一个文本输入输出聊天模型,而vision模型,顾名思义是一个多模态模型,可以支持图片与文本的输入。 我们进入如…

指定每个子字符串长度L将字符串S分割为多个长度最长为L的子字符串textwrap.wrap(s,L)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 指定每个子字符串长度L 将字符串S分割为多个 长度最长为L的子字符串 textwrap.wrap(s,L) [太阳]选择题 请问以下代码最后输出的结果是&#xff1f; import textwrap a "You are…

OpenCV-9颜色空间的转换

颜色转换API&#xff1a;cvtColor&#xff08;img&#xff0c;colorsapce&#xff09; cvt含义为转换 convesion(转换) 下面为示例代码&#xff1a; import cv2# callback中至少有一个参数 def callback(value):passcv2.namedWindow("color", cv2.WINDOW_NORMAL) …

Python - 深夜数据结构与算法之 Map Set

目录 一.引言 二.Map 与 Set 1.Hash Table 2.Hash Function 3.Hash Collisions 4.Java/Python Code 三.经典算法实战 1.Two-Sum [1] 2.Group-Anagrams [49] 3.Valid-Anagram [242] 四.总结 一.引言 前面介绍了列表 List 及其衍生的栈 Stack 与队列 Queue&#xff0…

SMART PLC MODBUS-RTU通信(多台同一设备通信优化写法)

MODBUS通信基础介绍请查看下面文章链接: https://rxxw-control.blog.csdn.net/article/details/133755924https://rxxw-control.blog.csdn.net/article/details/133755924多台同一设备的MODBUS-RTU通信,我们在编写轮询程序的时候,可以采用站号变址的方式实现。 1、轮询状态…

【漏洞复现】CVE-2023-6895 IP网络对讲广播系统远程命令执行

漏洞描述 杭州海康威视数字技术有限公司IP网络对讲广播系统。 海康威视对讲广播系统3.0.3_20201113_RELEASE(HIK)存在漏洞。它已被宣布为关键。该漏洞影响文件/php/ping.php 的未知代码。使用输入 netstat -ano 操作参数 jsondata[ip] 会导致 os 命令注入。 开发语言:PHP 开…

Java算法(十):【数据结构与算法】之 冒泡排序 详细流程图和源代码实现

冒泡排序 public static void main(String[] LiuJinTao) {// 1、冒泡排序int [] arr {22, 44, 33, 55, 11};for (int i 0; i < arr.length -1; i) {for (int j 0; j < arr.length - 1 - i; j) {if (arr[j] > arr[j 1]) {int temp arr[j];arr[j] arr[j 1];arr[j…

数字图像处理 基于Numpy、PyTorch在频率空间中建模运动模糊

一、简述 运动模糊在图像中很常见,它会降低图像的价值,因为它会破坏图像中包含的数据。在计算机视觉中,通常通过使用许多不同的模糊增强来训练神经网络以适应这种模糊。建模模糊或图像退化的概念来自图像恢复,这是逆转退化影响的过程,以便人类或算法可以辨别原始捕获的数据…

【技术前沿】数字孪生技术助推城市智慧供热:探讨换热站3D可视化的创新之路

换热站作为供热系统不可或缺的一部分&#xff0c;其能源消耗对城市环保至关重要。在双碳目标下&#xff0c;供热企业可通过搭建智慧供热系统&#xff0c;实现供热方式的低碳、高效、智能化&#xff0c;从而减少碳排放和能源浪费。 通过应用物联网、大数据等高新技术&#xff0…

whisper深入-语者分离

文章目录 学习目标&#xff1a;如何使用whisper学习内容一&#xff1a;whisper 转文字1.1 使用whisper.load_model()方法下载&#xff0c;加载1.2 使用实例对文件进行转录1.3 实战 学习内容二&#xff1a;语者分离&#xff08;pyannote.audio&#xff09;pyannote.audio是huggi…