数据分析基础篇

353 阅读7分钟

掌握数据,就是掌握规律。当你了解了市场数据,对它进行分析,就可以得到市场规律。当你了解了产品自身数据,对它进行分析,就可以了解产品的用户来源和用户画像。数据分析是当今时代的“数据结构+算法”,其重要性已经不言而喻。

一、数据分析概述

数据分析主要可以分为三部分:数据采集,数据挖掘,数据可视化。

  • 数据采集:主要与各种数据源打交道,并使用工具进行数据采集。
    • 工具:八爪鱼,火车票采集器,搜集客
    • 爬虫编写:python利器scrapy, phantomjs, selenium, lxml
  • 数据挖掘:核心就是挖掘数据的商业价值,也就是我们所谈的商业智能。数据挖掘常用十大算法:
    • 分类算法: C4.5、朴素贝叶斯、SVM、KNN、Adaboost、CART
    • 聚类算法: K-Means、EM
    • 关联分析:Apriori
    • 连接分析: PageRank
  • 数据可视化:直观了解到数据分析的结果。
    • 工具使用:微图、DataV、Data GIF Maker
    • Python可视化:Matplotlib、seaborn

二、数据分析要掌握的基本概念

2.1、商业智能BI、数据仓库DW、数据挖掘DM 三者之间的关系

  • 商业智能:Business Intelligence, 缩写是BI。相比于数据仓库、数据挖掘,它是一个更大的概念。商业智能可以说是基于数据仓库,经过了数据挖掘后,得到了商业价值的过程。所以说数据仓库是个金矿,数据挖掘是炼金术,而商业报告则是黄金。

  • 数据仓库:Data Warehouse,缩写是DW。它是BI这个房子的地基,搭建好DW这个地基后,才能进行分析使用,最后产生价值。数据仓库可以说是数据库的升级概念,从逻辑上理解,数据库和数据仓库没有本质区别,都是通过数据库技术来存储数据的。不过从数量上来讲,数据仓库的量更庞大,适用于数据挖掘和数据分析。

  • 数据挖掘:Data Mining,缩写是DM。在商业智能BI中经常会使用到数据挖掘技术。数据挖掘的核心包括分类、聚类、预测、关联分析等任务,通过这些炼金术,我们可以从数据仓库中得到宝藏,比如商业报告。

2.2、元数据和数据元

  • 元数据(MetaData):描述其它数据的数据,也称为“中介数据”。
  • 数据元(Data Element):就是最小数据单元。

在生活中,只要有一类事物,就可以定义一套元数据。举个例子,比如一本图书的信息包括了书名、作者、出版社、ISBN、出版时间、页数和定价等多个属性的信息,我们就可以把这些属性定义成一套图书的元数据。

在图书这个元数据中,书名、作者、出版社就是数据元。你可以理解是最小的数据单元。元数据最大的好处是使信息的描述和分类实现了结构化,让机器处理起来很方便。

2.3、数据挖掘的流程

在数据挖掘中,有几个非常重要的任务,就是分类、聚类、预测和关联分析。

  • 分类:就是通过训练集得到一个分类模型,然后用这个模型可以对其他数据进行分类。
    • 这里需要说明下训练集和测试集的概念。一般来说数据可以划分为训练集和测试集。训练集是用来给机器做训练的,通常是人们整理好训练数据,以及这些数据对应的分类标识。通过训练,机器就产生了自我分类的模型,然后机器就可以拿着这个分类模型,对测试集中的数据进行分类预测。
  • 聚类:聚类就是将数据自动聚类成几个类别,聚到一起的相似度大,不在一起的差异性大。我们往往利用聚类来做数据划分。
  • 预测:就是通过当前和历史数据来预测未来趋势,它可以更好地帮助我们识别机遇和风险。
  • 关联分析:就是发现数据中的关联规则,它被广泛应用在购物篮分析,或事务数据分析中。

3、数据科学家的主要工作量

在数据挖掘中,数据清洗就是这样的前期准备工作。对于数据科学家来说,我们会遇到各种各样的数据,在分析前,要投入大量的时间和精力把数据“整理裁剪”成自己想要或需要的样子。

有经验的数据分析师都知道,好的数据分析师必定是一名数据清洗高手,要知道在整个数据分析过程中,不论是在时间还是功夫上,数据清洗大概都占到了 80%。

3.1、数据质量的准则

数据清洗规则总结为以下 4 个关键点,统一起来叫“完全合一”。

  1. 完整性:单条数据是否存在空值,统计的字段是否完善。
  2. 全面性:观察某一列的全部数值,比如在 Excel 表中,我们选中一列,可以看到该列的平均值、最大值、最小值。我们可以通过常识来判断该列是否有问题,比如:数据定义、单位标识、数值本身。
  3. 合法性:数据的类型、内容、大小的合法性。比如数据中存在非 ASCII 字符,性别存在了未知,年龄超过了 150 岁等。
  4. 唯一性:数据是否存在重复记录,因为数据通常来自不同渠道的汇总,重复的情况是常见的。行数据、列数据都需要是唯一的,比如一个人不能重复记录多次,且一个人的体重也不能在列指标中重复记录多次。

3.2、养成数据审核的习惯

当你从事这方面工作的时候,你会发现养成数据审核的习惯非常重要。而且越是优秀的数据挖掘人员,越会有“数据审核”的“职业病”。这就好比编辑非常在意文章中的错别字、语法一样。数据的规范性,就像是你的作品一样,通过清洗之后,会变得非常干净、标准。

当然了,这也是一门需要不断修炼的功夫。终有一天,你会进入这样一种境界:看一眼数据,差不多 7 秒钟的时间,就能知道这个数据是否存在问题。为了这一眼的功力,我们要做很多练习。

4、数据集成的两种架构ETL和ELT

什么是 ETL 呢?ETL 是英文 Extract、Transform 和 Load 的缩写,顾名思义它包括了数据抽取、转换、加载三个过程。ETL 可以说是进行数据挖掘这项工作前的“备菜”过程。

  • 抽取是将数据从已有的数据源中提取出来。
  • 转换是对原始数据进行处理,例如将表输入 1 和 表输入 2 进行连接形成一张新的表。 image.png

根据转换发生的顺序和位置,数据集成可以分为 ETL 和 ELT 两种架构。

  • ETL 的过程为提取 (Extract)——转换 (Transform)——加载 (Load),在数据源抽取后首先进行转换,然后将转换的结果写入目的地。
  • ELT 的过程则是提取 (Extract)——加载 (Load)——变换 (Transform),在抽取后将结果先写入目的地,然后利用数据库的聚合分析能力或者外部计算框架,如 Spark 来完成转换的步骤。

image.png

5、数据可视化工具

  • 商业智能:Tableau 和 PowerBI
  • 可视化大屏类:DataV 和 FineReport
  • 前端可视化组件:Canvas、SVG 和 WebGL
  • 编程语言
    • Python: Matplotlib、Seaborn、Bokeh、Plotly、Pyecharts、Mapbox 和 Geoplotlib
    • R:ggplot2、ggmap、timevis 和 plotly