【机器学习】噪声数据的理解

2023-11-04

一、噪声数据

噪声数据(Noisy Data)就是无意义的数据,这个词通常作为损坏数据的同义词使用。

1.1 分箱

通过考察数据的“近邻”(周围的值)来光滑有序数据的值。局部光滑。

  • 划分:等频、等宽
  • 光滑:用箱均值、用箱中位数、用箱边界(去替换箱中的每个数据)
  • 箱中的最大和最小值被视为箱边界。箱中的每一个值都被最近的边界值替换

1.2 回归

用一个函数(回归函数)拟合数据来光滑数据。

  • 线性回归
  • 多元线性回归

在这里插入图片描述

1.3 聚类

将类似的值聚集为簇 A A A

噪声数据是有益处的。

在这里插入图片描述

1.4 其他

如数据归约、离散化和概念分层。

二、数据清理作为一个过程

2.1 偏差检测

2.1.1 使用“元数据”:关于数据的数据

例如,每个属性的数据类型是什么?定义域是什么?

2.1.2 编码格式:存在使用不一致、数据表示不一致

例如:日期“2015/12/08”和”08/12/2015"

2.1.3 字段过载

新属性的定义挤进已定义的属性的未使用(位)部分

2.1.4 唯一性规则

给定属性的每个值都必须不同于该属性的其他值

2.1.5 连续性规则

属性的最低值和最高值之间没有缺失的值,并且所有的值还必须是唯一的(例如,检验数)

2.1.6 空值规则

说明空白、问号、特殊符号或指示空值条件的其他串的使用(例如,一个给定属性的值何处不能用),以及如何处理这样的值

2.2 数据变换(纠正偏差)

  • 数据清洗工具:使用简单的领域知识(邮政地址知识和拼写检查),检查并纠正数据中的错误。在清理多个数据源的数据时,这些工具依赖分析和模糊匹配技术。
  • 数据审计工具:通过分析数据发现规则和联系,并检测违反这些条件的数据来发现偏差。
  • 数据迁移工具:允许说明简单的变换。
  • ETL(提取/变换/装入)工具:允许用户通过图形用户界面说明变换。
  • 通常这些工具只支持有限的变换。

2.3 迭代

  • 需要迭代执行偏差检测和数据变换(纠正偏差)这两步过程。
  • 通常需要多次迭代才能达到满意的效果。

2.4 加强交互性

  • 数据清理工具:kettle 是一个开源的数据清理工具
  • 开发数据变换操作规范说明语言

三、数据集成和变换

  • 数据集成合并多个数据源中的数据,存放在一个一致的数据库(如数据仓库)中。
  • 源数据可能包括多个数据库,数据立方或一般文件。
  • 数据变换将数据转换或统一成适合于挖掘的形式。

3.1 数据集成

  1. 实体识别:元数据可帮助避免错误
  2. 属性冗余与相关性分析:相关分析
  3. 数据重复(元组冗余)
  4. 数据值冲突的检测与处理:表示、比例或编码不同

3.2 数据变换

  1. 平滑:去掉数据中的噪声。技术包括分箱、回归、聚类。
  2. 聚集 Aggregation:对数据进行汇总或聚集。
  3. 数据泛化(概化):使用概念分层,用高层概念替换低层或“原始”数据。
  4. 规范化:将属性数据按比例缩放,使之落入一个小的特定区间。最小-最大、Z-Score、按小数定标规范化。
  5. 属性构造(特征构造):由给定的属性构造新的属性并添加到属性集中,以帮助挖掘过程。可以帮助提高准确率和对高维数据结构的理解。

数据立方体聚集:
在这里插入图片描述
概念分层:
在这里插入图片描述
在这里插入图片描述

3.3 规范化

3.3.1 Min-Max 规范化(最小-最大规范化)

规范化公式:

在这里插入图片描述

3.3.2 Min-Max 规范化(最小-最大规范化)例子代码(红酒数据集)

  1. 事先准备,采用红酒数据集,将数据拿出:
from sklearn.model_selection import train_test_split
from sklearn import linear_model
from sklearn.datasets import load_wine
wine = load_wine()
X = wine.data
y = wine.target
  1. 支持向量机
from sklearn import svm
svm = svm.SVC()
  1. 支持向量机 training score:
print("支持向量机 training score: ",svm.score(X,y))
svm.fit(wine_X,y)

运行结果为:

在这里插入图片描述

  1. 手动让其进行 Min-Max 规范化(最小-最大规范化):
wind_X=X.copy()
for i in range(13):
    columu_X = X[:, i]
    wind_X[:, i] = (columu_X-columu_X.min())/(columu_X.max()-columu_X.min())
print(wind_X)
  1. 对照组,输出之前的训练得分:
svm.fit(X,y)
print("支持向量机 training score: ",svm.score(X,y))
  1. 支持向量机归一化后 training score:
svm.fit(wind_X,y)
print("支持向量机归一化后 training score: ",svm.score(wind_X,y))
  1. 结果:可以看出,对其改善很大:

在这里插入图片描述

3.2.3 缺点

  1. 若存在离群点,可能影响规范化
  2. 若在规范化后添加新的数据,当新数据落在原数据的区间[min A, max A ]之外,将导致“越界”错误

3.3 Score 规范化(零-均值规范化)

z-score 规范化(零均值规范化):属性 A A A 的值基于 A A A 的平均值和标准差规范化。

在这里插入图片描述

对离群点不敏感。

3.3.1 Score 规范化(零-均值规范化)例子代码(红酒数据集)

  1. 事先准备,采用红酒数据集,将数据拿出:
from sklearn.model_selection import train_test_split
from sklearn import linear_model
from sklearn.datasets import load_wine
wine = load_wine()
X = wine.data
y = wine.target
  1. 支持向量机
from sklearn import svm
svm = svm.SVC()
  1. 使用模型里的按列归一化:
from sklearn import preprocessing
#数据预处理:按列归一化
wine_X=preprocessing.scale(X)
print(wine_X)
  1. 输出结果为:

在这里插入图片描述

  1. 手动撰写按列归一化
wind_X=X.copy()
for i in range(13):
    columu_X = X[:, i]
    wind_X[:, i]=(columu_X-columu_X.mean())/columu_X.std()
print(wind_X)563

结果查看:

在这里插入图片描述

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

【机器学习】噪声数据的理解 的相关文章

  • 基于概率论的分类方法:朴素贝叶斯

    需要分类器做出分类决策 可以使分类器给出各个类别的概率估计值 然后选择概率最高的作为其的类别 在这里使用到了概率论中的贝叶斯公式 P A B P A P B A P B 其中P A B 是后验概率 P A 是先验概率 P B A P B 为

随机推荐

  • Python数据分析与展示第三课

    Matplotlib是python优秀的数据可视化第三方库 数据可视化 将数据以特定的图形图像的形式展现出来 Matplotlib由各种可视化的类构成的 使用方式 import matplotlib pyplot as plt as plt
  • 论文收录引用证明常见问题汇总

    学术论文在毕业 评职称 保研 考博 留学等方面均有重要意义 因此往往需要开具检索证明 然而 开具检索证明的前提是论文必须被收录 1 什么是论文收录引用证明 论文收录引用证明是用来证明作者在科研领域中的实力和成就 当用户需要查询其论文在指定数
  • 单链表实现多项式相加

    这个小项目用C语言实现 代码中有我的注释 思路 用链表的每个节点存储表达式的每一项 因此每个链表就是一个表达式 链表节点类型的定义 struct Node DataType elem 项的系数 Variate ch 常量和变量的标志 规定如
  • rand()每次产生的随机数都一样

    写了个程序 每次产生的随机数都是一样的 在调用之前已经初始化了随机数种子 用的是当前时间 可是还是得到一样的数 for int i 0 i lt 100000 i srand unsigned time NULL cout lt
  • shiro入门

    1 概述 Apache Shiro 是一个功能强大且易于使用的 Java 安全 权限 框架 借助 Shiro 您可以快速轻松地保护任何应用程序一一从最小的移动应用程序到最大的 Web 和企业应用程序 作用 Shiro可以帮我们完成 认证 授
  • Vue中获取input输入框值

  • 一个“制作午餐”的故事,帮助你理解并发和并行(上)

    导读 这是一个关于 午餐时间 的小故事 用于阐述 threading asyncio multiprocessing cloud functions 等内容 为了方便阅读并理解文章的内容 全文分上 下两篇 上篇主要讲解并发 下篇重点讲解并行
  • runtime交换方法的正确姿势

    runtime交换方法的正确姿势 说到Objective C大家就会想到黑魔法runtime 不知道runtime是什么的看这里 runtime是开源的 源码在这里 本文主要讲解如何利用runtime正确的交换方法 将会提到两种方式去交换
  • 在Linux的终端中显示BMPString的内容

    在上一篇博文中 介绍了如何在 Windows 的控制台界面下输出 BMPString 的内容 但是那里的方法在 Linux 下不适用 如果将那里的示例代码放到 Linux 下执行 输出的结果为乱码 产生乱码的原因在于 wchar t 类型的
  • 数据挖掘——第一章:概述

    文章目录 1 数据分析与数据挖掘 1 1 数据分析 1 2 数据挖掘 1 3 知识发现 KDD 的过程 1 4 数据分析与数据挖掘的区别 1 5 数据分析与数据挖掘的联系 2 分析与挖掘的数据类型 2 1 数据库数据 2 2 数据仓库数据
  • 思科网络配置简单学习

    一 VLAN 什么是VLAN 虚拟局域网 为什么要引入VLAN 1 交换机分割了冲突域 但是不能分割广播域 2 交换机端口数量增多 网络中广播增多 降低了网络的效率 3 目的为了分割广播域 VLAN的优势 广播控制 提高安全性 提高带宽利用
  • UDP \TCP详详详详解,你想要的全都有(呕心沥血)

    前言 因特网为应用层提供了两种截然不同的可用运输层协议 一个是UDP 用户数据报协议 一个是TCP 传输控制协议 这两种协议无论是在开发过程中 还是面试问答中 都相当重要 先了解两个定义 多路分解 将运输层报文段中的数据交付到正确的套接字
  • 2023 年 30 种顶级自动化测试工具

    当您想运行测试自动化时 天空是极限 甚至超越极限 技术发展如此之快 与 10 年前相比 您可以减少时间并保持更高的工作效率 如果 Selenium 是您首选的自动化测试工具 您就不必忍受 Selenium 给您带来的限制 相反 您可以从各种
  • Python基础知识(一):变量与赋值、运算符、数据类型及位运算

    学习目标 了解python的基本概念 变量类型 运算符 及数据类型 了解python的位运算 原码 反码和补码 注释 在 Python 中 表示注释 作用于整行 或者 表示区间注释 在三引号之间的所有内容被注释 在Pycharm或者Jupy
  • matlab 安装mingw64

    1 下载mingw64 MinGW w64 for 32 and 64 bit Windows download SourceForge net 解压到没有空格的路径 好像必须在c盘 否则可以出现 错误使用 configuremingw 无
  • List元素为类对象,按照类对象属性去重的解决办法

    很多小伙伴在开发中会遇到一个场景 就是List集合中存储的是类对象 我们想要根据类对象属性去重 这种场景该如何做呢 解决办法 大家都知道对象的equals默认是按照对象的应用地址去进行比较的 所以想要对象去重 关键就在于重写equals方法
  • 三极管驱动继电器详解

    http www 21ic com jichuzhishi analog basic 2015 08 24 638790 html
  • 基于STM32的多功能心电信号监测系统设计

    1 系统总体方案设计 系统由STM32F103微处理器模块 ADS1292R心电采集模块 LMT70体表温度传感器模块 ESP8266无线WiFi模块 MMA955L加速度计模块 系统电源 PC服务端等组成 STM32F103作为主控制器实
  • 2.4 Verilog HDL语句

    语句 1 赋值语句 结构说明语句 阻塞与非阻塞 1 1 赋值语句 1 1 1 连续赋值语句assign 1 1 2 过程赋值语局 和 lt 1 2 结构说明语句 1 2 1 结构说明语句always 1 2 2 结构说明语句initial
  • 【机器学习】噪声数据的理解

    文章目录 一 噪声数据 1 1 分箱 1 2 回归 1 3 聚类 1 4 其他 二 数据清理作为一个过程 2 1 偏差检测 2 1 1 使用 元数据 关于数据的数据 2 1 2 编码格式 存在使用不一致 数据表示不一致 2 1 3 字段过载