网络科技

    今日:411| 主题:246403
收藏本版
互联网、科技极客的综合动态。

[其他] Python,机器学习和语言之争

[复制链接]
黒涩兲箜 发表于 2016-10-3 17:59:34
263 9

立即注册CoLaBug.com会员,免费获得投稿人的专业资料,享用更多功能,玩转个人品牌!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
噢,天呀,那些主观有针对性的,自以为标题党的文章的另一个?是哒!为什么我还要不厌其烦的写下来呢?嗯,这里是来自于我的前教授的最琐碎但又改变生活的洞察和世俗的智慧之一,它已经成为了我的口头禅了:“如果你必须做这个任务超过三次以上,那么只要写一个脚本,然后对其自动化。”
   现在,你或许已经开始琢磨这个博客了。我已经超过半年没写什么东西了!好吧, 沉迷在社交网络平台 除外,那不是真的:我写了 一些东西 —— 准确来说,约400页。最近,对我来说,这真的已经是一次旅程了。而对于经常被问道的问题“为什么你选择Python来进行机器学习?”,我猜,是时候来写 我的脚本 了。
   在下面的段落中,我真的不打算告诉你为什么 或者其他人应该使用Python。老实说,我真心讨厌那类问题:“哪个 最好?”(这里,用“编程语言、文本编辑器、IDE、操作系统、计算机制造商”替换掉 )。这实在是扯淡。虽然有时它挺有意思的,但是我建议你节省下关于这个问题的时间,用来在下班后跟朋友或者同事偶尔喝喝啤酒或咖啡。
  目录

  
       
  • 对于一个复杂问题的简短回答   
  • 我最喜欢的Python工具是什么?   
  • 我对MATLAB是怎么看的?   
  • Julia真棒……理论上!   
  • R实在没啥错   
  • Perl发生了什么?   
  • 其他观点   
  • Python是一个正在死掉的语言吗?   
  • 总结   
  • 反馈和观点
           
    • Python     
    • Perl     
    • MATLAB/Octave     
    • Julia     
    • 其他语言 (我忘记提的那些)   
       
  对于一个复杂问题的简短回答

   或许我应该从一个简短的回答开始。欢迎你停止阅读这段后面的文章,因为它真的解决掉这个问题了。我是一个科学家,我喜欢完成我的工作。我喜欢有一个环境,在那里我可以快速原型,并记下我的模型和想法。我需要解决非常特殊的问题。我分析给定的数据集以得出结论。这对我来说是最重要的:我怎样才能最多产的完成我的工作呢?“多产”这里意味着什么?好吧,我通常只进行一次分析 (不同的想法测试和调试除外); 我不需要重复地24/7地运行一段特定的代码,我并不是在为最终用户开发软件应用或web应用。当我 量化y “多产”时,我从字面上评估(1) 把想法以代码的形式写下来所花费的时间,(2) 调试的时间和 (3) 执行的时间之和。对我来说,“最多产”意味着“获得结果需要花费多少时间?” 现在,这么多年来,我发现,Python就是为我而生的。并非总是如此,但很多时候是这样。正如生活中的其他东西一样,Python并不是“银弹”,它并非总是每一个问题的“最佳”解决方案。然而,如果你跨常见和不那么常见的问题任务来比较编程语言的话,它已经非常接近(最佳解决方案)了;Python可能是最通用,最有能力的全才。
   
Python,机器学习和语言之争-1 (编程语言,计算机,口头禅,编辑器,针对性)

   (来源: https://xkcd.com/974/ )
  请记住:“过早的优化是一切罪恶的根源” (Donald Knuth)。如果你是那种想要从机器学习和数据科学划分中中优化下一个颠覆性高频交易模型的软件工程团队中的一员,那么Python可能不适合你 (但或许它是数据科学团队的语言选择,所以学习如何读懂它仍然有用)。因此,我的一个小小的忠告是,当你选择一门语言时,评估你每天的问题任务和需求。“如果你只有一把锤子,那么一切开始看起来都像一个钉子” – 你聪明得不会掉入这个陷阱!然而,记住,有一个平衡点。在有些场景下,即使螺丝刀可能是“更漂亮的”解决方法,锤子可能还是最好的选择。再次,这归结为生产力。
   让我从个人经历中挑个例子来说说。关于一个非常问题相关的假设,我需要开发一堆新颖的算法来“筛选”1千5百万个小的化合物。我完全是一个计算型人,但我和进行非计算性实验(我们称它们为“湿实验室”实验)的生物学家一起合作。目标是缩小它到一个包含100个潜在化合物的列表,这样他们可以在实验室里测试它们。提醒是,他们需要快速获得结果,因为他们仅有有限的实际来做实验。相信我,时间真的是“有限的”:在必须收集结果之前,我们刚让我们的补助金申请受理和研究得到资助 (我们的合作者对某种特定的只知春季产卵的幼虫做实验)。因此,我开始想“我要怎样尽可能快的把结果给他们?” 嗯,我懂C++和FORTRAN,如果我在各个语言中实现那些算法,那么与Python实现相比,执行“筛选”运行也许会更快些。这更多是一种有根据的猜测,我真的不知道实质上是否会更快。但有一件事我可以肯定:如果我开始用Python写代码,那么我可以让它在几天内运行 – 或许让对应的C++版本能够跑起来需要花一周的时间。以后,我会操心一个更有效的实现。在那一刻,重要的是,把那些结果拿给我的合作者 – “过早的优化是一切罪恶的根源。” 边注:相同的思路运用到数据存储解决方案。这里,我只是使用SQLite。CSV没有多大意义,因为我必须重复地注释和检索某些分子。我当然不想每次想要查看一个分子或者操作它的时候,都要全过程扫描或重写一个CSV – 在处理内存容量预留的问题。也许用MySQL会更好,但是出于上面提到的原因,我想快速地完成这项工作,并建立一个额外的SQL服务器……没时间做它了,用SQLite来完成这项工作挺好的。

Python,机器学习和语言之争-2 (编程语言,计算机,口头禅,编辑器,针对性)

   (来源: https://xkcd.com/1319/ )
   结论: 选择满足 你的 需求的那个语言! 不过,这里有一个小小的告诫!初学者在学习一门语言之前怎么能知道它的优势和缺点,程序员应该怎么知道这门语言对她来说会是有用的呢?这就是我会做的事:只要在谷歌和 GitHub 上搜索那些与你最常见的问题任务有关的特别的应用和解决方法。你不需要阅读和了解代码。只需要看看最终产品,另外,不要犹豫问别人。不要只是询问一般“最好的”编程语言,而是具体点,描述你的目标以及为什么你想要学习如何编程。如果你想为MacOS X开发应用,那么你可能会想要看看Objective C和Swift,如果你想在Android上开发,那么你可能会对Java更感兴趣,以此类推。
  我最喜欢的Python工具是什么?

  如果你感兴趣,那些是我最喜欢并且最常使用的Python“工具”,每天,我都会使用它们中的大部分。
  
       
  • NumPy : 我处理线性代数阵列结构和量化公式最喜欢的库;由 SciPy 增强。   
  • Theano : 为机器学习算法减负,并将计算分布到我的GPU内核中。   
  • scikit-learn : 用于每日、更基本的机器学习任务的最方便的API。   
  • matplotlib : 当涉及到画图时,这是我所选择的库。有时,我还使用 seaborn 来绘制特殊的图,例如,热图超级棒!  

1234下一页
友荐云推荐




上一篇:2015年中国公有云服务发展报告——产品研发篇(上)
下一篇:Latest Pixel leaks give comprehensive look at the ‘phone by Google’
酷辣虫提示酷辣虫禁止发表任何与中华人民共和国法律有抵触的内容!所有内容由用户发布,并不代表酷辣虫的观点,酷辣虫无法对用户发布内容真实性提供任何的保证,请自行验证并承担风险与后果。如您有版权、违规等问题,请通过"联系我们"或"违规举报"告知我们处理。

卩灬丿彼此 发表于 2016-10-3 19:03:52
Duang Duang Duang Duang Duang Duang Duang Duang
回复 支持 反对

使用道具 举报

侯斌 发表于 2016-10-3 19:19:22
侯斌就喜欢这种人少的贴子,沉了感觉是我弄沉的,火了就占了前排,说不准还遇到好心人把我给粉了 稳赚不赔啊!
回复 支持 反对

使用道具 举报

克瑞兹丶创始 发表于 2016-10-3 19:56:35
楼主已成仙,有事请求签!
回复 支持 反对

使用道具 举报

ubayo 发表于 2016-10-3 19:56:36
小时候缺钙,长大了缺爱。
回复 支持 反对

使用道具 举报

玖泰权 发表于 2016-10-3 20:03:58
为何要放弃治疗?
回复 支持 反对

使用道具 举报

132 发表于 2016-10-5 03:02:28
报告!别开枪,我就是路过来看看的。。。
回复 支持 反对

使用道具 举报

萌面超人 发表于 2016-11-7 13:02:17
精神病院在通缉楼下的!
回复 支持 反对

使用道具 举报

丢雷老母 发表于 2016-11-7 17:38:45
花生、瓜子预备着,我要准备坐沙发了!
回复 支持 反对

使用道具 举报

雅妮时尚坊 发表于 2016-11-14 06:23:11
我要让全世界知道这回帖被谁承包了
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我要投稿

推荐阅读

扫码访问 @iTTTTT瑞翔 的微博
回页顶回复上一篇下一篇回列表手机版
手机版/CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 )|网站地图 酷辣虫

© 2001-2016 Comsenz Inc. Design: Dean. DiscuzFans.

返回顶部 返回列表