CategoryResourceRepost/极客时间专栏/数据分析实战45讲/第一模块:数据分析基础篇/06 | 学数据分析要掌握哪些基本概念?.md
louzefeng d3828a7aee mod
2024-07-11 05:50:32 +00:00

152 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<audio id="audio" title="06 | 学数据分析要掌握哪些基本概念?" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/26/be/26d6c9ad279962ee4e66398f6cf049be.mp3"></audio>
美国明尼苏达州一家Target百货被客户投诉这名客户指控Target将婴儿产品优惠券寄给他的女儿而他女儿还是一名高中生。但没多久这名客户就来电道歉因为女儿经他逼问后坦承自己真的怀孕了。
Target百货寄送婴儿产品优惠券绝非偶然之举他们发现妇女在怀孕的情况下购买的物品会发生变化比如护手霜会从有香味的改成无味的此外还会购买大量维生素等保健品。通过类似的关联分析Target构建了一个“怀孕预测指数”通过这个指数预测到了顾客已经怀孕的情况并把优惠券寄送给她。
那么顾客怀孕与商品之间的关联关系是如何被发现的呢?
实际上他们都是用的**Apriori算法**该算法是由美国学者Agrawal在1994年提出的。他通过分析购物篮中的商品集合找出商品之间的关联关系。利用这种隐性关联关系商家就可以强化这类购买行为从而提升销售额。
这就是数据分析的力量,人们总是从数据分析中得到有价值的信息,啤酒和尿布的故事也是个经典的案例。如今在超市中,我们还能看到不少组合的套装打包在一起卖,比如宝洁的产品:飘柔洗发水+玉兰油沐浴露、海飞丝洗发水+舒肤佳沐浴露等等。
商品的捆绑销售是个很有用的营销方式,背后都是数据分析在发挥作用。
## 商业智能BI、数据仓库DW、数据挖掘DM三者之间的关系
开头中的百货商店利用数据预测用户购物行为属于**商业智能**,他们积累的顾客的消费行为习惯会存储在**数据仓库**中,通过对个体进行消费行为分析总结出来的规律属于**数据挖掘**。
所以我们能在这个场景里看到三个重要的概念:商业智能、数据仓库和数据挖掘。
**商业智能**的英文是Business Intelligence缩写是BI。相比于数据仓库、数据挖掘它是一个更大的概念。商业智能可以说是基于数据仓库经过了数据挖掘后得到了商业价值的过程。所以说数据仓库是个金矿数据挖掘是炼金术而商业报告则是黄金。
**数据仓库**的英文是Data Warehouse缩写是DW。它可以说是BI这个房子的地基搭建好DW这个地基之后才能进行分析使用最后产生价值。
数据仓库可以说是数据库的升级概念。从逻辑上理解,数据库和数据仓库没有什么区别,都是通过数据库技术来存储数据的。不过从数量上来讲,数据仓库的量更庞大,适用于数据挖掘和数据分析。数据库可以理解是一项技术。
数据仓库将原有的多个数据来源中的数据进行汇总、整理而得。数据进入数据仓库前,必须消除数据中的不一致性,方便后续进行数据分析和挖掘。
**数据挖掘**的英文是Data Mining缩写是DM。在商业智能BI中经常会使用到数据挖掘技术。数据挖掘的核心包括分类、聚类、预测、关联分析等任务通过这些炼金术我们可以从数据仓库中得到宝藏比如商业报告。
很多时候企业老板总是以结果为导向他们认为商业报告才是他们想要的但是这也是需要经过地基DW、搬运工ETL、科学家DM等共同的努力才得到的。
## 元数据 VS 数据元
我们前面提到了数据仓库,在数据仓库中,还有一类重要的数据是元数据,那么它和数据元有什么区别呢?
**元数据**MetaData描述其它数据的数据也称为“中介数据”。
**数据元**Data Element就是最小数据单元。
在生活中只要有一类事物就可以定义一套元数据。举个例子比如一本图书的信息包括了书名、作者、出版社、ISBN、出版时间、页数和定价等多个属性的信息我们就可以把这些属性定义成一套图书的元数据。
在图书这个元数据中,书名、作者、出版社就是数据元。你可以理解是最小的数据单元。元数据最大的好处是使信息的描述和分类实现了结构化,让机器处理起来很方便。
元数据可以很方便地应用于数据仓库。比如数据仓库中有数据和数据之间的各种复杂关系,为了描述这些关系,元数据可以对数据仓库的数据进行定义,刻画数据的抽取和转换规则,存储与数据仓库主题有关的各种信息。而且整个数据仓库的运行都是基于元数据的,比如抽取调度数据、获取历史数据等。
通过元数据,可以很方便地帮助我们管理数据仓库。
## 数据挖掘的流程
聊完了数据仓库我们再来谈谈数据挖掘。数据挖掘不是凭空产生的它与数据库技术的发展分不开。数据挖掘的一个英文解释叫Knowledge Discovery in Database简称KDD也就是数据库中的知识发现。
在数据挖掘中,有几个非常重要的任务,就是**分类、聚类、预测和关联分析**。我来解释下这些概念。
**1. 分类**
就是通过训练集得到一个分类模型,然后用这个模型可以对其他数据进行分类。
这里需要说明下训练集和测试集的概念。一般来说数据可以划分为训练集和测试集。训练集是用来给机器做训练的,通常是人们整理好训练数据,以及这些数据对应的分类标识。通过训练,机器就产生了自我分类的模型,然后机器就可以拿着这个分类模型,对测试集中的数据进行分类预测。同样如果测试集中,人们已经给出了测试结果,我们就可以用测试结果来做验证,从而了解分类器在测试环境下的表现。
**2. 聚类**
人以群分,物以类聚。聚类就是将数据自动聚类成几个类别,聚到一起的相似度大,不在一起的差异性大。我们往往利用聚类来做数据划分。
**3. 预测**
顾名思义,就是通过当前和历史数据来预测未来趋势,它可以更好地帮助我们识别机遇和风险。
**4. 关联分析**
就是发现数据中的关联规则,它被广泛应用在购物篮分析,或事务数据分析中。比如我们开头提到的那个案例。
数据挖掘要怎么完成这些任务呢?它需要将数据库中的数据经过一系列的加工计算,最终得出有用的信息。
这个过程可以用以下步骤来描述。
<img src="https://static001.geekbang.org/resource/image/bb/5e/bb63e82e50de89776abf7681a5b8785e.jpg" alt="">
首先,输入我们收集到的数据,然后对数据进行预处理。预处理通常是将数据转化成我们想要的格式,然后我们再对数据进行挖掘,最后通过后处理得到我们想要的信息。
那你可能想问,为什么不直接进行数据挖掘,还要进行数据预处理呢?
因为在这个过程中,输入的数据通常是从不同渠道采集而来的,所以数据的格式以及质量是参差不齐的,所以我们需要对数据进行预处理。
**数据预处理**中,我们会对数据进行几个处理步骤:数据清洗,数据集成,以及数据变换。
**1. 数据清洗**
主要是为了去除重复数据,去噪声(即干扰数据)以及填充缺失值。
**2. 数据集成**
是将多个数据源中的数据存放在一个统一的数据存储中。
**3. 数据变换**
就是将数据转换成适合数据挖掘的形式。比如通过归一化将属性数据按照比例缩放这样就可以将数值落入一个特定的区间内比如0~1之间。
我会在后面的几节课给你讲解如何对数据进行预处理。
**数据后处理**是将模型预测的结果进一步处理后再导出。比如在二分类问题中一般能得到的是0~1之间的概率值此时把数据以0.5为界限进行四舍五入就可以实现后处理。
## 白话数据概念
说了这么多概念,可能你还是觉得很抽象,我来打个比喻。比如你认识了两个漂亮的女孩。
**商业智能**会告诉你要追哪个?成功概率有多大?
**数据仓库**会说,我这里存储了这两个女孩的相关信息,你要吗?
其中每个女孩的数据都有单独的文件夹,里面有她们各自的姓名、生日、喜好和联系方式等,这些具体的信息就是**数据元,<strong>加起来叫作**元数据。</strong>
**数据挖掘**会帮助你确定追哪个女孩,并且整理好数据仓库,这里就可以使用到各种算法,帮你做决策了。
你可能会用到**分类算法**。御姐、萝莉、女王,她到底属于哪个分类?
如果认识的女孩太多了多到你已经数不过来了比如说5万人你就可以使用**聚类算法**了它帮你把这些女孩分成多个群组比如5个组。然后再对每个群组的特性进行了解进行决策。这样就把5万人的决策转化成了5个组的决策。成功实现降维大大提升了效率。如果你想知道这个女孩的闺蜜是谁那么**关联分析算法**可以告诉你。
如果你的数据来源比较多,比如有很多朋友给你介绍女朋友,很多人都推荐了同一个,你就需要去重,这叫**数据清洗**;为了方便记忆,你把不同朋友推荐的女孩信息合成一个,这叫**数据集成**;有些数据渠道统计的体重的单位是公斤,有些是斤,你就需要将它们转换成同一个单位,这叫**数据变换。**
最后你可以进行数据可视化了,它会直观地把你想要的结果呈现出来。
## 上帝不会告诉我们规律,而是展示给我们数据
还记得高中物理课上我们计算自由落体运动加速度的实验吗?
我们将重物连上纸带,通过电火花打点计时器,在纸带上会出现多个打点。然后我们通过纸带上打点的个数,以及点之间的间距,来计算自由落体运动的加速度。通过多组实验,取平均值的方式将误差降到最小。
在我们的高中时代,许多定律都是通过实验得出的。参加工作以后,很多数据是业务数据,比如电商的客户购物数据等,这些数据依然有着某些规律。这就需要我们通过数据挖掘的力量来帮我们揭示规律,通过利用这些规律,可以帮我们创造更大的价值。
今天的内容到这里就结束了,我出几道题让你回顾下今天的内容吧。
1.什么是KDD
A. 数据挖掘与知识发现<br>
B. 领域知识发现<br>
C. 文档知识发现<br>
D. 动态知识发现
2.某超市将火锅产品和骨汤进行并列陈列后这两种商品相比以往提升了50%的销售额,这种属于数据挖掘的哪类问题?
A. 关联规则发现<br>
B. 聚类<br>
C. 分类<br>
D. 自然语言处理
最后,说一下你是如何理解数据挖掘的价值的?可以谈谈你的体会或者项目经历。
如果你觉得今天的内容有所启迪,欢迎点击“请朋友读”,分享给你的朋友或者同事,一起来学习。