BI:Business Intelegence,商业智能,基于数据仓库,经过数据挖掘后,得到了商业价值的过程。例如利用数据预测用户购物行为属性商业智能
DW:Data Warehouse,数据仓库,数据库的升级概念,一般量更庞大,将多个数据来源的数据进行汇总、整理而来
DM:Data Mining,数据挖掘
数据挖掘流程:Knowledge Discovery in Database,也叫数据库中的知识发现,简称KDD
KDD流程:输入数据->数据预处理->数据挖掘->后处理->信息
- 数据清洗
去除重复数据、干扰数据及填充缺失值 - 数据集成
将多个数据源中的数据存放在一个统一的数据存储中 - 数据变换
将数据转换成适合数据挖掘的形式,比如将数值东篱一个特定的0~1的区间
数据挖掘的核心
- 分类
通过训练集得到一个分类模型,然后用这个模型可以对其他数据进行分类
分类是已知了类别,然后看样本属于哪个分类 - 聚类
将数据自动聚类成几个类别,
聚类是不知道有哪些类别,按照 样本的属性来进行聚类 - 预测
通过当前和历史数据预测未来趋势,可以更好地帮助我们识别机遇和风险 - 关联分析
发现数据中的关联规则,被广泛应用于购物、事务数据分析中
数据挖掘的基本流程
- 商业理解。从商业的角度理解项目需求
- 数据理解 。尝试收集部分数据,对数据进行探索
- 数据准备。开始收集数据,并进行清洗、集成等操作
- 模型建立。选择和应用数据挖掘模型,并进行优化,以便得到更好的分类结果
- 模型评估。对模型进行评价,确认模型是否实现了预定的商业目标
- 上线发布。把挖掘的知识转换成用户的使用形式
- 概率论与数据统计
- 线性代数
- 图论
- 最优化方法
- 分类
- C4.5。十大算法之首,决策树算法,特点包括:1.构造过程中剪枝 2.处理连续属性;3.处理不完整的数据
- 朴素贝叶斯。基于概率论原理,计算未知物体出现的条件下,各个类别出现的概率,取概率最大的分类
- SVM。 超平面的分类模型
- KNN。每个样本的分类都可以用其最接近的K个邻居的分类代表
- Adaboost。构建分类器的提升算法,可以让多个弱的分类器组成一个强的分类器
- CART。决策树算法,分类树 + 回归树
- 聚类
- K-Means。将物体分成K类,计算新点跟K个中心点的距离,哪个距离近,则新点归为哪一类
- EM。最大期望算法,求参数的最大似然估计的一种方法
- 关联分析
- Apriori。挖掘关联规则的算法,通过挖掘频繁项集揭示物品之间的关联关系
- 连接分析
- PageRank。起源于论文影响力的计算方式,如果一篇文论被引入的次数越多,就代表这篇论文的影响力越强,Google将其用于计算网页权重
数据可视化主要是借助于图形化手段,清晰有效地传达与沟通信息,让我们直观了解数据分析的结果
数据可视化工具:
- python库
- Matplotlib
- Seaborn
- Bokeh、Plotly、Pyecharts、Mapbox 和 Geoplotlib等
- 商业智能软件
- Tableau
- PowerBI
- 可视化大屏
大屏作为一种视觉效果强、科技感强的技术,被企业老板所青睐,可以很好地展示公司的数据化能力- DataV(阿里)
- FineReport
- 前端可视化组件
可视化组件都是基于 Web 渲染的技术的,Web 渲染技术:Canvas(位图)、SVG (失量图)和 WebGL(3D绘图)- Echarts
- D3
- Three.js
- AntV
简单的说,用户画像就是标签的汇总
用户画像是现实世界中的用户的数学建模,将海量数据进行标签化,来复以更精准的用户画像
用户标签能产生的业务价值
- 在获客上,找到优势的宣传渠道,通过个性化的宣传手段吸引有潜在需求的用户
- 在粘客上,提升用户的单价和消费频次
- 在留客上,降低流失率,顾客流失率降低 5%,公司利润提升 25% ~ 85%
用户标签4个纬度
- 基础信息
性别、年龄、地域、收入、学历、职业等 - 消费信息
消费习惯、购买意向、是否对促销敏感 - 行为分析
时间段、频次、时长、访问路径 - 内容分析
浏览的内容、停留时长、浏览次数,内容类型,如金融、娱乐、教育、体育、时尚、科技等
数据处理的3个阶段
- 业务层
获客预测、个性化推荐、用户流失率、GMV趋势预测 - 算法层
用户兴趣、用户活跃度、产品购买偏好、用户关联关系、用户满意度、渠道使用偏好、支付使用偏好、优惠券偏好 - 数据层
用户属性、投诉次数、产品购买次数、渠道使用频率、优惠券使用、访问时长、支付渠道使用、浏览内容频次
在需要的位置采集相应的信息,进行上报。比如用户信息、设备信息、操作行为数据
埋点一般是在需要统计数据的地方植入统计代码。
第三方工具有:友盟、Google Analysis、Talkingdata等,一般是前端埋点的方式
- 开源数据源
- 爬虫抓取
- 日志采集
- 传感器
数据清洗是去除重复数据、干扰数据及填充缺失值
数据清洗的4个关键点(完全合一)
- 完整性:单条数据是否存在空值,统计的字段是否完善
- 全面性:观察某一列的全部数值,判断列是否有问题,比如:数据定义、单位标识、数值本身。例如有的单位是克,有的是千克或磅
- 合法性:数据的类型、内容、大小的合法性。例如存在非ASCII字符,性别未知,年龄超过150岁等。
- 唯一性:数据是否存在重复记录。因为数据通常来自不同渠道的汇总,重复的情况是常见的,行和列数据都需要是唯一的
数据集成是将多个数据源合并存放在一个数据存储中(如数据仓库)
大数据项目中80%的工作都和数据集成有关。
Extract / 提取 :从datasource/txt/csv/Excel/等原始数据源中 Extract数据。
Transform / 转换 :将数据预处理,字段补全、类型检查、去除重复数据等,根据预定的条件将数据统一起来。
Load / 装载 :将转换完的数据存到数据仓库中。
数据集成的两种架构
-
ELT
过程为数据提取(Extract)——转换(Transform)——加载(Load),在数据源抽取后首先进行转换,然后将转换的结果写入目的地。 -
ETL
过程为数据提取(Extract)——加载(Load)——转换(Transform),在数据抽取后将结果先写入目的地,然后利用数据库的聚合分析能力或者外部框架,如Spark来完成转换的步骤。
商业软件:
- Informatica PowerCenter
- IBM InfoSphere DataStage
- Oracle Data Integrator
- Microsoft SQL Server Integration Services
开源软件:
- Kettle
- Talend
- Apatar
- Scriptella
- DataX
- Sqoop
ETL和ELT的区别:
ETL和ELT主要是先清洗数据还是先入库的区别。
ETL一般使用主流框架用程序在提取的时候就将数据进行清洗,ELT则是将数据存到数据仓库,再用sql进行数据清洗。
未来使用ELT作为数据集成架构的会越来越多,有以下好处:
- 使用 ELT 方法,在提取完成之后,数据加载会立即开始。一方面更省时,另一方面 ELT 允许 BI 分析人员无限制地访问整个原始数据,为分析师提供了更大的灵活性,使之能更好地支持业务。
- 在 ELT 架构中,数据变换这个过程根据后续使用的情况,需要在 SQL 中进行,而不是在加载阶段进行。这样做的好处是你可以从数据源中提取数据,经过少量预处理后进行加载。这样的架构更简单,使分析人员更好地了解原始数据的变换过程。
数据变换是数据准备的重要环节,通过数据平滑、数据聚集、数据概化和规范化等方式将数据转换成适用于数据挖掘的形式
-
数据平滑。去除数据中的噪声,将连续数据离散化
-
数据聚集。对数据进行汇总,例如Sum、Max、Mean等
-
数据概化。将数据由较低的概念抽象成较高的概念,如北上广深圳概化为中国。
-
数据规范化。合属性数据按比例缩放,将原来的数值映射到新的特定区域中。
- min-max规范化。
将原始数据变化到[0, 1]的空间中,公式为:新数值=(原数值-极小值) / (极大值-极小值),对应的有SciKit-Learn的preprocessing.MinMaxScaler函数 - z-score规范化。
可以用相同的标准比较不同规格的成绩。公式为:新数值=(原数值-均值) / 标准差。对应的有SciKit-Learn的preprocessing.scale函数,求出每行每列的值减去了平均值,再除以方差的结果,使得数值都符合均值为0,方差为1的正态分布 - 小数定标规范化。
通过移动小数点的位置来进行规范化
- min-max规范化。
-
属性构造。构造出新的属性并添加到属性集中。
- 方差和标准差是测算离散趋势最重要、最常用的指标
- 标准差是方差的平方根
- 一个较大的标准差,代表大部分数值和其平均值之间差异较大;一个较小的标准差,代表这些数值较接近平均值。
- 由于方差是数据的平方,与检测值本身相差太大,人们难以直观的衡量,所以常用方差开根号换算回来这就是我们要说的标准差。
-
Kaggle
Kaggle一个进行数据发掘和预测竞赛的在线平台,给数据分析师提供了非常好的数据集,同时还有Python、机器学习、数据挖掘等教程