机器学习之数据预处理理论——基于表格数据分析

news2024/11/28 10:39:11

一、机器学习中数据预处理的作用与目的

        对于机器学习而言,数据预处理是指在数据挖掘、数据分析、模型构建训练等过程中,对原始数据进行一系列的处理,以提高数据质量、减少噪声、提取有用信息等。数据预处理的主要目的是将原始数据转换为有用的数据,以便于后续的数据分析和模型构建。

二、表格数据在机器学习中的通用预处理流程理论

(一)数据的收集与导入

        数据的收集,即从各种数据源获取相关的表格数据,比如数据库(常见的如 MySQL、Oracle 等)、文件(CSV、Excel 格式等)、网页抓取等途径;数据的导入,即使用对应的编程库将数据导入到分析环境中。

(二)数据探索性分析(EDA)

        数据探索性分析主要由三部分构成,分别为数据概况阅览统计描述可视化分析。了解数据的基本信息,包括行数、列数、各列的数据类型(是数值型、字符型还是日期型等);计算数值型列的统计量,像均值、中位数、标准差、最大值、最小值等,这有助于把握数据的分布情况;利用绘图库(如 matplotlib 或 seaborn)对数据进行可视化呈现。绘制柱状图查看分类变量的分布情况,用直方图查看数值变量的分布是否符合正态分布等。

(三)数据清洗

        数据清洗主要由三部分构成,分别为处理缺失值处理重复值处理异常值

        对于数据缺失情况而言,若缺失值占比过大(或对于模型不重要),可考虑直接删除对应的行或列,否则根据数据特征及分布采用合适的方法填充。常见的有均值填充(对于数值型且近似正态分布的数据,可用该列均值填充缺失部分)、中位数填充(当数据有偏态分布时较合适)、众数填充(适用于分类数据),还可以使用更复杂的算法如基于 K 近邻的填充方法、根据与该缺失值所在记录相似的其他记录对应值来估算填充以及建立关联因子估算方程来估算填充;

        对于数据重复而言,利用 drop_duplicates() 函数等去除完全重复的行,保证数据集中每条记录都是唯一有效的,避免重复数据对模型训练产生误导;

        对于数据异常而言,通过可视化(箱线图等)、基于统计规则(如超出均值一定倍数标准差的值视为异常值)等方法来判断并选择修正异常值或者直接删除异常值所在的行(若属于人为输入的数据错误可直接删除)。

(四)数据转换

        数据转换主要由两部分构成,分别为数据编码数据标准化/归一化

        对于数据编码而言,字符型的分类变量需要转换为数值形式以便模型处理,常见编码方式有独热编码(One-Hot Encoding)和标签编码(Label Encoding);顺序变量则可以根据其值域设置区间映射为合理数值;

        对于数据标准化/归一化而言,常见的有适用于很多基于距离计算的机器学习算法的Z-score 标准化,其可以避免不同特征量纲差异对模型训练的影响、归一化则是将数据映射到特定区间,在一些对数据范围有要求的场景会用到(如神经网络的输入数据等)。

图源: 2.3 数据变换【斯坦福21秋季:实用机器学习中文版】_哔哩哔哩_bilibili

(五)特征工程

        特征工程主要由两部分组成,分别为特征选择特征构造

        对于特征选择而言,常见方法有过滤法(根据特征的相关性系数、卡方检验值等统计指标筛选出与目标变量相关性强的特征,去除相关性弱或无关的特征,减轻模型计算负担同时避免引入噪声)、包装法(将特征选择作为一个搜索问题,利用模型评估指标来判断不同特征组合的好坏,逐步选择出最优特征子集)和嵌入法(在模型训练过程中自动进行特征选择);

        对于特征构造而言,主要为基于业务逻辑构造(结合具体业务场景,从已有特征衍生出新的有意义特征)和多项式特征构造(通过对已有数值特征进行多项式组合以增加数据的非线性表达能力)。

(六)数据集划分

        通常按照一定比例将原始数据集划分为训练集、验证集和测试集。

参考资料:

[1] 2.1 探索性数据分析【斯坦福21秋季:实用机器学习中文版】_哔哩哔哩_bilibili

[2] 2.2 数据清理【斯坦福21秋季:实用机器学习中文版】_哔哩哔哩_bilibili

[3] 2.3 数据变换【斯坦福21秋季:实用机器学习中文版】_哔哩哔哩_bilibili

[4] 2.4 特征工程【斯坦福21秋季:实用机器学习中文版】_哔哩哔哩_bilibili

[5] 猛猛冲!Kaggle比赛七大机器学习实战科大讯飞大佬精讲!手把手带你打比赛!手写数字识别/房价预测/泰坦尼克号幸存者预测/深度学习/人工智能_哔哩哔哩_bilibili

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

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

相关文章

如何写出好证明(支持思想的深入数学写作)

不断的修改和精炼是写作过程中的重要环节,数学写作最终目的是提供对问题的深刻洞察而非仅仅陈述细节。 根据harvey mudd college Francis Su教授的《GUIDELINES FOR GOOD MATHEMATICAL WRITING》讲稿,总结出撰写好的数学证明需要注意以下几个要点&#x…

中英双语介绍DeepSpeed 的 ZeRO 优化

DeepSpeed 的 ZeRO 优化:通俗易懂的原理与实践指南 引言 在深度学习的大规模模型训练中,显存瓶颈是常见的挑战。DeepSpeed 提供了革命性的 ZeRO (Zero Redundancy Optimizer) 优化技术,为大模型训练节省显存、提高效率提供了强有力的工具。…

如何将 GitHub 私有仓库(private)转换为公共仓库(public)

文章目录 如何将 GitHub 私有仓库转换为公共仓库步骤 1: 登录 GitHub步骤 2: 导航到目标仓库步骤 3: 访问仓库设置步骤 4: 更改仓库可见性步骤 5: 确认更改步骤 6: 验证更改注意事项 如何将 GitHub 私有仓库转换为公共仓库 在软件开发领域,GitHub 是一个广受欢迎的…

【webrtc】 mediasoup中m77的IntervalBudget及其在AlrDetector的应用

IntervalBudget 用于带宽控制和流量整形 mediasoup中m77 代码的IntervalBudget ,版本比较老IntervalBudget 在特定时间间隔内的比特预算管理,从而实现带宽控制和流量整形。 一。 pacedsender 执行周期: 下一次执行的时间的动态可变的 int64_t PacedSender::TimeUntilNextPr…

Z2400023基于Java+Servlet+jsp+mysql的酒店管理系统的设计与实现 源码 调试 文档

酒店管理系统的设计与实现 1.摘要2.主要功能3. 项目技术栈运行环境 4.系统界面截图5.源码获取 1.摘要 本文介绍了一个基于Java的酒店管理系统,该系统采用Servlet、JSP、JDBC以及c3p0等技术构建,为酒店提供了一个全面的管理平台。该系统不仅适合酒店进行…

《操作系统 - 清华大学》5 -5:缺页异常

文章目录 1. 缺页异常的处理流程2.在何处保存未被映射的页?3. 虚拟内存性能 1. 缺页异常的处理流程 缺页中断的处理过程: CPU读内存单元,在TLB中根据其虚拟地址匹配物理地址,未命中,读页表; 由于页表项的存在位为0,CP…

C++:多态的原理

目录 一、多态的原理 1.虚函数表 2.多态的原理 二、单继承和多继承的虚函数表 1、单继承中的虚函数表 2、多继承中的虚函数表 一、多态的原理 1.虚函数表 首先我们创建一个使用了多态的类&#xff0c;创建一个对象来看其内部的内容&#xff1a; #include<iostre…

Ubuntu 硬盘分区并挂载

一、什么是挂载 1.挂载的定义 在 Ubuntu&#xff08;或其他 Linux 系统&#xff09;中&#xff0c;挂载&#xff08;Mount&#xff09; 是将一个存储设备或分区连接到系统的文件系统层次结构中的过程。挂载后&#xff0c;你可以通过某个目录&#xff08;挂载点&#xff09;访问…

python-docx -- 读取word页眉、页脚

文章目录 sections介绍访问section添加section页眉、页脚综合案例:sections介绍 word支持section的概念,即一个文档的划分部分,不同的部分均包含相同的页面布局设置,如相同的边距、页面方向等;在每个section中可以定义页眉、页脚来应用于该section下的所有页面;大部分wor…

开源加密库mbedtls及其Windows编译库

目录 1 项目简介 2 功能特性 3 性能优势 4 平台兼容性 5 应用场景 6 特点 7 Windows编译 8 编译静态库及其测试示例下载 1 项目简介 Mbed TLS是一个由ARM Maintained的开源项目&#xff0c;它提供了一个轻量级的加密库&#xff0c;适用于嵌入式系统和物联网设备。这个项…

《生成式 AI》课程 第7講:大型語言模型修練史 — 第二階段: 名師指點,發揮潛力 (兼談對 ChatGPT 做逆向工程與 LLaMA 時代的開始)

资料来自李宏毅老师《生成式 AI》课程&#xff0c;如有侵权请通知下线 Introduction to Generative AI 2024 Springhttps://speech.ee.ntu.edu.tw/~hylee/genai/2024-spring.php 摘要 这一系列的作业是为 2024 年春季的《生成式 AI》课程设计的&#xff0c;共包含十个作业。…

公司金融期末考试题目

公司金融期末考试题 选择题 1.现金折扣和信用条件&#xff08;教材P253&#xff09; 题目类似&#xff1a; 下列不属于信用条件的是&#xff08;&#xff09;。 现金折扣 数量折扣信用期限 折扣期限 给定的信用条件为"1/10&#xff0c;n/40"&#xff0c;则其含义…

【前端】JavaScript中的字面量概念与应用详解

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;字面量1. 数字字面量2. 字符串字面量3. 布尔字面量4. 空值字面量&#xff08;null&#xff09;5. 对象字面量6. 数组字面量7. 正则表达式字面量8. 特殊值字面量9. 函数字…

Kotlin DSL Gradle 指南

本文是关于 Kotlin DSL Gradle 的指南&#xff08;上篇&#xff09;&#xff0c;介绍了 Gradle 作为 Android 开发构建工具的作用及优势&#xff0c;包括初始配置、生命周期、依赖管理、Task 相关内容。如 Task 的创建、自定义、各种方法和属性&#xff0c;以及文件操作等&…

Web开发:使用stackexchange.redis库对redis进行增删改查

一、安装第三方库 二、官网 StackExchange.Redis |通用型 redis 客户端 三、连接示例 private static string redisConnectionString "localhost:6379,passwordyourpassword,defaultDatabase0,allowAdmintrue,asyncTimeout10000";private static string redisConn…

2024年第15届蓝桥杯C/C++组蓝桥杯JAVA实现

目录 第一题握手&#xff0c;这个直接从49累加到7即可&#xff0c;没啥难度&#xff0c;后面7个不握手就好了&#xff0c;没啥讲的&#xff0c;(然后第二个题填空好难&#xff0c;嘻嘻不会&#xff09; 第三题.好数​编辑 第四题0R格式 宝石组合 数字接龙 最后一题:拔河 第…

Django基础之路由

一.前言 前面我们说了django的安装于基础配置&#xff0c;基础知识点我就细分下来&#xff0c;每天和大家讲一点&#xff0c;今天就要和大家说django的基础知识点了&#xff0c;我们今天先来讲路由&#xff0c;内容不多&#xff0c;希望大家记住 二.传统路由 路由就是前面一个…

gitlab ssh-key 绑定

windows环境下配置 gitlab的ssh key&#xff1a; 1.打开本地git bash,使用如下命令生成ssh公钥和私钥对: ssh-keygen -t rsa -C xxxxxx.com 2.一直回车&#xff1b; 3.然后打开公钥文件&#xff1a;C:/Users/Administrator/.ssh/id_rsa.pub文件&#xff0c;复制其中的内容; 4…

26.100ASK_T113-PRO 测试摄像头 输出信息

1.测试代码 读到摄象头参数 输出 video_test.c #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/ioctl.h> #include <unistd.h> #include <stdio.h> #include <string.h> #include <linux/type…

【人工智能】深入解析GPT、BERT与Transformer模型|从原理到应用的完整教程

在当今人工智能迅猛发展的时代&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域涌现出许多强大的模型&#xff0c;其中GPT、BERT与Transformer无疑是最受关注的三大巨头。这些模型不仅在学术界引起了广泛讨论&#xff0c;也在工业界得到了广泛应用。那么&#xff0c;G…