国外公开课

CDA编译团队倾力打造,精选编译国外优质公开课视频

数据科学家只懂数据还远远不够,还需要必备的商业技能
想成为一名数据分析师应该怎么开始呢?
人工智能和人类智能的究竟有哪些不同呢?
如今人工智能已经深入我们生活的方方面面,对人类社会的发展带了巨大的影响。
对于初学者来说,有哪些Python数据和项目值得一试呢?
如今Python是备受追捧的编程语言,那么当中的原因是什么呢?
如果你在编写深度神经网络,使用深度学习软件库能够很好的简化开发过程
如果你的深度学习项目需要图形分析和其他重要算法,那么DatoGraphLabCreate将是一个不错的选择

最新资讯

主要面向数据分析、机器学习、深度学习、人工智能等前沿技术话题

本文转自:Datawhale提起李宏毅老师,熟悉机器学习的读者朋友一定不会陌生。很多人选择的机器学习入门学习材料都是李宏毅老师的台大公开课视频。现在,机器学习爱好者有更完善的学习资料了。来自Datawhale的朋友整理、总结了李宏毅老师的机器学习视频教程,添加了课程笔记,实现了课程内容的完整复现。目前项目已完全开源,包括课程内容和复现代码,供大家使用。目录1.李宏毅机器学习简介2.《LeeML-Notes》李宏毅机器学习笔记3.《LeeML-Notes》学习笔记框架4.笔记内容细节展示a.对梯度下降概念的解析b.为什么需要做特征缩放c.隐形马尔科夫链的应用5.代码呈现a.回归分析b.深度学习6.作业展示7.交流互动8.开源地址9.配套视频1.李宏毅机器学习简介李宏毅老师现任台湾大学电气工程助理教授,研究重点是机器学习,特别是深度学习领域。他有一系列公开的机器学习课程视频,在机器学习领域是很多人入门的教材,人气不输吴恩达的Coursera机器学习课程。李宏毅老师的课程视频包括多种监督学习、无监督学习、半监督学习等领域,算法包括简单的线性回归、logistic回归、支持向量机,乃至深度学习中的各类神经网络模型。「梯度下降」课程中的PPT。对比了不同梯度下曲线的形状。「词嵌入」课程中的PPT。展示了语义相似词语在词嵌入后呈现出的聚集关系。因为课程中干货满满,李宏毅老师的课程视频也被称为中文世界中最好的机器学习视频。李老师以幽默风趣的上课风格让很多晦涩难懂的机器学习理论变得轻松易懂,他将理论知识与有趣的例子结合在课堂上展现,并且对深奥的理论知识逐步推导,保证学习者能够学习到问题的精髓所在。比如老师会经常用宝可梦来结合很多机器学习算法。对于想入门机器学习又想看中文讲解的人来说绝对是非常推荐的。但是,考虑到很多机器学习爱好者对于课程笔记的需求,我们不仅仅需要的是教学视频。我们需要一份课程笔记,能够引领学习者的思路,帮助引导他们进入这个领域。因此,就诞生了这款《LeeML-Notes》李宏毅机器学习笔记。2.《LeeML-Notes》李宏毅机器学习笔记LeeML-Notes是Datawhale开源组织自《机器学习南瓜书》后的又一开源学习项目,由团队成员王佳旭、金一鸣牵头,8名成员历时半年精心打磨而成,实现了李宏毅老师机器学习课程内容的100%复现,并且在此基础上补充了有助于学习理解的相关资料和内容,对重难点公式进行了补充推导。期间,Datawhale开源组织打造了《李宏毅老师机器学习》的组队学习,在众多学习者共同的努力下,对该内容进行了迭代和补充。下面,让我们来详细了解下工作详情吧。具体准备工作:2019年2月--2019年4月:笔记整理初级阶段,视频100%复现2019年4月--2019年6月:网站搭建,对笔记内容及排版迭代优化2019年5月--2019年6月:组队学习《李宏毅机器学习》并对内容进行迭代完善2019年7月:最后内容修正,正式推广。下图为修订记录表:3.《LeeML-Notes》学习笔记框架3.a亮点这份学习笔记具有以下优点:完全将李宏毅老师的讲课内容转为文字,方便学习者查阅参考。不仅保留了PPT的内容,还根据课程内容补充了一些知识点。具有完整的代码复现资料。3.b笔记框架内容在整体框架上与李宏毅老师的机器学习课程保持一致,主要由监督学习、半监督学习、迁移学习、无监督学习、监督学习中的结构化学习以及强化学习构成。建议学习过程中将李宏毅老师的视频和这份资料搭配使用,效果极佳。笔记也和课程视频完全同步。目录详情见下:P1机器学习介绍P2为什么要学习机器学习P3回归P4回归-演示P5误差从哪来?P6梯度下降P7梯度下降(用AOE演示)P8梯度下降(用Minecraft演示)P9作业1-PM2.5预测P10概率分类模型P11logistic回归P12作业2-赢家还是输家P13深度学习简介P14反向传播P15深度学习初试P16Keras2.0P17Keras演示P18深度学习技巧P19Keras演示2P20Tensorflow实现FizzBuzzP21卷积神经网络P22为什么要「深度」学习?P23半监督学习P24无监督学习-线性降维P25无监督学习-词嵌入P26无监督学习-领域嵌入P27无监督学习-深度自编码器P28无监督学习-深度生成模型IP29无监督学习-深度生成模型IIP30迁移学习P31支持向量机P32结构化学习-介绍P33结构化学习-线性模型P34结构化学习-结构化支持向量机P35结构化学习-序列标签P36循环神经网络IP37循环神经网络IIP38集成学习P39深度强化学习浅析P40机器学习的下一步4.笔记内容细节展示4.a对梯度下降概念的解析在笔记中重新整理PPT内容,并增加了一些注释。不对视频语音直接转文字,而是根据内容整理成知识点,方便读者理解阅读。4.b为什么需要做特征缩放对特征缩放的PPT进行整理记录。4.c隐形马尔科夫链的应用隐形马尔科夫链在语言模型中的应用。4.d利用贴近学生的例题解释知识点用算法对精灵宝可梦(神奇宝贝)进行分类。5.代码呈现代码在李宏毅老师提供代码的基础上进行了优化,在python3上全部调试通过。5.a回归分析5.b深度学习Keras的基础模型构建代码。用Keras构建深层模型。6.作业展示对笔记课程的作业进行了讲解与解读,并且总结了一些需要注意的点,同样在python3上调试通过。问题描述。笔记中提供了课程作业的参考答案。7.交流互动目录中每一节最后都设置了交流互动区供大家总结学习内容、提出自己的疑问和广大学习者互动,可以使用GitHub登录,方便读者们交流。8.开源地址:https://github.com/datawhalechina/leeml-notes9.配套视频:https://www.bilibili.com/video/av59538266

作者:gudure

作者:NickHeath编译:魔王、张倩、杜伟本文转自:机器之心1989年,GuidovanRossum厌倦了当时已有编程语言的缺点,决定创造一种新的编程语言,于是Python诞生了。现在Python已经拥有数百万用户,那么关于这门语言的过去、现在和未来,创造者vanRossum有什么要说的呢?1994年末,一组从全美国选出来的程序员聚在一起讨论他们的新型秘密武器。这是针对新型编程语言Python举办的第一次workshop,共有二十来个程序员参加,BarryWarsaw是其中之一。他记得当时这些第一批用Python的人都很兴奋。「我记得有个人说:『不要告诉别人我参加了这次workshop,因为使用Python是我们的独特竞争优势。』Python是一个秘密武器。」这次workshop在当时的美国国家标准局(NBS)举办,Warsaw表示:很显然,当时Python提供了一些新特性,使写代码的过程变得简单、便捷。「第一次使用Python时,我就知道它很特别。它提高了代码的可读性,写Python代码是很愉快的过程。」Barry回忆道。现在,Python热潮早已突破了最初的开发者圈子。有人预测它将很快成为世界上最流行的编程语言。它吸引新用户的速度远超其他语言,每天有数百万人使用Python,且用户数量的指数级增长没有显现出衰退迹象。Python可用于大型任务和小型任务,专业开发者、业余开发者都可以使用。该语言尤其受到web开发者、数据科学家和系统管理员的青睐。今年4月,人类成功拍摄了首张黑洞照片,这其中Python功不可没,它将分布在世界各地的电脑上的脚本合成起来。在许多世界知名的组织中,Python也发挥着重要作用,如它帮助Netflix向全世界1亿多个家庭提供视频流,支持照片分享社区Instagram,还帮助NASA探索太空。Python,诞生伊始就某些方面而言,Python的崛起就像英国同名喜剧组合「MontyPython」一样离奇怪诞,而它也同样在自己的生态系统中积聚出名气和影响力。Python最初只是荷兰程序员GuidovanRossum的「副业」。1980年代末,vanRossum在荷兰数学和计算机科学研究学会(CWI)工作。他厌倦了当时已有编程语言的缺陷,决定创造一种既好用又高能的新语言。GuidovanRossum,2001年。这一年Python软件基金会成立。(图源:GuidovanRossum)对于门外汉来说,创造一门自己的编程语言不亚于「自己造一架飞机」,但是时年三十多岁的vanRossum有他自己的优势。当时他与CWI的一个团队用三年时间创造了一种解释性编程语言ABC,所以他对构建执行编程指令的解释器需要什么、新语言需要哪些语法构建块都有自己的见解。对于当时的vanRossum来说,意识到已有编程语言的易用性缺陷也是非常重要的。他当时正在开发的Amoeba分布式计算系统需要使用C语言或Unixshell,这两种语言都有很明显的缺陷。C语言不仅需要开发者执行手动管理内存的复杂工作、时刻面临潜在的错误,还缺少可重用代码库,这就使得开发者在每执行一个新项目时就得重新造一个轮子。而Unixshell存在另外一些问题:它为常见任务提供了一套实用工具,但是运行速度很慢,无法处理复杂逻辑。这些语言对开发者造成的限制使得vanRossum决定自己创建一种解释性语言,这门语言借鉴了ABC语言的最优特性。「我当时的想法是『为什么不创造一种自己的语言呢』,借鉴ABC语言的思想,但缩小项目的规模,把一个团队三年完成的事情缩减到我自己三个月就能完成的规模(就像臭鼬工厂的项目那样)。就这样Python诞生了。」vanRossum说道。1989年底,vanRossum开始积极投入该项目。他借用了自己最喜欢的喜剧组合MontyPython'sFlyingCircus的名字为该语言命名,并在任何可以工作的时候投入该项目的研发。「那时候我的社交活动很少,在闲暇时刻我也不看电视,而是把时间花在编程上,或者同时做这两件事。」尽管创造Python名义上是为了辅助自己的工作,但vanRossum发现创建这门语言的动力多过挑战。「我也不知道自己有多大信心能通过这个工具提高效率。我认为我只是享受独自做大项目的快感,写自己想写的代码,按照自己的想法设计。我喜欢编程。」vanRossum说道。一个人自己创造了一种编程语言,这听起来很不寻常,但是vanRossum得到了足够的支持。1980年代末,出于对当时可用开发工具的失望,多种主流语言应运而生。LarryWall曾说过:他创造Perl是因为用现有工具编程很难解决某个问题,而且他具备伟大程序员的三大优点:懒惰、暴躁和自负。(懒惰会促使程序员写一些省事的程序,辅助自己或别人更好地完成工作,无需做重复和繁琐的劳动;暴躁让程序员主动去完成一些你还没有提出的工作,去优化自己的代码让它更有效率,能够3秒钟完成的任务,我们绝不能容忍1分钟的等待;自负会促使程序员写出可靠无误的代码,我们写代码不是为了接受批评和指责,而是为了让其他人来膜拜。)类似地,为了寻找一种更好的语言来创造构建集成电路的交互工具,JohnOusterhout设计了Tcl语言。仅仅用了三个月时间,vanRossum就创建了Python的工作原型,他认为该原型虽然缺乏一些现代特性,但是仍然能够从中看出今天Python的雏形。「现在Python具备大量当时还没有的重要抽象,但是不管怎么变化,Python语言看起来是类似的。当时我已经具备Python解释器、Python语言运行的所有基本组件。第一个Python解释器创造的简单Python程序可能到现在还能运行。」他接着补充道,函数的定义方式没有变化、代码缩进规则没有变化、字典和元组也是使用相同的语法创建,同样不变的还有,在交互式模式下直接输入Python代码即可立即执行计算。但是,当vanRossum的两个同事开始使用这门语言时,他对Python的广泛传播不抱太大期望,他已经经历过前互联网时代让编程语言取得进展的艰难。今天向全世界共享软件只需几次点击即可,而在1980年代,这事儿要难得多。vanRossum回忆起尝试分发Python前身ABC语言时的重重困难。「我记得大概是在1985年,第一次去美国,我带了一箱磁带,磁带里是ABC语言。」有一些人通过当时初级的电子邮件系统传达了他们对ABC语言的兴趣。vanRossum借助这些人的地址和电话号码,挨个发放磁带。但是,ABC并没有流行起来。「这也难怪,ABC有那么多优秀的特性,却无法得到很好的分发。」但是随着互联网革命的发展,分发Python要简单多了,最起码不用再弄一箱子磁带了。1991年,vanRossum通过alt.sourcesnewsgroup向全世界发布了Python。尽管Python解释器仍然需要由21个单独的部分组合并压缩成一个文件,需要通过Usenet网络下载一整晚,但这比之前的当面派发还是要高效多了。「我希望Python能够获得成功,但是我之前发布的语言失败过。」失败的经历萦绕在脑海中,vanRossum说他很长时间都不去看Python用户群增长方面的信息。渐渐地,他意识到发展势头不错,在与Python社区定期交流一段时间之后,他发现自己成功了。「我认为这种发现来得非常非常缓慢。在我们第一次开源发布之后,我的工作节奏是开发新的发布版本、与刚出现的Python社区交流。」Python为什么能赢?1990年代早期和中期,Python语言发展迅速,Python的时代似乎到来了。这令vanRossum感到震惊。vanRossum认为开发者使用Python的原因和他最初创建Python的原因一致。他们想要一种高级的脚本语言,能够平衡易用性和强悍能力,在处理复杂逻辑时不会出现Unixshell的局限性。他们想要结束使用C语言时必须手动执行内存管理、必须在每个项目开始时重复造轮子的局面。BarryWarsaw表示,Python既具备易用性,其能力也不打折扣,这种平衡是1990年代早期的主流编程语言所不具备的。「我之前写过大量Perl、Tcl和C代码,写的过程并不怎么愉悦。当Python出现时,我的感觉是:『哇,它让编程重新变得有趣了!』」Python当时所提供并一直提供到现在的,是清晰、不含混的语法,用缩进将代码分块,帮助开发者更轻松地理解代码。高德纳咨询公司(Gartner)应用平台战略团队研究总监FintanRyan表示,清晰性是Python赢得开发者的重要因素,尽管用缩进实现这一重要功能引起了分歧。「它提供非常简洁的语法。你也可以在其他语言中执行缩进,但Python能够自动执行。一些程序员喜欢这一点,一些则讨厌它。」1994年BarryWarsaw参加第一次PythonWorkshop时的照片。(图源:BarryWarsaw)Python强调简洁、可读的代码,这一点并非偶然。vanRossum曾表示,编程语言不仅告诉计算机要做什么,也用于开发者之间的信息交流。关于可读性,Ryan表示,Python从一开始就提供有别于其他语言的内置功能。「你一上手就可以使用类、异常处理等功能。Python还提供对lambda、map和filter等函数的支持,这些函数在很多案例中非常有用。」如果1980年代末的流行编程语言能够更好,或许Python压根就不会出现。vanRossum当时创造Python的一大动力来自于,他在CWI开发的Amoeba分布式计算系统与Perl脚本语言不兼容。「对于Python而言,最幸运的事莫过于Perl与Amoeba不兼容了。如果Perl可以移植到Amoeba,那我可能不会想自创语言。」vanRossum说道。尽管Python一经发布就吸引了一票硬核粉丝,形成了用户群,但在1990年代Python仍然处于劣势。vanRossum表示,Python的竞争对手是Tcl/Tk和Perl,它们和Python的目标一样:兼具易用性和强悍能力。「1990年代top3编程语言中,Perl绝对是第一,Tcl/Tk排名第二,Python只占第三名。」根据StackOverflow开发者调查报告,现在Python是活跃用户增长最快的编程语言,而Perl已经推出最新的StackOverflow调查报告。下图展示了Python的爆炸式增长:近年来在StackOverflow网站上,Python相关问题的阅读量增长速度远远超过其他编程语言。在StackOverflow网站上,Python与其他语言相关问题的阅读量增长速度对比显示出Python用户群的巨额增长。(图源:StackOverflow)那么Python是如何超越前对手Perl的呢?又该怎么解释二者迥然不同的命运呢?vanRossum认为,这与代码库超出一定规模后能否轻松维护有关。「人们的经验是,对于10行的代码,Perl绝对没问题。但如果你有500行主线代码、包含几千行代码的库,那在Perl中维护该代码库就需要大量精力了。而使用Python的话,即使没有足够的精力去管理,代码仍然是相对可读且可维护的。」既易于使用,又足够稳健可以写大型应用,vanRossum认为这是Python在1990年代取得初步成功的原因。「当时的一些网络开发者想写更大的应用,他们认为用Python写大型应用比使用C、C++或Java要省力很多。」随着1990年代Python使用范围的扩大,当时仍在CWI工作的vanRossum发现他创建的这门语言越来越多地把他和世界各地的人们联结起来。Python和web1990年代中期,Python的使用开始出现新方式,从音频录制和回放脚本到首次涉足web开发。而后者成为了Python使用的主流。「最大的应用方向是web开发,这也是我很感兴趣的方向。你可以用Python创建动态网页,这是我最喜欢的Python应用之一。」vanRossum说道。Ryan表示,1990年代Python在开发者之间流行的原因是,它成为快速创建强大脚本的最受欢迎语言。「作为具备强大功能的脚本语言,它降低了很多用户的使用门槛。」此外,Ryan还表示Python足够灵活,很容易学习,从而吸引了具备不同技术专长的不同类型用户。「系统管理员等使用Python执行系统自动化和系统编程,开发者看重Python的函数式编程和类的继承等特性。而Perl在这方面要逊色很多。一旦人们熟悉了Python语言,况且这门语言比较好学,他们的生产效率就会得到迅速提升。」1994年,时任美国国家标准局(NBS,现美国国家标准与技术研究院NIST)高管的MichaelMcLay注意到了Python。他对NBS科学家能够以何种方式使用Python很感兴趣,这预示着Python会因其易用性受到研究人员和科学家的青睐。vanRossum表示NBS「有大量数据需要处理,但是缺乏优秀的编程人员」。为了让NBS内部的其他人员接受Python,McLay邀请vanRossum(当时仍在荷兰CWI工作)来NBS担任为期两个月的客座研究员。这一任命成为Python未来演进的催化剂,也为vanRossum的生活带来了巨大改变。首届PythonWorkshop时vanRossum与BarryWarsaw、RogerMasse的合照(当时BarryWarsaw和RogerMasse都在CNRI工作)。(图源:BarryWarsaw)正是在这一任命期间,首届PythonWorkshop在NBS的办公室里举办了,vanRossum、BarryWarsaw等Python早期用户齐聚一堂,讨论他们用Python做了什么以及对Python未来发展的期待。在NBS的办公室里,vanRossum见到了BobKahn,后者因发明互联网基础技术TCP/IP协议而闻名。这次会面为vanRossum带来了一个工作offer——与Kahn一起在美国全国研究创新联合会(CNRI)工作。CNRI是一个非盈利性研究组织,专注于网络技术的战略开发。正像Python满足了人们对新型编程语言的需求一样,这个工作offer也来得恰如其时。当时vanRossum对自己在CWI的未来正持怀疑态度。「CWI更像一个学术机构,他们给了我一点压力,要么拿到PhD学位,要么到别处找工作。」「当时我35岁左右,读PhD对我没什么吸引力。由于Python的缘故,我的生命中出现了一些其他的可能性,经过一些电话聊天和思考,我决定不去读PhD,而是去尝试新的选择。」1995年4月,vanRossum加入CNRI。在CNRI,vanRossum和一群Python爱好者一起构建了管理Python语言的结构。在这里他领导了一支小型开发者团队构建Knowbot程序,该软件是在分布式计算机系统(如互联网)上运行的移动代理。这支团队使用Python工作,团队成员包括vanRossum、JeremyHylton、RogerMasse、BarryWarsaw、KenManheimer和FredDrake,他们在Python社区中都发挥了重要作用。「我们组最后有4到10人,大部分在CNRI工作,是Python开发的主力军。」vanRossum表示。在CNRI工作期间,这支团队创建了用于管理核心代码库变更的CVS服务器——python.org(http://python.org/)website,以及帮助改善和维护Python的PythonSpecialInterestGroups邮件列表。自1991年Python公开发布后,Python用户社区发展迅猛。1990年代下半叶,Python吸引了大量全球用户群体。在这段时间内,Python的管理开始变得正规,成立了管理结构,2001年还成立了Python软件基金会(PSF)。随着社区的发展,自1994年开始一年两次的Pythonworkshop演变成大型年度盛事,最终成为每年一次的PyCon大会。进入21世纪,Python的用户群变得更加庞大,社区在发展过程中发挥了积极的作用。vanRossum仍然是核心,而且关于他会一直担当Python核心的想法不曾消失,比如人们称他为「终身仁慈独裁者」(BDFL)。「在很长一段时间里,我承受住了压力,也提升了项目管理技能,比如把大量工作委托给别人、让大家各司其职。」vanRossum表示。Ryan称,语言的创造者成为管理者,这并不鲜见,比如创造了Perl的LarryWall、创造了Node.js的RyanDahl,而vanRossum因其在Python管理过程中的公平公正而著称。「大家都认同,他在项目的发展方向和自己的管理工作之间做出了很好的平衡。」的确,vanRossum确立的开放性本质(核心开发者通过公开辩论帮助决策)是Python成功的决定性因素。Python的演变Python发布以来,出现过几次大的飞跃,如2008年Python3.0的出现使该语言现代化,以及最近关于Python管理机制的重大变化。变化是从去年开始的,vanRossum宣布卸任BDFL,直接导火线是Python改进提案PEP572,该提案是关于给Python添加表达式内赋值的语法,但引起了公开反对。尽管该提案的目的是写出更高效的代码,但vanRossum迎来了反对者铺天盖地的批评,有些用户认为该语法会降低代码的可读性,使代码更难维护。vanRossum说他已经习惯了关于新特性的争论,但是这一次,一些批评者不妥协的态度以及针对个人的攻击使得他下定决心退休。「技术层面持反对意见的人竟然跑到社交媒体上,大喊决策流程崩溃或我犯了重大失误,这令我失望。我觉得自己受到了来自背后的攻击。」「过去,在需要对Python做出改变或者改进某个特性时,核心开发组会讨论优缺点再进行决策。不管大家是否达成共识,我最终都会认真考量并做出决定。关于PEP572提案,尽管存在争议,但是我最终决定「Yes,我想做这个功能」,而人们却没有选择信服。这并不是反叛,不过我觉得我和核心开发者之间缺乏足够的信任来继续下去。」他认为,这种争议的变化部分原因在于用户量太大。「或许Python社区太大了吧,达成任何形式的共识都变得更加困难,因为不管你做出什么决定都会有人反对。」今年早些时候,Python核心开发者选出了指导委员会来监督Python的未来发展。vanRossum、BarryWarsaw、BrettCannon、CarolWilling和NickCoghlan当选指导委员会成员。Warsaw表示,这一变化对管理用户群增长如此迅速的语言是一种必然。「我认为Guido确实把所有事情扛在自己的肩上。25年前这没什么问题,那会儿Python社区比较小,而现在再把所有事情一肩挑就太难了。我认为,为了他的健康和对社区的参与,将负担分给五个人是明智的。」指导委员会的新选举会在每次新特性发布之后举行,Warsaw称这将为下一代Python领导者铺平道路。「如果Python还能再健康发展25年,到时候肯定不是我和Guido管理它了。」指导委员会的成立受到了更广泛核心开发者社区的欢迎,核心开发者MariattaWijaya称这一举措走在了正确的方向上。「我认为,指导委员会比一个人决定所有事要好,(一个人决定所有事)对那个人来说责任和负担都太重了。指导委员会的成立是一个好信号,这意味着社区将有更多输入。」Python核心开发者MariattaWijaya欢迎Python指导委员会的成立,指导委员会将监督Python的发展。(图源:A.JesseJiryuDavis)Python的未来尽管Python仍在以惊人的速度吸引新用户,但社区中一些人已经看到了未来面临的挑战——要想保持先进,Python需要进化。在今年的Python语言峰会(PLS)上,BeeWare联合创始人RussellKeith-Magee提醒道:如果对移动和新web平台的支持没有改进的话,Python将面临「生存危机」。(BeeWare项目旨在使写出的Python应用可在任意设备上运行。)「手机和平板达到的市场渗透率远非PC和笔记本电脑可比,而作为一个社区,我们还没有一个故事是关于如何在这些设备上使用Python的。当笔记本电脑成为小众设备时,Python又将面临什么呢?」Keith-Magee列举了Python目前在支持平台方面面临的一系列问题(除了标准x86PC)。比如,Python需要对更新的非x86硬件平台提供更好的支持;Python的测试套件在移动和web平台上可能会崩溃;Pythonapp的安装包过大,无法压缩为一个小的依赖项子集;在安卓、Windows和web上写GUI代码时,asyncio库的运行需要做很多努力;标准库中的模块数与Python解释器不兼容(CPython除外)。Warsaw表示,Keith-Magee提出了很多有用的点,他也认为考虑如何使Python与手机、平板以及WebAssembly等较新的web技术接轨是非常重要的。「目前,Python在这方面没有好故事。」Warsaw说道。现代芯片的处理器内核数量不断增长(英特尔最新的服务器芯片已经高达48核),Warsaw期待看到Python能够更好地在多核上执行任务。他对EricSnow在Python子解释器方面的工作感到兴奋,该项目旨在将Python的能力扩展为多核并行运行代码。「我真的希望看到更多工作能够利用多核。」Snow正在参与一个使Python能够更容易地在多个处理器内核上高效分割任务的项目。他主要利用Python现有子解释器特性的修改版本,并改变每个子解释器与Python全局解释器锁(GIL)的交互方式。Warsaw称,「Python3.8应该来不及加入该特性,或许3.9版本可以。我认为未来两年到两年半时间内我们将见到这一新特性。我对此很乐观,也很欣慰Eric继续为此而奋斗,我认为这是一项重要的工作。」Warsaw还表示,曾经失败过的类似项目(如Gilectomy)也带来了一些有趣的经验教训,帮助Python更好地在多核上分配工作负载。Python社区正在现代化该语言的内置代码标准库,近期发布的PEP594提案建议移除标准库中过时的模块。这样做可以解决用户近期对Python标准库的批评。大家通常认为标准库是Python的优势,因为它可用于执行大量常见任务,这也是为什么Python被认为装有「内置电池」。但是在今年的Python语言峰会上,AmberBrown批评了Python标准库,她提出疑问:如果让用户从PyPI库中自行选择代码库,而不是使用作为内置功能的标准库,是不是会更好?关于Python核心开发者和指导委员会能否更好地反映多样化的用户群,也存在问题。「我希望看到更完备的多样化指标,不只是性别平衡,还需涵盖种族等其他指标。」Wijaya表示。「在PyCon大会上,我和来自印度和非洲的PyLadies成员进行了交谈(PyLadies是帮助更多女性积极参与和领导Python社区的国际团体)。她们说:『当我们听到Python或PyLadies时,我们会想起北美或加拿大的人,而事实上世界其他地方也有庞大的Python用户群。为什么不多看看他们呢?』我认为这意义非凡。因此我希望看到它发生,我们都需要尽自己的一份力量。」最后,尽管「仁慈的独裁者」管控一切,近年来还是有很多塑造Python的想法来自于社区,来自那些不断使用Python探索新应用的人,Warsaw表示。「从社区中吸取能量要比『自上而下』有用很多。」简单的社区项目对Python产生重大影响的一个实例是「类型提示」(TypeHints),这个Python3.5特性受2012年一名博士生创建的mypy项目的启发。这些提示可以执行可选类型检查,帮助开发者发现容易被忽略并侵入软件的bug。这层额外的安全保障,不仅能够帮助多人合作大型代码库的情况。增加用户对代码应该做什么、不应该做什么的理解也很有意义。「对我来说,asyncio帮助Python扩展至大型组织(如基于Python3运行的Instagram)是最珍贵的。」Warsaw表示。他认为asyncio是从社区产生想法的另一个示例,对Python的能力范围产生了显著影响。有了指导委员会和更加庞大的用户群,vanRossum很乐观:「由社区驱动的Python语言进化」将继续获得「无与伦比的成功」。「Python坚实的核心开发者社区以及新的管理系统令我坚信,我们对Python进化过程中将遇到的要求做好了充分的准备。」vanRossum说道,并赞扬了社区内部对Python特定方面的深刻理解。如果有人对Python社区继续寻找新应用案例的能力存有疑问,那他只需要看看Python在世界首张黑洞照片拍摄过程中的作用就可以了,Warsaw说道。今年早些时候,Python帮助合成了世界首张黑洞照片。(图源:事件视界望远镜合作组织等)「这件事惊到我了。我觉得Python社区中的一些人是疯狂的Python科学家。他们总是在思索今天我能用Python做点什么,以及我可以把这件事推到什么地步。」原文链接:https://www.techrepublic.com/article/python-is-eating-the-world-how-one-developers-side-project-became-the-hottest-programming-language-on-the-planet/

作者:gudure

编辑:鹏飞本文转自公众号:新智元【导读】一代传奇Python2落幕,将于3个半月后(2020年元旦当天)停止维护,被Python3全面取代。这意味着目前还在使用Python2的大量用户,将面临两种选择:要么继续使用,未来不再得到任何安全更新、bug修复;要么冒险升级到Python3。终于,Python官方发出了最后通牒!Python官方非常正式的在官网上发表一封公开信,再次强调Python2将于2020年元旦停止维护!之后,官方将不会再对任何bug、安全漏洞进行任何更新或者修复。这就意味着,如果你还想继续使用Python2,再碰到问题就只能自己想办法了。此文一出,再次在圈内掀起了一波热潮。当然,这并不意味着到时候Python2就不能用了!所以Python官方也用了“垂暮”而非“关停”来定义,也是非常有画面感了。作为一个5年前就“应该”退役的老版本,Python2诞生于2000年,如今已走过生命中的第二十个年头!这二十年来,Python2见证了Python从默默无闻到超越Perl、C++等,和Java、C三足鼎立,成为世界上使用人数最多、上升最快的语言之一。可以说,Python2是铸就Python辉煌的最大功臣!如果你不想错过这历史性的一刻,记得关注Python2落日倒计时:https://pythonclock.org/Python2是遗产;Python3是未来!Python2虽是一代名将,但这个传奇的语言版本因为年代久远,不可避免的有一些和时代脱节的缺陷。比如Python2的默认编码是asscii、字符串的问题、1/2(两个整数相除)结果是0等等。Python的开发者很快就意识到了其中的问题,于是早早就着手进化版的研发,并于8年后(也就是2008年)正式推出了Python3。官方曾乐观的预计在2015年左右,让Python3全面取代Python2。但让他们始料未及的是,由于当时Python2正如日中天势不可挡,Python2的库也日趋丰富;而另一边,Python3的改动有点大,库的支持相对较少,加上官方一向对开发者的宽容态度,这个计划又一直往后拖延了5年。(有人以为这是官方第一次发表该决定,其实Python官方已经多次公开声明过了,这次有点类似最后通牒的意思。)但是Python维护者们内心有一个坚定的信念:历史的车轮是滚滚向前的,Python2终究要成为历史,Python3终究要登上舞台。这11年来,经过Python官方不遗余力的说服教育、Python3的不断完善,如今Python2的市场占有率,已经不足Python3的1/3。2年前你可能还能听到有人鼓吹2.x,如今很多程序已经明确要求3.x了。根据OpenSource的调查结果显示,2017年Python3已经是Python2的3倍,而这一差距随着人工智能的兴起、新Python用户的加入等,还在逐步拉大。Python3已广泛支持在标准库中使用Tkinter创建GUI应用程序。几乎从Python3发布之日起,PyQt就支持Python3;PySide在2011年增加了Python3支持。可以使用支持Python3的PyGObject创建GTK+GUI,它是PyGtk的后续版本。截至2018年2月,在Python3Readiness上看到,来自PyPI的360个最常下载的软件包中,有348个已经支持Python3。如何从Python2切到Python3?Python3的某些方面已经被向后移植到Python2.6和2.7,以便更容易地迁移到Python3。官方也给出了非常详细的升级指南:https://docs.python.org/3/howto/pyporting.html此外,因为从Python2到Python3之间的跨度有点大,需要一个重新适应的过程。如果你是一名Python2的资深用户,可以看看官方给出的操作建议:https://python3statement.org/practicalities/除此之外,这里还有5个轻松适应从Python2到Python3的小tip,来自:https://towardsdatascience.com/5-easy-tips-for-switching-from-python-2-to-3-6100f717610f就是不想升级怎么办?因为3代是2代的超进化体,这就导致一个问题:二者不兼容。但难免有些场景中,有着各种各样无法升级的原因。比如一个重要的软件,但是开发时间较早,升级风险过大;或者你只是个单纯的不想升级的oldschool,那么也是有办法的。至少以下提到的3个项目,就能够让你在2020年以后,还可以继续开着Python2这辆老爷车。Tauthon(曾用名:Python2.8)刚开始Tauthon叫Python2.8,但显然官方也没出到Python2.8,很容易让人产生误会,最终改名。Tauthonfork自Python2.7.13核心部分,同时Python3中许多最受欢迎的功能也被向后兼容。Tauthon保留了print作为声明而非函数的存在,这是Python2用户最后的坚持。PyPyPyPy也是一个非常受欢迎的项目。它的内置JIT可以极大的提升Python的速度,而它也一直更偏爱Python2,冷落Python3。PyPy的官方也表示:PyPy的Python2版本将一直存在!CythonCython不是Python实现,而是个编译器。它将Python转换为C,极大的提升了Python的速度。Cython支持Python2和Python3。Cython首席开发人员RobertBradshaw在cython用户邮件列表中发文称:“Cython对2.x的支持主要是由项目需求驱动,而不是由Python的EOL时间表驱动”。也就是说,只要有项目需求,Cython会对Python2一直支持下去。最后,在这个感恩的教师节里,感谢GuidovanRossum为我们创造出一门如此美妙的语言,使无数人受益!感谢Python团队对开发者的“溺爱”,20年来一直没有停止过对Python2的维护,即使他们内心多么希望大家转向Python3;同时也祝福Python3能够不断进化,继续造福广发开发者!

作者:gudure

编译:思源、张倩本文转自公众号:机器之心很多开发者说自从有了Python/Pandas,Excel都不怎么用了,用它来处理与可视化表格非常快速。但是这样还是有一大缺陷,操作不是可视化的表格,因此对技能要求更高一点。近日,开发者构建了名为Gridstudio的开源项目,它是一个基于网页的表格应用,完全结合了Python和Excel的优势。是的,在一个界面上同时展示可视化表格与代码,而且同时通过表格与代码修改数据,这不就是Python与Excel的结合吗?项目地址:https://github.com/ricklamers/gridstudio我们先看看Gridstudio的效果到底是什么样的。总体而言,我们既可以通过Python加载和处理数据,也能通过「Excel」操作数据。在Python上处理数据比较好理解,表格上处理数据其实非常像Excel,如下所示为写一个求和公式。也许我们在表格上改了些数据,那么我们也能导入到NumPy数组,并做进一步的运算。为什么要创建这个工具?作者表示,他创建Gridstudio主要是用来解决数据科学项目中工作流分散的问题,在这种项目中,他要在Rstudio、Excel等多个工具之间换来换去。在为gazillionth-time导出CSV文件时,如果行数过高,应用程序窗口就会卡顿。即使是做一些简单的事情,比如读取JSON文件,也能把人逼疯。现有的工具无法提供高效工作所需的环境和相关工作流,这也是作者决定构建该工具的原因。他想要创建一个易用的应用程序,可以把数据科学工作流整合进去。这个工具有何亮点?Gridstudio是一个基于网页的应用,看起来和GoogleSheets、MicrosoftExcel差不多。然而,它的杀手锏是整合了Python语言。几乎所有使用过计算机的人都会很自然地使用表格来查看和编辑数据。将这个简单的UI与Python这种成熟的编程语言结合起来简直不要太好用。用Python编写脚本非常简单:只需编写几行代码直接运行即可。核心集成:读、写这一Python集成的核心是对电子表格的读写接口,它可以在电子表格的数据和Python进程中的数据之间建立一个高性能的连接。可以用以下方式在表格中写入数据:sheet("A1:A3",[1,2,3])用以下这种方式从表格中读取数据:my_matrix=sheet("A1:A3")你可以通过这种简单而高效的方式直接在表格中读取或写入数据,以自动化数据输入、提取、可视化等过程。编写定制化表格函数虽然通过一个简单的接口完成读写非常灵活,但有时编写可以直接调出的定制化函数也很重要。除了AVERAGE、SUM、IF这些默认函数外,你可能还需要其他函数,那么写出来就好了!defUPPERCASE(a):returnstr(a).uppercase()写完这行代码后,在表格中调出该函数,就像调用常规函数一样。利用Python生态通过利用Python生态中各种强大的软件包,我们能立即访问到当前最优的数据科学工具,因此也能快速访问到强大的模型,例如线性回归和支持向量机等。因为本身Gridstudio主要就是处理表格数据,那么将它们作为特征可以快速调用SVM等模型,从而探索隐藏在这些数据背后的特征。数据可视化在数据科学中,很常见的一个任务就是可视化数据,这样才能获得关于数据的「先验知识」。通过集成交互式绘图库Plotly.js和Python标准可视化库Matplotlib,Gridstudio目前已经内置了高级绘图功能。如下所示我们可以在向量表格格式上使用高级绘图功能:为了进一步解释如何使用Gridstudio的特征以构建可视化图标,项目作者还展示了两个案例,即爬取网页与可视化数据分布,但这里主要展示第一个案例。案例:估计正态分布如下案例展示了Gridstudio的强大功能,它会以更高的保真度通过Plotly.js可视化正态分布,我们可以看看交互式制图到底是如何完成的。使用安装前面介绍了这么多特性,那么我们到底该怎么用呢?Gridstudio的安装和使用都非常简单,通过简单的命令行就能搞定。gitclonehttps://github.com/ricklamers/gridstudiocdgridstudio&&./run.sh如上通过下载项目、运行安装脚本两步,我们就能在浏览器中打开本地端口,然后就能愉快地使用了。参考链接:https://hackernoon.com/introducing-grid-studio-a-spreadsheet-app-with-python-to-make-data-science-easier-tdup38f7https://github.com/ricklamers/gridstudiohttps://gridstudio.io

作者:gudure

编译:张倩、杜伟来源:机器之心入门机器学习是一个循序渐进的过程,优质的学习资源和科学的学习路线缺一不可。在本文中,来自英伟达人工智能应用团队的计算机科学家ChipHuyen不仅列出了十大优质的免费机器学习课程资源,还将其串成了一条高效的学习路线。ChipHuyen是一位来自越南的作家和计算机科学家,现居于美国硅谷,就职于英伟达人工智能应用团队。ChipHuyen她本科和硕士均就读于斯坦福大学计算机科学专业,曾开设和讲授课程《TensorFlowforDeepLearningResearch》。课程链接:http://web.stanford.edu/class/cs20si/她还曾协助推出越南第二受欢迎的网络浏览器CocCoc,每月活跃用户数量达2000万以上。她目前正在进行的一些项目包括SOTAWHAT(查询和总结SOTA人工智能研究成果)、OpenSeq2Seq(利用语音识别、Text2Speech和NLP进行高效实验的工具包)以及FreeHugsVietnam(为越南青少年提供软技能的非盈利项目)等。以下是她给出的《机器学习》资源清单和路线:1.斯坦福《概率与统计(ProbabilityandStatistics)》课程链接:https://online.stanford.edu/courses/gse-yprobstat-probability-and-statistics简介:这门课程涵盖了概率和统计学的基本概念,涉及机器学习的四个基本方面:探索性数据分析、生产数据、概率和推理。2.MIT《线性代数(LinearAlgebra)》课程链接:https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/简介:这门课程的授课教师为《线性代数导论》、《线性代数与数据学习》的作者GilbertStrang。该课程与《线性代数导论》中的理论和应用知识相辅相成,挑选了书中四个关键的应用:图和网络;微分方程组;最小二乘与投影;傅里叶级数和快速傅里叶变换。作者表示,这是自己见过的最好的线性代数课程。GilbertStrang3.斯坦福CS231N《用于视觉识别的卷积神经网络(ConvolutionalNeuralNetworksforVisualRecognition)》课程链接:https://www.youtube.com/playlist?list=PLzUTmXVwsnXod6WNdg57Yc3zFx_f-RYsq简介:这门课程的特点是理论与实践并重。课程PPT用了可视化的方式解释反向传播、损失、正则化、dropout、batchnorm等比较难以理解的概念。4.fastai《程序员深度学习实战(PracticalDeepLearningforCoders)》课程链接:https://course.fast.ai/简介:这门实践课程是面向新手的,不要求参与者拥有大学水平的数学知识,也不要求参与者有很多的数据,但需要一年的编程经验,还需要配备一块GPU。此外,该课程还有一个论坛,专门用来讨论ML的最佳实践。5.斯坦福CS224N《深度学习自然语言处理(NaturalLanguageProcessingwithDeepLearning)》课程链接:https://www.youtube.com/playlist?list=PLU40WL8Ol94IJzQtileLTqGZuXtGlLMP_简介:对于对NLP感兴趣的同学来说,这是一门不容错过的课程,被称为入门自然语言处理(NLP)的「标配」公开课。它和计算机视觉方面的课程CS231n堪称绝配。该课程组织严密、教法得当、紧跟前沿研究趋势。这门课的授课者是斯坦福AI实验室负责人ChristopherManning。6.Coursera上的斯坦福《机器学习》课程链接:https://www.coursera.org/learn/machine-learning简介:这门课授课者是吴恩达,在Coursera上的注册人数已达到244万。它广泛介绍了机器学习、数据挖掘、统计模式识别等方面的内容,包含监督学习、无监督学习、机器学习最佳实践等主题。此外,课程中还包含大量的应用案例。7.斯坦福《概率图模型专项课程(ProbabilisticGraphicalModelsSpecialization)》课程链接:https://www.coursera.org/specializations/probabilistic-graphical-models简介:概率图模型是一个丰富的框架,用于编码复杂领域的概率分布。本课程包含三部分内容:《概率图模型1:表征》、《概率图模型2:推理》和《概率图模型3:学习》。授课者为斯坦福大学工程学院讲师DaphneKoller。8.DeepMind《强化学习入门课程(IntroductiontoReinforcementLearning)》课程链接:https://www.youtube.com/watch?v=2pWv7GOvuf0&list=PLqYmG7hTraZDM-OYHWgPebj2MfCFzFObQ简介:本课程借助于一些生动直观的解读和有趣易懂的示例,为学生提供了有关强化学习(RL)的全面介绍。授课者为世界顶级专家DavidSilver。9.FullStackDeepLearning《全栈深度学习训练营(FullStackDeepLearningBootcamp)》课程链接:https://fullstackdeeplearning.com/march2019简介:这是为熟悉深度学习基础的开发人员提供的实践项目。除了学习训练和调整模型之外,学生还可以学习到如何制定问题和预估项目成本、选择正确框架和计算基础结构以及训练中的故障排查和确保复现性等其他技能。10.Coursera《如何赢得数据科学竞赛:向顶尖Kaggler学习(HowtoWinaDataScienceCompetition:LearnfromTopKagglers)》课程链接:https://www.coursera.org/learn/competitive-data-science简介:如果你想要参加竞争激烈的数据科学竞赛并希望在竞赛中取得好成绩,本课程不失为最好的选择。你将会学习到如何在数据科学竞赛中分析和解决预测建模任务。

作者:gudure

虽然数据可视化通常会让人联想到商业智能与西装革履的分析师,但它通常比您所想象的更具创意并且丰富多彩。从业务仪表板、公共健康可视化到流行文化趋势分析,数据可视化涵盖了广泛多样的应用情景。要制作精美优质的数据可视化,除了需要出色的分析能力之外,还需要具备设计图形和讲述故事的技能。在本文中,我们将着重介绍一些最具影响力、趣味性和启发性的可视化。我们先来浏览历史上一些著名的示例,然后让时间快进,讨论一些更加现代的可视化。另外,欢迎查看我们的数据可视化详细指南或者这些推荐示例。1.拿破仑远征地图可视化作者:CharlesJosephMinard了解更多信息:维基百科1812年,拿破仑进军莫斯科,企图征服这座城市。这成为了一场灾难:大军出征时共有约47万名士兵,而到了兵败还乡时则仅剩一万人。这张图表讲述了关于这场战役的故事,并成为了有史以来最著名的可视化作品之一。这幅地图详细地描述了拿破仑大军的出征与败退。线条的宽度代表士兵总数,颜色代表移动方向(黄色表示进军莫斯科的方向,黑色表示回程的方向)。在中心的可视化下方还绘制了一张简单的温度曲线图,用来展示寒冬气温骤降的情况。这张图表有力而详尽地描绘出了一副震撼人心的大溃败场景。由于名气颇大,这张图表受到了诸多批判性评论(Excelcharts.com的这篇文章就是一个很好的例子)。其中很多都是合理的批评,但它仍然是一张极具影响力且成功的图表,它的特色是为每个数据点赋予丰富的细节,在此基础上讲述故事,激发人们的好奇心。2.1854年宽街霍乱爆发事件地图可视化作者:JohnSnow了解更多信息:维基百科JohnSnow(不是《权力的游戏》里的JonSnow)霍乱地图本质上是一张早期的点图可视化。图中在城市街区内用小条形图标记出了伦敦每个家庭中死于霍乱的人数。这些条形图的集中程度和长度反映出城市街区的特定集合,旨在试图查明这些地区的死亡率高于其他地区的原因。调查结果显示:霍乱感染者人数最多的家庭所使用的饮用水均来自同一口水井。这在当时是一则发人深省的启示。这口水井已经被污水所污染,但霍乱疫情集中爆发的区域都在使用这口问题水井。在研究伦敦霍乱爆发事件更为广泛的趋势时,这一发现帮助人们认识到,霍乱疾病与受污染的水井之间存在相关性。那么,预防霍乱的办法就是建立排污系统并保护水井不受污染。这张图揭示了问题的根本原因并启发人们找到了解决方案,正因如此,它成为了一个非常成功的可视化。另外,在那个点图和热图还没有完全开创的年代,这种早期的尝试可谓极具创新。正因为分析师扩宽了可视化技术的边界,从而创造出有用的新形式,才得以发现这一解决方案。3.克里米亚战争中的死亡原因可视化作者:FlorenceNightingale了解更多信息:维基百科在19世纪50年代的克里米亚战争期间,士兵的死亡率很高并且在不断上升。但造成死亡的原因并不仅仅是战斗。护士、分析师兼数据专家FlorenceNightingale利用这个精美的数据可视化,揭示出大多数死亡实际上是由槽糕的医疗措施造成的。螺旋图表中的阴影部分表示死亡总数,其中深色部分表示因战斗造成的死亡人数。人们能够一目了然地看出问题的背后另有原因,而且影响非常严重。Nightingale的医疗专业知识和医护实践经验让她发现,士兵死亡大部分源于恶劣的医疗条件。这一原因令人惊讶,但可加以预防措施。这项研究是英国皇家专门调查委员会对克里米亚战争中士兵死亡原因调查的一部分。Nightingale与维多利亚时代的统计学先驱WilliamFarr一起工作,后者并不支持采用可视化的想法,但Nightingale坚持自己的意见并积极推广这一现在已经非常著名的可视化。4.新图说历史可视化作者:JosephPriestley了解更多信息:维基百科用富于创造力的可视化方式,纵览人类文明已知历史中庞大而复杂的信息。JosephPriestly凭借两张年代图表闻名于世。其一是“传记图”,图中描绘了700年历史中出现的著名男性人物、领袖和哲学家,让人一眼就能看到这段历史中活跃的男性名人尽管“传记图”内容简单,但仍是历史上最重要的可视化之一。Priestly在第二张年代图表中运用并发展了“传记图”中的技术,创作出了这幅“新图说历史”。这张年代图表与第一张图表类似,重点描绘了历史中同时存在的主要帝国和文明及其与影响。Priestly对其技术进行了创新,不仅引入了颜色和大小,还创造性地使用了Y轴。最终造就了一副引人入胜的历史可视化故事,其中蕴含了丰富的信息。虽然这张图表看上去让人眼花缭乱,但它具有无穷的创造力,并且是当时年代下极具创新意义的原创作品。5.交互式政府预算可视化作者:美国行政管理和预算局(2016年)了解更多信息:奥巴马白宫档案众所周知,各国政府都会对政府预算进行模糊晦涩处理,使其难以理解,其中尤以美国政府为甚。白宫在巴拉克·奥巴马担任总统期间创建的这张树状图,利用可视化方式对美国2016年财政预算进行了细分,将政府计划公之于众。目前尚不清楚这是否是美国政府首次公开发布的交互式预算,但它至今仍可查阅并且具有启发性-尽管这只是一张非常普通的树状图。让这一特殊可视化如此重要的原因是它的交付方式。这并非是最具创新性的树状图或者交互式可视化,也不是首个广为人知的政府预算可视化(《纽约时报》发表过令人惊艳的2013年财政预算可视化,另外总统候选人RossPerot因其善用图表而著名)。关键之处在于,一个世界主要大国采用交互式数据可视化的方式来与它的纳税人进行沟通,向其告知他们缴纳的税款何去何从。通过简单明了的可视化,让这一复杂而晦涩的主题变得浅显易懂。6.巴比伦后记可视化作者:DensityDesignLab了解更多信息:巴比伦后记了解语言扩散的广度是无比艰难的-尤其在您不经常旅行或接触其他语言的情况下。我们知道世界上有很多种语言,但很难去消化理解这些语言的实际存在数量、使用区域、在全球的通行程度以及相互影响。DensityDesign的“巴比伦后记”项目使用“WorldAtlasofLanguageStructures”(世界语言结构地图集),将全世界的各种语言呈现在一系列交互式地图和图表中。其中囊括了所有2678种语言,并展示了它们的发源地、使用区域和使用者数量。甚至还解释了各种语言之间的关系,例如语系、外来词,以及不同语言之间的词语交换。7.未来美国可视化作者:PewResearchCenter(皮尤研究中心)了解更多信息:未来美国Pew的“未来美国”项目对美国的人口统计数据进行了全面的审视,并将其编制成一个庞大而美观的交互性数据可视化项目,由一些采用了直截了当的可视化的“章节”组成(上图展示了其中之一)。该项目展示了不断增长的种族多样化和跨种族婚姻趋势,为趋势线提供了历史背景,并对美国未来几十年可能发生的人口结构转变和变化情况进行了预测。其中的亮点之一是用动画方式展示了年龄和性别人口细分金字塔。在几秒钟内,我们可以看到自20世纪50年代以来的人口结构转变情况。自那时以来,医疗干预和医疗保健让人们更加长寿,同时人口出生率自二战后的婴儿潮之后逐渐降低。随着时间的推移,年龄金字塔会变得逐渐接近一个矩形。8.电影对白(按性别划分)nahAnderson、MattDaniels了解更多信息:ThePuddingPolygraph(又名ThePudding)曾经因一项说唱歌词分类可视化而闻名,现在HanahAnderson和MattDaniels又通过可视化对电影史上2000部最热门电影的剧本进行分类,以此研究流行文化中的性别差异。他们计算每部电影中男性和女性角色的对白台词数量,结果不容乐观。显然,几乎没有以女性为主导的动作片,但是如果审视所有电影种类的话,就会发现另一个事实:不同性别角色的台词数量严重失衡。该项目包含四个主要的可视化:一个专门展示迪斯尼电影的细分;一个对2000部电影剧本进行概述;一个提供简单的渐变控制条,允许用户搜索电影名称并使用几个主要筛选器;还有一个简要解读了电影台词中男女角色存在的年龄偏差。除了对2000部电影剧本进行了令人敬佩的分析工作并展示出惊人的结果之外,该项目还因其毫无保留的透明度而著称:所用数据和研究方法都详细公开,并在项目本身中予以呈现。这种透明的做法受到了强烈的欢迎,但其增长趋势缓慢。9.自拍之城可视化作者:OFFC了解更多信息:自拍之城不要仅仅因为该项目是在分析自拍而不是研究如何预防霍乱就将其忽视。“自拍之城”站在广阔视角,以这一全球现象为背景对自拍数据进行了解读。通过分析来自世界各地的12万张自拍,研究人们进行自拍的方式。令人难以置信的是,这项研究的内容包罗万象,并且对自拍的方方面面进行了严谨的细分。我们能够从任何细节中发现趋势,可以按城市研究自拍者的头部倾斜状态或拍照姿势的趋势,或者按年龄和性别查看照片中出现微笑的频率。自拍者往往都比较年轻,这一点可能并不会让您感到惊讶。但是,您可能会惊讶地发现,自拍并不像人们通常假设的那样千篇一律:与世界其他地方相比,圣保罗的女性在自拍时喜欢尽力去倾斜头部,而曼谷的女性则是喜欢微笑。随着社交媒体的影响在我们的生活中变得愈发根深蒂固,这一研究向我们展示了这种多样化全球现象的迷人之处。该网站还设置了一个交互式元素作为彩蛋,允许用户用独特的方式应用筛选器,来进一步探索自拍的世界。10.每一次即将发生的日食(截至2080年)可视化作者:DeniseLu了解更多信息:《华盛顿邮报》2017年8月的日食是将近一个世纪以来发生的首次横跨美国东西两岸的日食。在这次日食之后,《华盛顿邮报》创建了一个交互式的地球可视化,用来显示此次日食的路径和2080年之前所有未来日食的路径。旋转的地球上显示了日全食的路径(太阳完全被月亮遮挡的日食路径)、发生地点和发生时间(时间用深浅不一的阴影表示,并配以悬停文本工具提示)。如果您在网页中输入自己的出生年份,您将会了解到您的一生中还能看到多少次日食。

作者:CDA管理员

学员动态

Hello World!开始你的学习吧