《统计学习方法》第 2 版课件 + 算法实现代码

李航的《统计学习方法》(GitHub 地址)可以说是机器学习的入门宝典,许多机器学习培训班、互联网企业的面试、笔试题目,很多都参考这本书。该书从 2005 年开始写作一直到 2012 年完成,包含了众多主要的监督学习算法与模型。今年,《统计学习方法》第二版正式发布,通过 6 年时间的努力,在第一版的基础上又增加了无监督学习的主要算法与模型。

这里插入个图表,列举了各个章节所占篇幅,其中 SVM 是监督学习里面占用篇幅最大的,MCMC 是无监督里面篇幅占用最大的,另外 DT,HMM,CRF,SVD,PCA,LDA,PageRank 也占了相对较大的篇幅。
这里插入个图表,列举了各个章节所占篇幅,其中 SVM 是监督学习里面占用篇幅最大的,MCMC 是无监督里面篇幅占用最大的,另外 DT,HMM,CRF,SVD,PCA,LDA,PageRank 也占了相对较大的篇幅。

《统计学习方法》第二版的最新课件,是由清华大学深圳研究院的袁春教授制作的。

所有的课件都是 PPT 格式,总共包含 22 章。正好是《统计学习方法》第 2 版的完整内容。

其中,第 1 章至第 12 章主要是《统计学习方法》第一版的内容。主要介绍统计学习及监督学习概论、感知机、近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM 算法及其推广、隐马尔可夫模型、条件随机场、监督学习方法总结。

第 2 版增加的新内容包括:

  • 第 13 章 – 无监督学习概论
  • 第 14 章 – 聚类方法
  • 第 15 章 – 奇异值分解
  • 第 16 章 – 主成分分析
  • 第 17 章 – 潜在语义分析
  • 第 18 章 – 概率潜在语义分析
  • 第 19 章 – 马尔可夫链蒙特卡罗法
  • 第 20 章 – 潜在狄利克雷分配
  • 第 21 章 – PageRank 算法
  • 第 22 章 – 无监督学习方法总结
整个这本书里面各章节也不是完全独立的,这部分希望整理章节之间的联系以及适用的数据集。算法到底实现到什么程度,能跑什么数据集也是一方面。
整个这本书里面各章节也不是完全独立的,这部分希望整理章节之间的联系以及适用的数据集。算法到底实现到什么程度,能跑什么数据集也是一方面。

最后,Github 上有同学将第一版相关的机器学习算法用 Python 实现了一遍,致力于将李航博士《统计学习方法》一书中所有算法实现一遍。

GitHub地址项目 GitHub 地址

开源 Markdown 编辑器

Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。Markdown 在文字爱好者和码农们那里非常受欢迎,今天和大家推荐另一款高颜值的、功能强大的开源 Markdown 编辑器 —— Notable,Notable 一款开源的高颜值、跨平台的 Markdown 编辑器。

Notable

Notable 支持 Linux、FreeBSD、MacOS、Windows7 等主流操作系统,实际上它与 VS Code 所使用的编辑器相同,因此内置了多光标,小地图和一流的语法高亮等功能。和其他编辑器的功能特性比较如下:

Click to Enlarge

GitHub地址项目 GitHub 地址

语音数据处理指南

随着企业开始进行人工智能技术的探索,三个特定的领域引起了很多关注:计算机视觉、自然语言应用和语音技术。世界知识产权局(WIPO)最近的一份报告发现,这三个领域的专利占了人工智能相关专利的大部分:计算机视觉占49%,自然语言处理(NLP)占14%,语音技术占13%。

企业里有很多非结构化和半结构化的文本数据,而很多公司已经拥有了 NLP 和文本分析的经验。虽然比较少的公司拥有收集和存储图像或视频的基础设施,但计算机视觉是许多公司开始探索的领域。深度学习和其他技术的兴起促使初创公司商业化了一些计算机视觉的应用,包括安防和合规、媒体和广告以及内容生成。

一些企业也在探索话音和语音的应用。自然语言和语音模型的最新进步提升了准确性,从而开辟出了一些新的应用。在企业语音应用方面,呼叫中心、销售和客户支持以及个人助理等应用处于领先地位。在消费者应用方面,语音搜索、智能音箱和数字助理正越来越普及。虽然远非完美,但目前这一代话音和语音应用已经足够得好,从而推动了语音应用的爆炸性增长。语音技术的潜力的一个早期线索是语音驱动的搜索的增长。Comscore 估计,到 2020 年,大约一半的在线搜索将使用语音。Gartner 建议企业重新设计其网站,以支持视觉和语音搜索。此外,从 2018年到 2019 年,智能音箱预计将增长 82% 以上。到今年年底,此类设备的安装数将超过 2 亿台。

音频内容数据也正在呈现爆炸式的增长。这就需要使用语音技术进行搜索和挖掘,从而能解锁这些新内容。例如,根据《纽约时报》最近的一篇文章,在美国“每个月中大概有三分之一的人会至少收听一次播客”。播客节目的增长并不仅限于美国,包括中国在内的世界各地的播客量都在增加。

语音和对话应用挑战性

在文本和 NLP 或计算机视觉领域里,程序员可以简单地开发出一个应用。但语音应用(不是简单的语音命令)对许多企业来说仍然具有挑战性。口语比书面文字有更多的“噪音”。例如,在阅读了许多播客脚本后,我们可以证明语音对话的脚本仍然需要大量的编辑工作。即使你可以获得最好的转录(语音到文本)技术,你也通常也会看到一个包含暂停、填充、重启、插话(在对话的场景里)和不合语法结构的句子的脚本数据。脚本还可能包含需要改进的段落,因为有人可能“在开脑洞”或难以准确地表达特定的观点。此外,由转录产生的脚本可能无有在正确的位置打标点或进行大写处理。因此,在许多应用中,脚本的后处理就需要人类编辑参与。

在计算机视觉(现在是 NLP )中,我们已经处于数据至少与算法同等重要的阶段。具体而言,预先训练的模型已经在计算机视觉和 NLP 的若干任务中提供了最好的性能。那么语音领域怎么样?“一个模型能满足所有的”语音模型没能出现的原因有下述几个:

  • 存在各种声学环境和背景噪音:室内或室外、在汽车里、在仓库里或在家庭等。
  • 可能需要支持多种语言(英语、西班牙语、中文普通话等),特别是在说话人在对话过程中使用(或混用)多种语言的情况下。
  • 应用类型(如搜索、个人助理等)会影响对话流程和词汇表。
  • 根据应用的复杂程度,需要针对特定领域和主题来调整语言模型和词汇。这一点对于文本和自然语言应用也成立。

构建语音应用

尽管存在挑战,但正如前面我们所指出的那样,语音技术和语音应用已经出现了相当多的让人激动的内容。虽然我们尚未达到可以使用通用解决方案为各种语音应用“供电”的阶段,同时也没有能够跨多个领域的语音智能助理。

然而,已经有一些很好的基础模块可以被用来组装有趣的语音应用。为了帮助正在探索使用语音技术的公司,我们整理了以下指南:

  • 集中你的注意力。正如我们所指出的那样,当前一代语音技术无法实现“一个模型能满足所有的”场景。因此最好将重点放在特定任务、某种语言和某个领域。
  • 理解应用想要实现的目标,然后再去看所需要的技术类型。如果你能知道应用的 KPI,那么就可以使用这些 KPI 来找到为特定应用领域实现这些度量标准所需要的语言模型。
  • 在“真实数据和真实场景”里进行实验。如果你计划开始使用现成的模型和服务,请注意“真实数据和真实场景”的重要性。在许多情况下,初始测试数据并不能代表用户与想部署的系统进行交互的方式。
  • 获取每个特定任务的标记样本。例如,识别英语中的“cat”和中文普通话中的“猫”将需要不同的模型和不同的标记数据。
  • 制定数据采集策略以保证收集到合适的数据。确保构建的系统可以随着收集到更多的数据而持续学习,以及制定一个支持持续改进的迭代流程。
  • 语音应用的用户关心的是结果。语音模型只有在推导出洞察力并使用这些洞察力而采取行动时才有意义。例如,如果用户要求智能音箱播放特定的歌曲,那么对该用户唯一重要的就是音箱能播放那首歌曲。
  • 自动化工作流程。理想情况下,所需的字典和语音模型可以在没有太多干预(来自机器学习或语音技术专家)的情况下进行更新。
  • 语音应用是复杂的端到端系统,因此要尽可能地进行优化。单单一个语音识别系统就是由我们在前一篇文章中描述的多个模块所组成。训练和再训练模型的代价可能很高。根据应用和场景,延迟和持续连接也是重要的考虑因素。

从 NLU 到 SLU

我们仍处于企业级语音应用的早期阶段。在过去的12个月中,我们看到预训练的自然语言模型取得了快速进展,这些模型在多个 NLP 基准测试中创造了新记录。开发人员开始采用这些语言模型,并针对特定领域和应用对它们进行微调。

对 AI 应用来说,语音数据又增加了另一层的复杂性,它超越了自然语言理解(NLU)。口语理解(SLU)需要能够从口语中提取含义。虽然 SLU 还没有被用于语言或语音应用,但好消息是,已经可以使用现有的 SLU 模型构建简单、特定用途的语音应用。为了找到正确的应用场合,企业需要了解当前技术和算法的局限性。

与此同时,我们将会一步一步地进行。正如 Alan Nichol 在一篇关注基于文本的应用的博文中指出的那样,“聊天机器人只是实现真正的 AI 助手和自动组织的第一步。”同样地,今天的语音应用揭开了即将发生的事情的一角。

特征选择工具

特征选择(Feature Selection)是查找和选择数据集中最有用特征的过程,是机器学习流程中的一大关键步骤。不必要的特征会降低训练速度、降低模型可解释性,并且最重要的是还会降低其在测试集上的泛化表现。目前存在一些专用型的特征选择方法,我常常要一遍又一遍地将它们应用于机器学习问题,这实在让人心累。所以,这里用 Python 构建了一个特征选择类并开放在了 GitHub 上。这个 Feature Selector 包含一些最常用的特征选择方法:

  1. 具有高缺失值百分比的特征
  2. 共线性(高度相关的)特征
  3. 在基于树的模型中重要度为零的特征
  4. 重要度较低的特征
  5. 具有单个唯一值(Unique Value)的特征

GitHub地址项目 GitHub 地址

微软研究院新版书籍《数据科学基础》PDF 下载

随着大数据、深度学习在学术界和工业界的普及,人们越来越认识到数据对于科研和应用的重要性。虽然现在相关的工具和框架大大降低了构建数据应用的门槛,数据科学基础对应用的构建依然起着核心的作用。本文介绍微软研究院新版书籍《数据科学基础》。

计算机科学学科从 60 年代兴起,当时人们聚焦于编程语言、编译器、操作系统和相关的数学理论。70年代左右,算法被加入作为计算机科学理论中重要的一员。随着计算机的普及,自然科学、商业等领域有着更强的发现、收集和存储数据的能力。如何理解和应用这些数据成为了现在的一个刚需。互联网和社交网络成为人们日常生活一部分的事实,反映了数据理论的机遇与挑战。

微软研究院的新版书籍《Foundations of Data Science》(《数据科学基础》)详细介绍了许多重要的数据科学理论基础。这些理论基础例如奇异值分解(SVD)、马尔科夫链、随机游走等是支撑现在广泛使用在数据应用中的算法的支柱,如推荐系统、语音识别、图神经网络等。《数据科学基础》提纲及下载链接如下:

  • 简介
  • 高维空间
  • 最佳拟合子空间和奇异值分解(SVD)
  • 随机游走和马尔科夫链
  • 机器学习
  • 面向海量数据问题的算法:流式、概述和采样
  • 聚类
  • 随机图
  • 主题模型、非负矩阵分解、隐马尔科夫模型和图模型
  • 其他主题
  • 小波

Foundations of Data Science

2019 年中国人工智能基础数据服务白皮书

人工智能基础数据服务:指为 AI 算法训练及优化提供的数据采集、清洗、信息抽取、标注等服务,以采集和标注为主。《2019 年中国人工智能基础数据服务白皮书》由艾瑞和百度数据众包联合发布,报告主要分析中国人工智能基础数据服务的现状以及未来发展方向,重点讨论人工智能基础数据服务的价值、发展背景、产业链、市场空间和应用场景。

在经历了一段时期的野蛮生长之后,人工智能基础数据服务行业进入成长期,行业格局逐渐清晰。人工智能基础数据服务方的上游是数据生产和外包提供者,下游是 AI 算法研发单位,人工智能基础数据服务方通过数据处理能力和项目管理能力为其提供整体的数据资源服务,不过 AI 算法研发单位和 AI 中台也可提供一些数据处理工具,产业上下游普遍存在交叉。

2018 年中国人工智能基础数据服务市场规模为 25.86 亿元,其中数据资源定制服务占比 86%,预计 2025年市场规模将突破 113 亿元。市场供给方主要由人工智能基础数据服务供应商和算法研发单位自建或直接获取外包标注团队的形式组成,其中供应商是行业主要支撑力量。

数据安全、采标能力、数据质量、管理能力、服务能力等仍是需求方的痛点,需要人工智能基础服务商有明确具体的安全管理流程、能够深入理解算法标注需求、可提供精力集中且高质量的服务、能够积极配合、快速响应需求方的要求。

随着算法需求越来越旺盛,依赖人工标注不能满足市场需求,因此增强数据处理平台持续学习能力,由机器持续学习人工标注,提升预标注和自动标注能力对人工的替代率将成趋势。远期,越来越多的长尾、小概率事件所产生的数据需求增强,机器模拟或机器生成数据会是解决这一问题的良好途径,及早研发相应技术也将成为 AI 基础数据服务商未来的护城河。

谷歌发布用于保护数据隐私的开发工具

无论你是城市规划师还是小型企业 CEO 或者是一名软件开发者,利用好数据可以让你更好地为客户提供服务,但是如果没有强有力的隐私保护,你也可能因此失去用户的信任。差分隐私是数据分析的一种手段,旨在提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会。例如,如果您是一名健康研究人员,您可能想要比较不同医院的患者住院的平均时间,以确定在护理方面是否存在差异。差别隐私是一种高度可靠的分析方法,可以在确保个人隐私的前提下做数据分析。

近日,谷歌开源了其差异隐私平台,该技术已经用于谷歌内部的一些核心应用,谷歌表示开源该技术是为了满足开发人员的需求而设计的。除了可以自由访问,它还希望它易于部署和使用。

以下是该库的一些功能特性:

  • 统计功能:这个版本支持大多数常见的数据科学操作。开发人员可以使用该库计算计数、和、平均值、中位数和百分位数等运算。
  • 严格的测试:正确区分隐私是一项挑战。除了一个广泛的测试组件,它还包括一个可扩展的“随机差异隐私模型检查器库”,以此避免发生错误。
  • 快速入门:开源发行版的真正用途在于回答“我可以使用这个吗?”这也是为什么谷歌加入了一个 PostgreSQL 扩展和一些常用操作指南的原因。此外,谷歌特地在一篇技术论文中描述了该库使用方法的细节
  • 模块化:谷歌设计的这个开源库可以扩展到其他功能,比如附加机制、聚合功能或隐私预算管理。

自从我们在 2014 年发布 RAPPOR 以帮助改进 Chrome 以来,谷歌一直致力于研究和开发实用的差异私有技术,例如出行软件 Project Fi 中可以了解一天中的业务繁忙程度、特定餐厅的菜肴在 Google 地图中的受欢迎程度等。今年,宣布了几项开源隐私技术 —— Tensorflow Privacy,Tensorflow Federated,,Private Join and Compute,涵盖的领域从医学到政府再到商业等。

GitHub地址项目 GitHub 地址

解读 2019 中国大数据与实体经济融合发展白皮书

在第二届数字中国建设峰会大数据分论坛大数据分论坛上,中国信息通信研究院总工程师余晓晖发布了《中国大数据与实体经济融合发展白皮书( 2019 年)》。

该白皮书对大数据与实体经济融合发展情况进行了全景展现,报告显示我国大数据融合发展已具备技术、产业、应用和政策基础,大数据在制造业、农业、服务业等实体经济各领域应用不断深入,给经济社会带来的益处和价值日益显现。

此外,白皮书还对大数据与实体经济融合发展机遇与挑战进行了深入分析,对推动我国大数据与实体经济融合创新发展提出了政策建议。

白皮书
白皮书

当前,世界经济正在加速向以数字生产力为标志的新阶段迈进,大数据是信息社会的重要战略资源,与实体经济各领域的渗透融合已成为我国经济实现高质量发展的重要驱动力。

1 . 白皮书前言(节选)

当前,以互联网、大数据、人工智能为代表的新一代信息技术日新月异,给各国经济社会发展、国家管理、社会治理、人民生活带来重大而深远的影响。

近年来,我国大数据产业保持良好发展势头,大数据与实体经济各领域渗透融合全面展开,融合范围日益宽广,融合深度逐步加深,融合强度不断加大,融合载体不断完善,融合生态加速构建,新技术、新产业、新业态、新模式不断涌现,战略引领、规划指导、标准规范、政策支持、产业创新的良性互动局面加快形成。

中国信息通信研究院结合我国大数据与实体经济融合的发展趋势,从融合发展的意义、融合发展的基础、融合发展的成效以及未来发展的重点任务四个方面对我国大数据与实体经济融合发展分析总结,形成白皮书,勾画了我国大数据与实体经济融合发展的全景,望为社会各界深入了解大数据与实体经济各领域渗透融合的最新情况和发展机遇提供有价值的参考。

2.  白皮书目录

一、大数据与实体经济融合是新时代发展的内在要求

  1. 大数据与实体经济融合是建设现代化经济体系的必由之路
  2. 大数据与实体经济融合是推动国家治理现代化的必然选择
  3. 大数据与实体经济融合是满足人民美好生活需要的重要举措

二、大数据与实体经济融合发展具备基础

  1.  技术基础不断强化
  2.  产业基础日益坚实
  3.  应用基础加快构筑
  4.  政策环境持续完善

三、大数据与实体经济融合发展成效初显

  1. 大数据与实体经济融合走向纵深
  2. 数据推动制造业转型升级提速
  3. 大数据促进数字农业建设稳步推进
  4. 大数据助力服务业新兴业态蓬勃发展
  5. 大数据支撑公共服务智慧高效

四、努力开创大数据与实体经济融合发展的新局面

  1. 大数据与实体经济融合发展机遇与挑战并存
  2. 新思路、新举措力促大数据与实体经济融合创新发展

以下为白皮书解读 PPT :

解读
解读
大数据与实体经济融合是新时代发展的内在要求
大数据与实体经济融合是新时代发展的内在要求
大数据与实体经济融合发展具备基础
大数据与实体经济融合发展具备基础
技术基础不断强化
技术基础不断强化
产业基础日益坚实1/2
产业基础日益坚实1/2
产业基础日益坚实2/2
产业基础日益坚实2/2
应用基础加快构筑
应用基础加快构筑
政策环境持续完善
政策环境持续完善
大数据与实体经济融合发展成效初显
大数据与实体经济融合发展成效初显
与实体经济融合走向纵深
与实体经济融合走向纵深
数字化转型
数字化转型
促进数字农业建设稳步推进
促进数字农业建设稳步推进
数据推动制造业转型升级提速
数据推动制造业转型升级提速
助力服务业新兴业态蓬勃发展1/2
助力服务业新兴业态蓬勃发展1/2
助力服务业新兴业态蓬勃发展2/2
助力服务业新兴业态蓬勃发展2/2
支撑公共服务智慧高效
支撑公共服务智慧高效
努力开创大数据与实体经济融合发展的新局面
努力开创大数据与实体经济融合发展的新局面
机遇与挑战并存
机遇与挑战并存
新思路新与举措1/4
新思路新与举措1/4
新思路新与举措2/4
新思路新与举措2/4
新思路新与举措3/4
新思路新与举措3/4
新思路新与举措4/4
新思路新与举措4/4

数据科学、神经网络、机器学习完全图解

这是一份非常详实的备忘单,涉及具体内容包括:

  1. 神经网络基础知识
  2. 神经网络图谱
  3. 机器学习基础知识
  4. 著名 Python 库 Scikit-Learn
  5. Scikit-Learn 算法
  6. 机器学习算法选择指南
  7. TensorFlow
  8. Python 基础
  9. PySpark 基础
  10. Numpy 基础
  11. Bokeh
  12. Keras
  13. Pandas
  14. 使用 Pandas 进行Data Wrangling
  15. 使用 dplyr 和 tidyr 进行 Data Wrangling
  16. SciPi
  17. MatPlotLib
  18. 使用 ggplot 进行数据可视化
  19. Big-O
神经网络 Cheat Sheet
神经网络 Cheat Sheet

第一部分:神经网络

神经网络基础知识
神经网络基础知识

神经网络基础知识

人工神经网络(ANN),俗称神经网络,是一种基于生物神经网络结构和功能的计算模型。 它就像一个人工神经系统,用于接收,处理和传输计算机科学方面的信息。

神经网络
神经网络

基本上,神经网络中有 3 个不同的层:

  • 输入层(所有输入都通过该层输入模型)
  • 隐藏层(可以有多个隐藏层用于处理从输入层接收的输入)
  • 输出层(处理后的数据在输出层可用)

神经网络图谱

神经网络图谱
神经网络图谱

图形数据可以与很多学习任务一起使用,在元素之间包含很多丰富的关联数据。例如,物理系统建模、预测蛋白质界面,以及疾病分类,都需要模型从图形输入中学习。图形推理模型还可用于学习非结构性数据,如文本和图像,以及对提取结构的推理

第二部分:机器学习

机器学习 Cheat Sheet
机器学习

用 Emoji 解释机器学习

用 Emoji 解释机器学习
用 Emoji 解释机器学习

Scikit-Learn 基础

Scikit-learn 是由 Python 第三方提供的非常强大的机器学习库,它包含了从数据预处理到训练模型的各个方面,回归和聚类算法,包括支持向量机,是一种简单有效的数据挖掘和数据分析工具。在实战使用scikit-learn 中可以极大的节省代码时间和代码量。它基于 NumPy,SciPy 和 matplotlib 之上,采用 BSD许可证。

Scikit-Learn 基础
Scikit-Learn 基础

Scikit-Learn 算法

这张流程图非常清晰直观的给出了 Scikit-Learn 算法的使用指南。

Scikit-Learn 算法
Scikit-Learn 算法

针对 Azure Machine Learning Studios 的 Scikit-Learn 算法

针对 Azure Machine Learning Studios 的 Scikit-Learn 算法
针对 Azure Machine Learning Studios 的 Scikit-Learn 算法

第三部分:Python 数据科学

Python
Python

TensorFlow

 

 

 

TensorFlow
Python 基础

 

Python 基础
Python 基础

PySpark RDD 基础

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎,通过 Scala 语言实现,拥有 Hadoop MapReduce 所具有的优点,不同的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。PySpark 是 Spark  为 Python 开发者提供的  API。

NumPy基础

NumPy 是 Python 语言的一个扩展程序库。支持高端大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,前身 Numeric,主要用于数组计算。它实现了在 Python 中使用向量和数学矩阵、以及许多用 C 语言实现的底层函数,并且速度得到了极大提升。

NumPy基础
NumPy基础

Bokeh

Bokeh 是一个交互式可视化库,面向现代 Web 浏览器。目标是提供优雅、简洁的多功能图形构造,并通过非常大或流数据集的高性能交互来扩展此功能。Bokeh 可以实现快速轻松地创建交互式图表、仪表板和数据应用程序。

Bokeh
Bokeh

Keras

Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK , 或者 Theano 作为后端运行。Keras 的开发重点是支持快速的实验。能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。

Keras
Keras

Pandas

pandas 是一个为 Python 编程语言编写的软件库,用于数据操作和分析,基于 NumPy,纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas 提供了大量快速便捷地处理数据的函数和方法。

Pandas
Pandas

使用 Pandas 进行 Data Wrangling

使用 Pandas 进行 Data Wrangling

使用Pandas进行Data Wrangling
使用 Pandas进行 Data Wrangling

使用 ddyr 和 tidyr 进行 Data  Wrangling

为什么使用 tidyr 和 dplyr 呢?因为虽然 R 中存在许多基本数据处理功能,但都有点复杂并且缺乏一致的编码,导致可读性很差的嵌套功能以及臃肿的代码。使用 ddyr 和 tidyr 可以获得:

  • 更高效的代码
  • 更容易记住的语法
  • 更好的语法可读性
使用ddyr和tidyr进行Data Wrangling
使用 ddyr和 tidyr进行 Data Wrangling

Scipy 线性代数

SciPy 是一个开源的 Python 算法库和数学工具包。 SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。 与其功能相类似的软件还有 MATLAB、GNU Octave 和 Scilab。

Scipy线性代数
Scipy 线性代数

Matplotlib

Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。 它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。

Matplotlib
Matplotlib

使用 ggplot2 进行数据可视化

使用ggplot2进行数据可视化
使用 ggplot2 进行数据可视化

Big-O

大 O 符号(英语:Big O notation),又稱為漸進符號,是用于描述函数渐近行为的数学符号。 更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。 … 阶)的大 O,最初是一个大写希腊字母 “Ο” (omicron),现今用的是大写拉丁字母 “O”。

Big-O
Big-O

PDF下载(或点击阅读原文链接):
https://cheatsheets.becominghumanai.com/

参考链接:
https://becominghuman.ai/cheat-sheets-for-ai-neural-networks-machine-learning-deep-learning-big-data-science-pdf-f22dc900d2d7

 

 

 

 

 

 

《工业大数据白皮书》2019版

近日,由中国电子技术标准化研究院、全国信息技术标准化技术委员会大数据标准工作组主编,工业大数据产业应用联盟联合主编,联想集团等多家联盟成员企业参编的《工业大数据白皮书(2019版)》发布。

工业大数据白皮书(2019版)》基于工业大数据技术、产业发展现状,重点围绕『工业数据管理』这一热点议题,提炼了当前工业领域数据管理的重要方法,完善了工业大数据标准体系,为推动工业大数据落地应用和战略部署提供标准化支撑。

LaTeX 代码数学神器

这是一个帮你快速把数学公式图片转成 LaTeX 代码的工具,名为 Snip,可以免费下载使用。操作非常简单!下载工具之后,只需要一个快捷键,把数学公式截图下来,它就能给你LaTeX代码,你也可以直接在任务栏中修改代码,然后复制、粘贴,写出自己的公式。而且,这一工具不仅仅适用于用电脑打出来的公式,你自己手写的公式,也可以识别出来。

Convert images to LaTeX
Convert images to LaTeX

更好的是,这个工具适用于 Mac、Windows、Ubuntu 系统,适用于所有支持 LaTeX 的编辑器。

 

埃森哲:大数据分析方法论

当前,越来越多的应用涉及到大数据,而这些大数据的属性,包括数量、速度、多样性等等都呈现出不断增长的复杂性,因此,大数据分析方法在这一领域也就显得尤为重要,可以说是决定最终信息是否有价值的决定性因素。全球最大的管理咨询公司「埃森哲」的此前发布了一份 PPT,讲述大数据分析方法,看看他们具体是如何进行的。

由于此报告发布已经有一段时间,里面所提及的各种数据分析工具未必是最好的选择。诸如:SAS / SPSS / MATLAB 均为严谨高效的数据统计商业应用型工具,好比数据库中的 ORACLE,然而, R 与 Python 显然更匹配基础科学人才培养目标。同时,数据科学与大数据在各细分领域并发性爆发,充分展现了开源生态圈协同开发模式的强大优势与趋势。同时标志着『半成品化』应用工具时代的到来。最后,R 与 Python 逐步成为贯穿数据科学与大数据,机器学习,深度学习,新一代人工智能,乃至区块链技术一脉相承的语言工具,纯数据以外,更多的对象被纳入统计范围内。

尽管如此,从全面解读数据分析方法论的角度而言,此份报告仍然不失为一份有价值的参考材料。

《埃森哲:大数据分析方法论》。下载

面向数据科学与新一代人工智能的 K8S

数据科学家和软件工程师有许多相同的关注点:可重复的实验(比如可重复的构建);可移植和可复制的环境(如在开发、过渡和生产环境中具有相同的设置);凭证管理;跟踪和监控生产环境中的指标;灵活的路由;轻松扩展。不难看出,应用程序开发人员使用 Kubernetes 所做的事情与数据科学家可能想做的事之间有一些类似之处:

  • 可重复的批处理作业,如 CI/CD 管道,类似于机器学习管道,多个协同阶段在其中以可重复的方式一起处理数据、提取特征、训练、测试和部署模型;
  • 描述服务之间连接的声明性配置有助于创建跨平台的可重复学习管道和模型;
  • 微服务架构支持在管道中对机器学习模型进行简单地调试,并帮助数据科学家和他们团队中的其他成员进行协作。

数据科学家与应用程序开发人员面临许多相同的挑战,但他们也面临一些独特的挑战,这些挑战与数据科学家的工作方式以及机器学习模型比传统服务更难测试和监控这一事实有关。我们将重点讨论一个与工作流相关的问题。

大多数数据科学家使用交互式笔记本(interactive notebooks)工作,这是一个笔记本环境,通常由 Project Jupyter 开发,提供一种交互式 迭代编程环境,用户可以在其中混合说明性本文和代码、运行并更改代码、检查其输出。

这些特性使得该环境对探索性分析非常灵活。然而,它们并不是用于协作或发布的理想软件工件——想象一下,如果软件开发人员发布工作的主要方式是将来自交互式 REPL 脚本发布到 pastebin 服务。

与同事分享交互式笔记本就像分享实体笔记本一样——里面有一些很好的信息,但是必须仔细查找才能找到。由于笔记本的脆弱性和对环境的依赖性,同事在运行笔记本时可能会看到不同的输出——甚至更糟:它可能会崩溃。

数据科学家可能不想成为 Kubernetes 专家——这很好!Kubernetes 的优点之一就是构建更高级工具的强大框架。

Binder 服务 就是其中一个工具,采用一个 Jupyter 笔记本的 Git 存储库,构建容器镜像来提供服务,然后在路由公开的 Kubernetes 集群中启动镜像,这样就可以从公网访问。由于笔记本的一大缺点是其正确性和功能可能依赖于其环境,因此,如果有一个高级工具可用来构建不可变环境为 Kubernetes 上的笔记本提供服务的话,就可以避免许多让人头疼的事。

你可以使用托管的 Binder 服务或 运行自己的 Binder 实例,但是,如果你想在这个过程中获得更大的灵活性,你还可以使用 Source-To-Image(S2I)工作流和工具,以及 Graham Dumpleton 提供的 Jupyter S2I 镜像 上线自己的笔记本服务。事实上,对于基础设施专家或打包专家来说,Source-To-Image 工作流是构建可供主题专家使用的高级工具的良好起点。例如,Seldon 项目 使用 S2I 来简化模型服务发布——只要向构建器提供一个模型对象,它将构建一个容器并将其作为服务公开。

Source-To-Image 工作流的一个优点是,它支持在构建映像之前对源存储库进行任意操作和转换。有个例子可以说明这个工作流有多强大,我们 创建了一个 S2I 构建器镜像,该镜像以一个 Jupyter 笔记本作为输入,该笔记本展示了如何训练模型。然后,它处理这个笔记本以确定它的依赖关系,并提取 Python 脚本来训练和序列化模型。有了这些,构建器就会安装必要的依赖项并运行脚本来训练模型。构建器的最终输出是一个 REST Web 服务,它为由笔记本构建的模型提供服务。你可以看下 notebook-to-model-service S2I 的运行 视频。同样,这不是数据科学家必须开发的工具,但是,创建这样的工具是 Kubernetes 专家和打包专家与数据科学家合作的绝佳机会。

PDF 数据表格提取神器

Excalibur,从古希腊语翻译过来就是『神剑』,它现在也是一种用于从 PDF 中提取表格数据的 Web 界面,使用 Python 3 编写,由 Camelot(Python 库) 提供支持,可以让任何人轻松地从 PDF 文件中提取表格数据。需要注意的是,Excalibur 仅适用于基于文本的 PDF 文件,扫描文件不在此列。

可移植文件格式

PDF 文件定义了将字符放置在相对于页面左下角的 x,y 坐标的指令。通过将某些字符放在比其他字符更近的地方来模拟单词。空格是通过将单词放在相对较远的地方来模拟的。最后,通过放置在电子表格中显示的字词来模拟表格,格式没有表格结构的内部表示。

自动检测 PDF 中的表格数据

可移植文件格式不是为表格数据设计的。可悲的是,许多开放数据共享时都是 PDF 文件,但对其中的表格进行分析却是一件非常痛苦的事。简单的复制粘贴行不通,Excalibur 通过自动检测 PDF  中的表格并让你通过 Web 界面将它们保存为 CSV 和 Excel 文件,这使 PDF 表格提取变得非常简单。

可动态调整表格提取规则

虽然有很多广泛用于 PDF 表格提取的开源和闭源工具,但他们输出的表格良莠不齐。Excalibur 由 Camelot 提供支持,为用户提供附加设置以调整表格提取并获得最佳效果。相较而言,它的性能要好于其他开源工具和库。

数据完全可控且安全

你可以完全控制数据,因为所有文件存储和处理都在你自己的本地或远程计算机上进行。Excalibur 还可以配置 MySQL 和 Celery 系统,以并行和分布式方式执行表格提取任务。默认情况下,任务按顺序执行。

GitHub地址项目 GitHub 地址

教育部指定人工智能、大数据等为战略性新兴专业

日前,教育部发布《教育部关于加快建设高水平本科教育全面提高人才培养能力的意见》(教高[2018]2号)文件,文件的第六个方面“大力推进一流专业建设”中,第22条提出要动态调整专业结构,原文如下:

“动态调整专业结构。深化高校本科专业供给侧改革,建立健全专业动态调整机制,做好存量升级、增量优化、余量消减。主动布局集成电路、人工智能、云计算、大数据、网络空间安全、养老护理、儿科等战略性新兴产业发展和民生急需相关学科专业。推动各地、各行业、各部门完善人才需求预测预警机制,推动高校形成就业与招生计划、人才培养的联动机制。”

在这7大一流专业建设中,“集成电路”、“人工智能”、“云计算”、“大数据”、“网络空间安全”5个专业,属于战略性新兴产业相关学科专业。从这5个专业来看,完全符合“大数据、云时代”的发展需求,全部都与计算机技术息息相关。这标志着,以计算机技术为纽带的5大战略性新兴产业,在高等教育中的地位越来越大,成为新时代本科建设的重点任务之一。从这5大专业的具体情况来看,“集成电路”是一种微型电子器件或部件,是现代信息社会的基石;“人工智能“决定人类社会的未来;“云计算和大数据技术”在当代社会中的应用价值越来越大;“网络空间安全”也是互联网高度发达背景下保障信息安全的一门重要课程。

可以说,5大专业,每1门都具备“高、精、专”的特点。选择其中任何1门专业,找工作时都不发愁。只要把专业学深学透学精,在就业市场上必然抢手。