一、前言

    要应用BigGorilla框架对应数据进行数据的处理与匹配,那么首先要下载Anaconda安装,下载地址:https://www.continuum.io/downloads

  Anaconda是用于辅助程序包和环境管理的框架。您可以访问以下链接

  通过安装最新版的anaconda。可以根据更常使用的python版本下载“Python 3.5”或“Python 2.7”版本。请注意,无论您选择哪个版本,您都仍然可以运行python 2.7和python 3.5。

  具体参见:http://www.cnblogs.com/shaosks/p/7121414.html

  

  二、BigGorilla组件介绍

    1、数据获取和数据抽取

      

      假设我们已经从相关的数据库管理系统中获取一个表格X(id、name、loc),并且已经从一组新闻文章中抽取一个表格Y(id、cname、address、rev)。表格X包含有关公司名称和地址的信息,而表格Y包括每家公司的地址及其季度收入(单位:十亿美元)。

    2、数据清理

      

      我们检测到GE的收入351(表格Y的最后一行)是一个异常值。在仔细检查之后,我们意识到由于抽取错误,这个数值应该是35.1,而不是351。因此,我们将这个数值手动更改为35.1。

      *请注意,一般有很多其他类型的清理操作。

    3、模式匹配

      

      接下来,我们会匹配表格X和Y的模式。我们获取匹配name⬌cname 和loc⬌address。直观地说,这意味着表格X的属性name与表格Y的cname相同,并且表格X的属性loc与表格Y的address相同。

    4、模式合并

      

      基于表格X和Y之间的匹配name⬌cname和loc⬌address,数据科学家可选择将两个模式X(id、name、loc)和Y(id、cname、address、rev)合并为一个模式Z(name、loc、rev)。请注意,合并过程中将忽略id属性,这是数据科学家有意而为的决策

    5、数据匹配

      

      接下来,我们会匹配表格X和Y的元组。这个匹配过程完成以下关联:x1 ≃ y2和x2 ≃ y1。直观地说,第一个匹配x1 ≃ y2表示元组x1和元组y2指的是相同的实际实体(此时,它们是相同的公司Apple Inc.)。

      类似地,元组x2和y1指的是相同的公司IBM Corp。这些匹配存储在表格M中

    6、数据合并

        现在我们决定合并指示相同实体的元组。例如,若要根据匹配name⬌cname和loc⬌address将x2 =(IBM,NY)和y1=(IBM Corp.、CA、25)合并到符合模式Z(name、loc、rev)的一个元组中,

      我们必须决定如何处理冲突值name属性的“IBM”与“IBM Corp.”以及如何处理loc属性的冲突值“NY”与“CA”。      

      对于name,我们可以选择编写一个启发式规则以选择较长的字符串(即这种情况下的“IBM Corp.”),因为较长的字符串更正式,能够提供更多信息。对于loc,我们可以选择编写一个规则,其将始终从第一个表格(即此时的“NY”)中选择,

      因为表格X是高质量组织的关系数据库。当然,还有其他方式可以合并数据。数据科学家通常根据他们在域和源方面的知识,编写启发式规则。

    7、模式映射

      

        用于将表格X和Y中的数据转换到表格Z中的程序叫做模式映射。在此,根据对于X和Y中的元组应该如何合并到Z中的理解,开发模式映射。该程序可以是一个SQL查询,将根据表格X和Y中的元组填充表格Z。它使用表格M确定匹配,

      并使用功能merge_name(.)应用选择之前所述较长字符串的启发式规则。

    注意:

      上述示例经过简化,以说明数据整合的关键步骤。实际上,可能会以不同的顺序执行这些步骤,甚至可能重复其中某些步骤。例如,一旦获取表格Z,数据可能再次进行清理,并与某些其他数据集匹配和合并。

    此外,数据科学家可以选择通过在SQL查询中执行外联结来保留最后一个元组,而不是抛弃有关表格Y中最后一个元组的信息。

    通常而言,很多步骤并没有示例所示的那么琐碎,例如模式匹配/合并和数据匹配/合并。因此,模式映射以及实现所需模式映射的过程并没有上述那么琐碎。为使数据科学家轻松整理数据,使用半自动化工具在每个步骤中为数据科学家提供帮助是非常重要的。

    上面的示例涵盖了数据科学渠道的“数据整理”方面。在不同源的数据整合到一个数据库中之后,数据科学家可以通过分类、集群、异常检测、关联探索和OLAP等技术,对数据进行分析。

Python数据整合与数据准备-BigGorilla应用的更多相关文章

  1. Python数据整合与数据准备-BigGorilla介绍

    参考文档:http://www.biggorilla.org/zh-hans/walkt/ 一.前言 “根据访谈记录和专家估计,数据科学家将50%至80%的时间花在搜集和准备难以梳理的数字数据的琐碎工 ...

  2. Python数据整合与数据准备-BigGorilla实例应用

    参考文档:http://www.biggorilla.org/walkt/ 一.BigGorilla应用主要步骤 如下图: 二.实例应用 1.数据获取 urllib是非常受欢迎的用于在网络上读取数据的 ...

  3. PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)

    说明 文章首发于HURUWO的博客小站,本平台做同步备份发布. 如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览. 原文链接 PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二 ...

  4. Python 进程之间共享数据

    最近遇到多进程共享数据的问题,到网上查了有几篇博客写的蛮好的,记录下来方便以后查看. 一.Python multiprocessing 跨进程对象共享  在mp库当中,跨进程对象共享有三种方式,第一种 ...

  5. Kettle学习系列之数据仓库、数据整合、ETL、ELT和EII之间的区别?

    不多说,直接上干货! 在数据仓库领域里,的一个重要概念就是数据整合(data intergration).数据整合它就是把不同数据库中的数据整合到一起,对外提供统一的数据视图. 数据整合最典型的案例就 ...

  6. Python数学建模-02.数据导入

    数据导入是所有数模编程的第一步,比你想象的更重要. 先要学会一种未必最佳,但是通用.安全.简单.好学的方法. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数据导入 ...

  7. JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决

    JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...

  8. Python下载Yahoo!Finance数据

    Python下载Yahoo!Finance数据的三种工具: (1)yahoo-finance package. (2)ystockquote. (3)pandas.

  9. 用IBM WebSphere DataStage进行数据整合: 第 1 部分

    转自:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0602zhoudp/ 引言 传统的数据整合方式需要大量的手工 ...

随机推荐

  1. JVM指令的使用深入详解

    原文地址:https://www.jb51.net/article/155293.htm 一.未归类系列A 此系列暂未归类. 指令码    助记符                            ...

  2. 在linux下搭建wiki环境【转】

    转自:http://blog.csdn.net/chy800/article/details/6906090 由于公司需要一个知识共享的系统,选择wiki来实现.经过准备决定使用Linux+xampp ...

  3. 《linux下进程的创建,执行,监控和终止》

    <linux下进程的创建,执行,监控和终止> http://blog.csdn.net/miss_acha/article/details/43671047 http://blog.csd ...

  4. Highcharts制作图片表设置线条颜色和粗细

    Chart:图表区选项 Chart图表区选项用于设置图表区相关属性. 参数 描述 默认值 backgroundColor 设置图表区背景色 #FFFFFF borderWidth 设置图表边框宽度 0 ...

  5. 细说robots.txt

    robots.txt Robots协议(也称为爬虫协议.机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可 ...

  6. Selenium2+python自动化34-获取百度输入联想词【转载】

    前言 最近有小伙伴问百度输入后,输入框下方的联想词如何定位到,这个其实难度不大,用前面所讲的元素定位完全可以定位到的. 本篇以百度输入框输入关键字匹配后,打印出联想词汇. 一.定位输入框联想词 1.首 ...

  7. 利用return中断function

    想实现通过点击button实现文字样式的交替改变,在实现function的中断过程中遇到了一些问题,所幸解决了 <!doctype html> <html lang="en ...

  8. Servlet 调用过程

    上图的大概意思: 前台输入访问路径后,浏览器会去访问本地的host文件查询有木有与之匹配域名的IP地址,若无则在访问DNS服务器查询与之匹配的IP地址.解析IP后则开始发起HTTP请求,根据请求中的基 ...

  9. IBM-Club IntelliJ IDEA 开发环境的安装

    各位小伙伴初次使用IDE,可能还是有许多疑惑,因此这篇博客阿鲁给大家分享一下,自己平时是如何安装IntelliJ IDEA的 1.原料:安装包,直接百度搜索进入官网下载 记住是Ultimate版本呦, ...

  10. bzoj 2660: [Beijing wc2012]最多的方案

                       Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 617  Solved: 361[Submit][Status][ ...