大数据—数据分析概论
一、什么是数据分析
数据分析是指使用统计、数学、计算机科学和其他技术手段对数据进行清洗、转换、建模和解释的过程,以提取有用的信息、发现规律、支持决策和解决问题。数据分析可以应用于各种领域,包括商业、医学、工程、社会科学等。
二、数据分析步骤
数据分析的关键步骤包括定义问题和目标、数据收集、数据清洗、数据探索、数据转换和特征工程、数据建模、模型评估和验证、结果解释和报告,以及行动和监控。
1. 定义问题和目标
- 确定问题:明确要解决的问题或要回答的业务问题。
- 设定目标:定义分析的具体目标和期望的结果,如提高销售额、降低成本、优化运营等。
2. 数据收集
- 识别数据源:确定哪些数据源(内部数据库、外部数据源、调查等)可以提供所需数据。
- 收集数据:从各个数据源中提取相关数据。
3. 数据清洗
- 处理缺失值:识别并处理数据中的缺失值,可以选择删除、填补或保留缺失值。
- 处理异常值:识别并处理数据中的异常值,决定是否删除或调整这些值。
- 数据一致性检查:确保数据格式和内容的一致性,如日期格式、单位统一等。
4. 数据探索
- 统计描述:计算数据的基本统计量,如均值、中位数、标准差等。
- 数据可视化:使用图表(如直方图、散点图、箱线图等)探索数据的分布和关系。
- 发现模式和关系:通过可视化和统计方法发现数据中的模式和变量之间的关系。
5. 数据转换和特征工程
- 数据转换:对数据进行必要的转换,如归一化、标准化等。
- 特征提取:从原始数据中提取新的有用特征,提高模型的表现。
- 编码分类变量:将分类变量转换为数值形式,如独热编码(One-Hot Encoding)。
6. 数据建模
- 选择模型:根据分析目标选择适当的建模方法(如回归、分类、聚类等)。
- 训练模型:使用训练数据集构建模型。
- 调参优化:通过交叉验证和超参数调整优化模型性能。
7. 模型评估和验证
- 评估模型:使用测试数据集评估模型的性能,计算评估指标(如准确率、精确率、召回率、F1分数、均方误差等)。
- 验证模型:确保模型的泛化能力,避免过拟合或欠拟合。
8. 结果解释和报告
- 解释结果:解读模型结果,理解模型的预测和发现的规律。
- 生成报告:编写分析报告,使用可视化工具展示关键发现和建议。
- 汇报结果:向决策者和相关利益者汇报分析结果,以支持决策。
9. 行动和监控
- 实施行动:根据分析结果采取相应的业务行动。
- 持续监控:监控实施效果,收集反馈并进行持续优化。
三、数据分析常用的方法
数据分析常用的方法可以根据不同的分析目标和数据类型分为多种。
1. 描述性分析
描述性分析用于总结和描述数据的基本特征,帮助理解数据的分布和趋势。
- 统计描述:均值、中位数、众数、标准差、方差等。
- 数据可视化:直方图、条形图、折线图、散点图、箱线图等。
2. 探索性数据分析(EDA)
探索性数据分析旨在发现数据中的模式、关系和异常,通常是数据分析的初始步骤。
- 分布分析:了解数据的分布情况。
- 相关性分析:使用相关矩阵和散点图查看变量之间的关系。
- 异常值检测:识别数据中的异常值和离群点。
3. 推断性分析
推断性分析通过从样本数据推断总体特征,通常涉及假设检验和置信区间。
- 假设检验:t检验、卡方检验、ANOVA等。
- 置信区间:估计总体参数的范围。
4. 预测性分析
预测性分析用于预测未来的趋势或事件,常用于时间序列分析和回归模型。
- 回归分析:线性回归、逻辑回归、多元回归等。
- 时间序列分析:ARIMA模型、指数平滑法等。
5. 分类和聚类
这些方法用于将数据分组或分类,常用于机器学习和模式识别。
- 分类:决策树、随机森林、支持向量机(SVM)、k近邻(k-NN)、朴素贝叶斯等。
- 聚类:k均值聚类、层次聚类、DBSCAN等。
6. 关联分析
关联分析用于发现数据中变量之间的关联规则,常用于市场篮子分析。
- 关联规则:Apriori算法、FP-Growth算法等。
7. 因果分析
因果分析用于确定变量之间的因果关系,而不仅仅是相关性。
- 随机对照试验(RCT):通过随机分配实验组和对照组来确定因果关系。
- 结构方程模型(SEM):用于复杂变量关系的建模。
8. 文本分析
文本分析用于处理和分析非结构化文本数据。
- 自然语言处理(NLP):分词、词性标注、命名实体识别等。
- 情感分析:分析文本情感倾向(正面、负面、中性)。
- 主题模型:LDA(潜在狄利克雷分配)等。
9. 数据可视化
数据可视化用于直观展示数据和分析结果,帮助理解和决策。
- 静态图表:柱状图、折线图、饼图、热图等。
- 动态图表和仪表盘:交互式图表和仪表盘,常用工具如Tableau、Power BI。
10. 高级分析和机器学习
高级分析和机器学习方法用于复杂数据分析和预测。
- 监督学习:回归、分类等。
- 无监督学习:聚类、降维等。
- 深度学习:神经网络、卷积神经网络(CNN)、循环神经网络(RNN)等。
四、数据建模与算法
在数据分析中,数据建模与算法是关键步骤之一。数据建模通过数学和统计学方法来拟合数据,揭示其内在结构和规律,从而进行预测和决策支持。常用的算法可以分为监督学习和无监督学习,以及其他特定任务的算法。
数据建模步骤
-
定义问题:
- 明确建模目标,如分类、回归、聚类或预测。
-
数据准备:
- 数据清洗:处理缺失值、异常值和重复数据。
- 特征工程:选择和转换特征,包括特征缩放、编码和降维。
-
选择模型:
- 根据问题类型选择适当的算法和模型。
-
训练模型:
- 使用训练数据集构建模型,通过调整参数优化模型性能。
-
模型评估:
- 使用测试数据集评估模型性能,计算评估指标。
-
模型调优:
- 通过交叉验证和超参数调整优化模型。
-
模型部署:
- 将模型应用于实际场景,进行预测和决策支持。
常用的算法
1. 监督学习
用于有标注数据的建模,目标是学习输入特征与目标变量之间的关系。
分类算法:
- 决策树(Decision Tree):
- 基于特征的值将数据分割成不同的子集,形成树状结构。
- 随机森林(Random Forest):
- 由多棵决策树组成的集成模型,通过投票或平均预测结果。
- 支持向量机(SVM):
- 寻找最佳的超平面将不同类别分开,适用于线性和非线性分类。
- k近邻(k-NN):
- 根据样本点的最近邻居进行分类,简单但计算量大。
- 朴素贝叶斯(Naive Bayes):
- 基于贝叶斯定理的概率分类模型,假设特征之间独立。
回归算法:
- 线性回归(Linear Regression):
- 建立输入特征与目标变量之间的线性关系。
- 逻辑回归(Logistic Regression):
- 用于二分类问题,通过sigmoid函数输出概率值。
- 岭回归(Ridge Regression):
- 线性回归的正则化版本,避免过拟合。
- LASSO回归(LASSO Regression):
- 通过L1正则化选择特征,适用于特征较多的场景。
2. 无监督学习
用于无标注数据的建模,目标是揭示数据的内在结构。
聚类算法:
- k均值聚类(k-Means Clustering):
- 将数据分成k个簇,最小化簇内样本点之间的距离。
- 层次聚类(Hierarchical Clustering):
- 通过构建树状层次结构将数据逐级聚类。
- DBSCAN(Density-Based Spatial Clustering of Applications with Noise):
- 基于密度的聚类方法,能够识别噪声点和任意形状的簇。
降维算法:
- 主成分分析(PCA):
- 将高维数据投影到低维空间,最大化数据方差。
- t-SNE(t-Distributed Stochastic Neighbor Embedding):
- 高维数据的非线性降维方法,适用于可视化。
3. 其他算法
关联规则学习:
- Apriori算法:
- 用于发现频繁项集和关联规则,常用于市场篮子分析。
- FP-Growth算法:
- 通过构建频繁模式树发现频繁项集,效率较高。
时间序列分析:
- ARIMA模型(AutoRegressive Integrated Moving Average):
- 结合自回归和移动平均,适用于时间序列预测。
- 指数平滑法(Exponential Smoothing):
- 通过加权平均方法预测时间序列,适用于短期预测。
深度学习:
- 神经网络(Neural Networks):
- 模拟生物神经网络的结构,适用于各种复杂任务。
- 卷积神经网络(CNN):
- 主要用于图像数据处理,通过卷积层提取特征。
- 循环神经网络(RNN):
- 处理序列数据,适用于自然语言处理和时间序列预测。
相关文章:
大数据—数据分析概论
一、什么是数据分析 数据分析是指使用统计、数学、计算机科学和其他技术手段对数据进行清洗、转换、建模和解释的过程,以提取有用的信息、发现规律、支持决策和解决问题。数据分析可以应用于各种领域,包括商业、医学、工程、社会科学等。 二、数据分析步…...

centos7下卸载MySQL,Oracle数据库
📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 操作系统版本为CentOS 7 使⽤ MySQ…...

Spring解决循环依赖
Spring框架为了解决循环依赖问题,设计了一套三级缓存机制: 一级缓存singletonObjects:这个是最常规的缓存,用于存放完成初始化好的bean,如果某个bean已经在这个缓存了直接返回。二级缓存earlySigletonObjects:这个用于存放早期暴…...
RUST运算符重载
在 Rust 中,可以使用特征(traits)来实现运算符重载。运算符重载是通过实现相应的运算符特征(如 Add、Sub、Mul 等)来完成的。这些特征定义在 std::ops 模块中。下面是一个简单的示例,展示如何为一个自定义结…...
描述一下 Array.forEach() 循环和 Array.map() 方法之间的主要区别
Array.forEach() 和 Array.map() 都是 JavaScript 数组中常用的方法,但它们之间有一些重要的区别: 返回值:forEach():没有返回值,它只是对数组中的每个元素执行提供的函数。map():返回一个新的数组,其元素是通过对原数组的每个元素执行提供的函数后的结…...
在GEE中显示矢量或栅格数据的边界(包含样式设计)
需要保证最后显示的数据是一个 FeatureCollection 对象。 如果数据是一个 Geometry 或 Image,我们也可以使用 style 方法来设置样式并将其添加到地图上。以下是针对不同类型对象的处理方式: 1 Geometry对象 如果 table 是一个 Geometry 对象ÿ…...

django使用fetch上传文件
在上一篇文章中,我包装了fetch方法,使其携带cookie。但是之前fetch传递的是json数据,现在有了一个上传文件的需求,因此需要进行修改: const sendRequest (url, method, data) > {const csrftoken Cookies.get(cs…...
linux安装docker步骤
步骤1 脚本自动安装 curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh 步骤2 启动Docker服务: sudo systemctl start docker 步骤3 验证Docker是否正确安装并运行一个容器: sudo docker run hello-world 安装正确,则可拉取镜像&am…...

Unity DOTS技术(一)简介
文章目录 一.概述二.将会介绍的内容三.DOTS技术与传统方式的不同传统问题DOTS技术 四.插件安装 一.概述 传统的游戏开发中,如果有成千上万的物体在场景中运动,那么你一定会认为是疯了.但有了Dost技术这一些都将变成可能.如图场景中有10000个物体在同时运动,帧率即能保持在60Fp…...

深度解读ChatGPT基本原理
一、基本原理 ChatGPT是一个基于深度学习的自然语言生成模型,使用了类似于GPT(Generative Pre-trained Transformer)的架构。GPT是由OpenAI开发的一种语言模型,能够生成与输入文本相关的连续性文本。 ChatGPT的基本原理是先使用…...

python实现——分类类型数据挖掘任务(图形识别分类任务)
分类类型数据挖掘任务 基于卷积神经网络(CNN)的岩石图像分类。有一岩石图片数据集,共300张岩石图片,图片尺寸224x224。岩石种类有砾岩(Conglomerate)、安山岩(Andesite)、花岗岩&am…...
【安卓跨进程通信IPC】-- Binder
目录 BinderBinder是什么?进程空间分配进程隔离Binder跨进程通信机制模型优点AIDL常见面试题 Binder 夯实基础之超详解Android Binder的工作方式与原理以及aidl示例代码 比较详细的介绍:Android跨进程通信:图文详解 Binder机制 原理 操作系统…...

大数据之Schedule调度错误(一)
当我们在利用ooize发起整个任务的调度过程中,如果多个调度任务同时运行并且多个调度任务操作了相同的表,那么就会出现如下的错误关系: Invalid path hdfs://iZh5w01l7f8lnog055cpXXX:8000/user/admin/xxx: No files matching path hdfs://iZh5w01l7f8lnog055cpXXX:8000/user/ad…...

DiffIR论文阅读笔记
ICCV2023的一篇用diffusion模型做Image Restoration的论文,一作是清华的教授,还在NIPS2023上一作发表了Hierarchical Integration Diffusion Model for Realistic Image Deblurring,作者里甚至有Luc Van Gool大佬。模型分三个部分,…...

prometheus+alertmanager+webhook钉钉机器人告警
版本:centos7.9 python3.9.5 alertmanager0.25.0 prometheus2.46.0 安装alertmanager prometheus 配置webhook # 解压: tar -xvf alertmanager-0.25.0.linux-amd64.tar.gz tar -xvf prometheus-2.46.0.linux-amd64.tar.gz mv alertmanager-0.25.0.linu…...
ctfshow 年CTF web
除夕 Notice: Undefined index: year in /var/www/html/index.php on line 16 <?phpinclude "flag.php";$year $_GET[year];if($year2022 && $year1!2023){echo $flag; }else{highlight_file(__FILE__); } 弱比较绕过很简单,连函数都没有直…...
原型链、闭包、手写一个闭包函数、 闭包有哪些优缺点、原型链继承
什么是原型链? 原型链是一种查找规则 为对象成员查找机制提供一个方向 因为构造函数的 prototype 和其实例的 __ proto __ 都是指向原型对象的 所以可以通过__proto__ 查找当前的原型对象有没有该属性, 没有就找原型的原型, 依次类推一直找到Object( null ) 为…...
linux中SSH_ASKPASS全局变量的作用
在工作中遇到一段代码,通过SSH_ASKPASS全局变量实现了ssh登录远程IP时的密码输入,chatgpt搜索了一下,其解释大致如下所示: SSH_ASKPASS 是一个环境变量,它在 SSH 客户端需要用户输入密码时起作用。当 SSH 客户端检测到…...

9 -力扣高频 SQL 50 题(基础版)
9 - 上升的温度 -- 找出与之前(昨天的)日期相比温度更高的所有日期的 id -- DATEDIFF(2007-12-31,2007-12-30); # 1 -- DATEDIFF(2010-12-30,2010-12-31); # -1select w1.id from Weather w1, Weather w2 wheredatediff(w1.recordDate,w2.recordDat…...

TCP的重传机制
TCP 是一个可靠的传输协议,解决了IP层的丢包、乱序、重复等问题。这其中,TCP的重传机制起到重要的作用。 序列号和确认号 之前我们在讲解TCP三次握手时,提到过TCP包头结构,其中有序列号和确认号, 而TCP 实现可靠传输…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...