数据分析实战45讲
陈旸
清华大学计算机博士
立即订阅
17193 人已学习
课程目录
已完结 48 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 你为什么需要数据分析能力?
免费
第一模块:数据分析基础篇 (16讲)
01丨数据分析全景图及修炼指南
02丨学习数据挖掘的最佳路径是什么?
03丨Python基础语法:开始你的Python之旅
04丨Python科学计算:用NumPy快速处理数据
05丨Python科学计算:Pandas
06 | 学数据分析要掌握哪些基本概念?
07 | 用户画像:标签化就是数据的抽象能力
08 | 数据采集:如何自动化采集数据?
09丨数据采集:如何用八爪鱼采集微博上的“D&G”评论
10丨Python爬虫:如何自动化下载王祖贤海报?
11 | 数据科学家80%时间都花费在了这些清洗任务上?
免费
12 | 数据集成:这些大号一共20亿粉丝?
13 | 数据变换:考试成绩要求正态分布合理么?
14丨数据可视化:掌握数据领域的万金油技能
15丨一次学会Python数据可视化的10种技能
16丨数据分析基础篇答疑
第二模块:数据分析算法篇 (20讲)
17 丨决策树(上):要不要去打篮球?决策树来告诉你
18丨决策树(中):CART,一棵是回归树,另一棵是分类树
19丨决策树(下):泰坦尼克乘客生存预测
20丨朴素贝叶斯分类(上):如何让机器判断男女?
21丨朴素贝叶斯分类(下):如何对文档进行分类?
22丨SVM(上):如何用一根棍子将蓝红两色球分开?
23丨SVM(下):如何进行乳腺癌检测?
24丨KNN(上):如何根据打斗和接吻次数来划分电影类型?
25丨KNN(下):如何对手写数字进行识别?
26丨K-Means(上):如何给20支亚洲球队做聚类?
27丨K-Means(下):如何使用K-Means对图像进行分割?
28丨EM聚类(上):如何将一份菜等分给两个人?
29丨EM聚类(下):用EM算法对王者荣耀英雄进行划分
30丨关联规则挖掘(上):如何用Apriori发现用户购物规则?
31丨关联规则挖掘(下):导演如何选择演员?
32丨PageRank(上):搞懂Google的PageRank算法
33丨PageRank(下):分析希拉里邮件中的人物关系
34丨AdaBoost(上):如何使用AdaBoost提升分类器性能?
35丨AdaBoost(下):如何使用AdaBoost对房价进行预测?
36丨数据分析算法篇答疑
第三模块:数据分析实战篇 (7讲)
37丨数据采集实战:如何自动化运营微博?
38丨数据可视化实战:如何给毛不易的歌曲做词云展示?
39丨数据挖掘实战(1):信用卡违约率分析
40丨数据挖掘实战(2):信用卡诈骗分析
41丨数据挖掘实战(3):如何对比特币走势进行预测?
42丨当我们谈深度学习的时候,我们都在谈什么?
43丨深度学习(下):如何用Keras搭建深度学习网络做手写数字识别?
第四模块:数据分析工作篇 (2讲)
44丨如何培养你的数据分析思维?
45丨求职简历中没有相关项目经验,怎么办?
加餐 (1讲)
加餐丨在社交网络上刷粉刷量,技术上是如何实现的?
结束语 (1讲)
结束语丨当大家都在讲知识和工具的时候,我更希望你重视思维和实战
数据分析实战45讲
登录|注册

12 | 数据集成:这些大号一共20亿粉丝?

陈旸 2019-01-09
我们采集的数据经常会有冗余重复的情况。举个简单的例子,假设你是一个网络综艺节目的制片人,一共有 12 期节目,你一共打算邀请 30 位明星作为节目的嘉宾。你知道这些明星影响力都很大,具体在微博上的粉丝数都有标记。于是你想统计下,这些明星一共能直接影响到微博上的多少粉丝,能产生多大的影响力。
然后你突然发现,这些明星的粉丝数总和超过了 20 亿。那么他们一共会影响到中国 20 亿人口么?显然不是的,我们都知道中国人口一共是 14 亿,这 30 位明星的影响力总和不会覆盖中国所有人口。
那么如何统计这 30 位明星真实的影响力总和呢?这里就需要用到数据集成的概念了。
数据集成就是将多个数据源合并存放在一个数据存储中(如数据仓库),从而方便后续的数据挖掘工作。
据统计,大数据项目中 80% 的工作都和数据集成有关,这里的数据集成有更广泛的意义,包括了数据清洗、数据抽取、数据集成和数据变换等操作。这是因为数据挖掘前,我们需要的数据往往分布在不同的数据源中,需要考虑字段表达是否一样,以及属性是否冗余。

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

数据集成是数据工程师要做的工作之一。一般来说,数据工程师的工作包括了数据的 ETL 和数据挖掘算法的实现。算法实现可以理解,就是通过数据挖掘算法,从数据仓库中找到“金子“。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《数据分析实战45讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(39)

  • 陈浩 置顶
    在“数据分析实战交流群”,老师分享了额外干货资料:“Kettle的操作视频”,有入群需求的,可加我的微信:imonica1010,和老师及同学们交流数据分析的学习心得。

    由于申请人数太多,进群免费但设置了一道小门槛,欢迎加我,了解入群规则。
    2019-01-09
    2
    13
  • 实际操作完成,说下操作过程中注意事项:
    1、下载安装jdk1.8+,注意配置系统JAVA_HOME环境变量
    2、下载Kettle
    3、如果你用的是MySQL,导入数据时会报Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed. org.gjt.mm.mysql.Driver错误。此时需要到https://dev.mysql.com/downloads/file/?id=468318%20下载后,解压出mysql-connector-java-5.1.41-bin.jar 包,放到pdi-ce-8.2.0.0-342\data-integration\lib目录即可。
    2019-01-09
    1
    12
  • 云深不知处
    大约三年大数据工程师工作,从最开始的数据集成(sqoop、代码、商用软件ETL工具等),将数据汇聚到数据仓库,理解业务,清洗应用需要的数据。数据集成是将多源(多系统)、多样(结构化、非结构化、半结构化)、多维度数据整合进数据仓库,形成数据海洋,更好的提供业务分析系统的数据服务,通过数仓的数据集成,达到数据共享的效果,降低对原始业务系统的影响,同时加快数据分析工作者的数据准备周期。数据集成最开始就是原始系统的数据,照样搬到数据仓库,这种类型工作长期实施,容易疲劳失去兴趣,理解业务需求,通过自己的数据集成、清洗、数据分析,提供有意思的数据,就是挖金子过程,应该也是一件有趣的事情。

    作者回复: 很好的分享,很多人都在做数据集成的工作,时间长了难免失去兴趣,相反数据分析会更有价值,能从数据中提炼金子

    2019-06-09
    7
  • 程序员小熊猫
    老师前面讲了ELT比ETL更方便,结果后面介绍的是ETL。。。
    2019-01-21
    1
    7
  • JingZ
    #2019/1/9 Kettle数据集成

    1、安装jdk:官网http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载mac版的JDK,下载后,直接安装。终端验证java-version~

    2、安装Kettle:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
    下载最新pdi-ce-8.2.0.0-342.zip压缩包,直接生成data integration文件夹

    3、下载数据库驱动:https://dev.mysql.com/downloads/connector/j/
    mysql-connector-java-5.1.41.tar.gz解压,但是出现了query-cache-size问题,重新下载最新mysql-connector-java-8.0.13.tar.gz,又出现找不到jar文件。重启也不行~最后两个文件都放在了data integration/lib里面,貌似就可以了,这块还需再探索

    4、打开终端,启动Kettle:sh spoon.sh打开Spoon,开始文本输入和表输出了

    5、安装MySQL,同时安装了MySQL WorkBench建立数据库wucai和表score,目前出现表输出Unexpected batch update error committing the database connection和org.pentaho.di.core.exception.KettleDatabaseBatchException问题,可能是对SQL设置问题,还需debug

    接触新工具,还需多实践
    2019-01-09
    6
  • 奔跑的徐胖子
    希望有如我一般的使用Mac的屌丝注意,安装完了Kettle之后,要去mysql官网下载驱动,这个驱动不能用最新版本的,要用老版本的才能连接数据库,我用的是5.1.46
    2019-03-22
    1
    5
  • GGYY
    “we were unable to find any new incoming fields”

    这里试试在“内容”一栏,吧编码方式改一下。默认为 DOS
    2019-01-29
    5
  • lingmacker
    为什么我获取字段会出现 we were unable to find any new incoming fields! 错误啊?
    2019-01-18
    5
  • Yafei
    Deepin linux
    1. 安装 openjdk
    2. 0. 下载kettle zip包,解压即可。
    2. 下载 mysql jdbc driver(https://dev.mysql.com/downloads/connector/j/),解压將 mysql-connector-java-8.0.15 (我用的这个版本) 放入 ‘data-integration/lib/’ 目录下。
    3. sudo apt-get install mysql ,安装完后如果使用 root 用户,注意是否能以localhost登录,创建一个数据库用来测试,并创建一个table,表名随意,字段能对应到你的数据即可。
    4. 运行脚本 spoon.sh 打开 kettle, 添加 text input ,双击 -- 添加数据文件 -- 切换到‘内容’ -- 修改分隔符为tab -- 修改格式为 Unix(如不修改会找不到字段) -- 切换到‘字段’ --获取字段
    2019-03-13
    4
  • veical
    加载就是把转换后的数据从中间层(stage层,通常是一个数据库或数据库集群)导入数据分析层,然后才能在模型中用这些干净的数据进行数据分析
    2019-01-10
    4
  • Chino
    文本文件输入那里获取字段出错误了 出错原因拿去搜了下 还什么都搜不出来 求教啊
    we were unable to find any new incoming fields
    2019-01-21
    1
    2
  • 杨名流
    按照视频操作,获取不到文本文件字段,怎么解决?
    2019-01-20
    2
  • qinggeouye
    1、搭环境(open jdk , mysql 8.0 , mysql-connector for java, kettle)
    2、启动 kettle , 实操 ...
    2019-11-12
    1
  • 羊小看
    目前我们做的业务需求比较多,一个需求有时会关联五六张表,所以我们特别希望可以先做转换,做成大宽表,入仓,可以直接用。
    老师说的先加载再转换,是适用于做数据挖掘时吗?
    2019-08-27
    1
  • 旭霁
    数据库 MySQL 操作
    本地登录
    mysql -u root -p

    创建数据库 wucai
    CREATE DATABASE wucai;

    查询数据库
    show databases;

    切换/进入数据库 wucai
    use wucai;

    创建数据库表 score。包含 create_time、name、Chinese、English、Math 五个字段。
    CREATE TABLE score (create_time VARCHAR(255) NULL, name VARCHAR(255) NULL, Chinese VARCHAR(255) NULL, English VARCHAR(255) NULL, Math VARCHAR(255) NULL);

    查询数据库表
    show tables;
    2019-03-19
    1
  • james
    使用postgresql的朋友, 记得再spoon中给表字段加引号
    2019-01-28
    1
  • 任欣
    我理解的数据集成其实就是将不同来源的数据,转化为同意数据源,并存放在一起的一个过程。 就像我们在做数据分析的时候将excel数据与挖掘的文本数据进行合并,并且分析的过程。老师文中讲述的是大的项目需要自动化的实现。所以etl elt模型以及kettle datax这些工具会辅助过程快速高效完成。 老师怎么看。
    2019-01-10
    1
  • Viola
    monica很赞啊,老师在群里发送了小视频,第一时间更新在文章里,👍
    2019-01-09
    1
  • Lin_嘉杰
    对数据集成的理解仅限于对多个来源的数据源,比如csv,mysql,nosql,excel等,尽可能完整集合成一个全面的数据库,方便后续数据挖掘。
    2019-01-09
    1
    1
  • 北房有佳人
    老师,kettle的教程不太详细,github的数据集也没办法下载啊

    作者回复: https://github.com/cystanford/ 这里有数据集,可以找下,应该是可以下载的 Kettle这个我记得有操作视频 可以参考下

    2019-11-28
收起评论
39
返回
顶部