0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

最适合程序员入门AI的编程语言

ml8z_IV_Technol 来源:未知 作者:胡薇 2018-10-24 09:09 次阅读

你在一个外国餐馆,你不熟悉这种文化。 你可能会问服务员关于菜单上的文字,他们的意思,甚至在你发现你将使用什么用具之前的一些问题。 因此,在谈论数据科学家最喜欢的工具之前,让我们弄清楚他们使用的编程语言。

最流行的机器学习语言

你在一个外国餐馆,你不熟悉这种文化。 你可能会问服务员关于菜单上的文字,他们的意思,甚至在你发现你将使用什么用具之前的一些问题。 因此,在谈论数据科学家最喜欢的工具之前,让我们弄清楚他们使用的编程语言。

这就是为什么我们采访数据科学从业者 - 大师,真正考虑他们为项目选择的有用工具。 我们联系的专家拥有各种专业领域,并且在Facebook和三星公司工作。 其中一些代表AI创业公司(Objection Co,NEAR.AI和Respeecher); 一些人在大学任教(哈尔科夫国立无线电大学)。

Python:一种流行语言,具有高质量的机器学习和数据分析库

Python是一种通用语言,因其可读性,良好的结构和相对温和的学习曲线而备受青睐。根据1月份进行的Stack Overflow年度开发人员调查,Python可以称为增长最快的主要编程语言。它排名第七,最受欢迎的语言(38.8%),现在比C#领先一步(34.4%)。

Respeecher Grant Reaber的研究主管,专门研究应用于语音识别深度学习,使用Python作为“几乎每个人都将其用于深度学习。 Swens for TensorFlow听起来像一个很酷的项目,但我们会等到它更成熟才考虑使用它,“格兰特总结道。

NEAR.AI创业公司的联合创始人之前曾在Google Research深入学习NLU Illia Polosukhin的团队,他也坚持使用Python:“Python始终是数据分析的语言,并且随着时间的推移变成了事实所有现代化的图书馆都为深度学习提供语言。“

Python机器学习的一个用例是模型开发,特别是原型设计。

AltexSoft的数据科学能力领导者Alexander Konduforov表示,他主要将其用作构建机器学习模型的语言。

三星乌克兰的首席工程师Vitaliy Bulygin认为Python是快速原型制作的最佳语言之一。 “在原型设计过程中,我找到了最佳解决方案并用项目所需的语言重写,例如C ++,”专家解释道。

Facebook人工智能研究员Denis Yarats指出,这种语言有一个非常棒的深度学习工具集,如PyTorch框架或NumPy库(我们将在本文后面讨论)。

C ++:用于CUDA并行计算的中级语言

C ++是一种基于C编程语言的灵活的,面向对象的静态类型语言。由于其可靠性,性能以及它支持的大量应用程序域,该语言在开发人员中仍然很受欢迎。 C ++具有高级和低级语言特性,因此被认为是一种中级编程语言。该语言的另一个应用是开发可以在实时约束下直接与硬件交互的驱动程序和软件。由于C ++足够清晰,可以解释基本概念,因此它可用于研究和教学。

数据科学家将这种语言用于各种具体的任务。哈尔科夫国家无线电电子学院(NURE)的高级讲师Andrii Babii使用C ++在CUDA(一种Nvidia GPU计算平台)上并行实现算法,以加速基于这些算法的应用程序。

“当我为CUDA编写自定义内核时,我需要C ++,”Denis Yarats补充道。

R:统计计算和图形的语言

R是统计,可视化和数据分析的语言和环境,是数据科学家的首选。 它是S编程语言的另一种实现。

R和写在其中的库提供了许多图形和统计技术,如经典统计测试,线性和非线性建模,时间序列分析,分类,聚类等。您可以使用R机器学习包轻松扩展语言。 该语言允许创建高质量的图,包括公式和数学符号。

Alexander Konduforov指出,使用R进行机器学习可实现快速数据分析和可视化。

数据分析和可视化工具

pandas:一个增强分析和建模的Python数据分析库

现在是时候谈谈Python熊猫了,这是一个最可爱名字的免费图书馆。数据科学爱好者Wes McKinney开发了这个库,以便在Python中方便地进行数据分析和建模。在大熊猫之前,这种编程语言仅适用于数据准备和修改。

pandas通过将CSV,JSON和TSV数据文件或SQL数据库转换为数据框,看起来像Excel的Python对象或带有行和列的SPSS表来简化分析。更重要的是,pandas与IPython工具包和其他库相结合,以提高性能并支持协同工作。

matplotlib:用于高质量可视化的Python机器学习库

matplotlib是一个Python 2D绘图库。绘图是机器学习数据的可视化。 matplotlib源自MATLAB:它的开发人员John D. Hunter模拟Mathworks的MATLAB软件中的绘图命令。

虽然主要使用Python编写,但库使用NumPy和其他代码进行扩展,因此即使用于大型数组也能很好地执行。

matplotlib允许使用几行代码生成生产质量的可视化。库开发人员强调了它的使用简单:“如果要查看数据的直方图,则不需要实例化对象,调用方法,设置属性等等;它应该工作。“

可以使用seaborn,ggplot和HoloViews等第三方可视化软件包扩展库的功能。 专家还可以使用Basemap和cartopy投影和绘图工具包添加额外的功能。

数据科学从业者注意到matplotlib的灵活性和集成能力。 例如,Andrii Babii喜欢使用matplotlib和seaborn以及ggplot2。

Denis Yarats(Facebook AI Research)表示他选择matplotlib主要是因为它与Python工具集很好地集成,可以与NumPy库或PyTorch机器学习框架一起使用。

Alexander Konduforov和他的AltexSoft团队也使用matplotlib。 除了大量的Python机器学习库(如pandas)以及支持R和Python的Plotly之外,团队还选择了dplyr,ggplot2,tidyr和Shiny R库。 “这些工具可以免费使用,但你必须知道编程至少要使用它们,有时需要额外的时间。”

Jupyter Notebook:协同工作能力

Jupyter Notebook是一个用于交互式计算的免费Web应用程序。有了它,用户可以使用实时代码创建和共享文档,开发和执行代码,以及呈现和讨论任务结果。可以通过Dropbox,电子邮件,GitHub和Jupyter Notebook Viewer共享文档,它可以包含图形和叙述文本。

笔记本电脑功能丰富,提供各种使用场景。

它可以与许多工具集成,例如Apache Spark,pandas和TensorFlow。它支持40多种语言,包括R,Scala,Python和Julia。除了这些功能,Jupyter Notebook还支持容器平台--Docker和Kubernetes。

来自NEAR.AI的Illia Polosukhin表示,他主要使用Jupyter Notebook进行自定义临时分析:“该应用程序允许快速进行任何数据或模型分析,并能够连接到远程服务器上的内核。您还可以与同事分享最终的笔记本。“

Tableau:强大的数据探索功能和交互式可视化

Tableau是一种用于数据科学和商业智能的数据可视化工具。许多特定功能使该软件有效地解决了各种行业和数据环境中的问题。

通过数据探索和发现,Tableau软件可以快速从数据中提取洞察并以可理解的格式呈现它们。它不需要出色的编程技能,可以轻松安装在各种设备上。虽然必须编写一个小脚本,但大多数操作都是通过拖放完成的。

Tableau支持实时分析和云集成(即与AWS,Salesforce或SAP),允许组合不同的数据集和集中数据管理。

使用的简单性和功能集是数据科学家选择此工具的原因。 “Tableau具有许多内置功能,不需要编码。 您可以在UI中执行大量数据预处理,分析和可视化,从而节省了大量精力。 但是,你必须购买许可证,因为它不是免费产品,“Alexander Konduforov说。

用于一般机器学习的框架

NumPy:使用Python进行科学计算的扩展包

之前提到的NumPy是一个扩展包,用于使用Python执行数值计算,取代了NumArray和Numeric。 它支持多维数组(表)和矩阵。 ML数据以数组表示。 矩阵是二维数字数组。 NumPy包含广播功能,作为集成C / C ++和Fortran代码的工具。 其功能还包括傅里叶变换,线性代数和随机数功能。

数据科学从业者可以使用NumPy作为存储多维通用数据的有效容器。 通过定义任意数据类型的能力,NumPy可以轻松快速地与多种数据库集成。

scikit-learn:易于使用的机器学习框架,适用于众多行业

scikit-learn是一个开源的Python机器学习库,建立在SciPy(Scientific Python),NumPy和matplotlib之上。

最初由David Cournapeau于2007年开始作为Google Summer of Code项目,scikit-learn目前由志愿者维护。截至今天,已有1,092人参与其中。

该库专为生产用途而设计。简单,定性代码,协作选项,性能以及用简单语言编写的大量文档有助于其在各种专家中的流行。

scikit-learn为用户提供了许多成熟的算法,用于监督和无监督学习。来自Machine Learning Mastery的数据科学从业者Jason Brownlee指出,该库侧重于建模数据,而不是其加载,操作和摘要。他建议使用NumPy和pandas来实现这三个功能。

Denis Yarats使用NumPy,pandas和scikit-learn进行一般机器学习:“我喜欢它们的简洁性和透明度。这些工具被广泛采用并且许多人多年来一直在进行战斗测试,这也很有帮助。“

“AltexSoft数据科学团队主要使用像scikit-learn和xgboost这样的Python库来进行分类和回归任务,”Aleksander观察道。

Andrii Babii更喜欢使用sc语言学习R语言库和包。 “我正在使用这种组合,因为它是开源的,具有很强的功能并相互补充,”数据科学家解释道。

NLTK:基于Python的人类语言数据处理平台

NLTK是一个用于开发Python程序以使用人类语言的平台。

Aleksander Konduforov更喜欢这个工具用于NLP任务。 “NLTK几乎是Python中用于文本处理的标准库,它具有许多有用的功能。 例如,不同类型的文本,句子和文字处理,词性标注,句子结构分析,命名实体识别,文本分类,情感分析等等。 所有这些库都是免费的,并提供足够的功能来解决我们的大部分任务,“专家指出。

用于神经网络建模的ML框架

TensorFlow:用于大规模机器学习的灵活框架

TensorFlow是一个开源软件库,用于2015年谷歌人工智能组织内Google Brain团队开发和发布的机器学习和深度神经网络研究。

该库的一个重要特征是数值计算是由包含节点和边的数据流图完成的。 节点表示数学运算,并且边是多维数据阵列或张量,在其上执行这些操作。

TensorFlow非常灵活,可用于各种计算平台(CPU,GPU和TPU)和设备,从台式机到服务器集群,再到移动和边缘系统。它可以在Mac,Windows和Linux上运行。

该框架的另一个优点是它可用于研究和重复的机器学习任务。

TensorFlow拥有丰富的开发工具,尤其适用于Android。三星乌克兰首席工程师Vitaliy Bulygin表示,“如果你需要在Android上实现某些功能,请使用TensorFlow。”

Objection Co的首席执行官Curtis Boyd表示,他的团队选择使用TensorFlow进行机器学习,因为它是开源的并且非常容易集成。

由Google开源的两款AIY套件让个人可以轻松获得人工智能。 这两个套件专注于计算机视觉和语音助理,是一个小型自组装纸板箱,配有所需的所有组件。

如果你想更加了解TensorFlow,或者说想实践一下人工智能项目,谷歌的另一款工具或许可以帮到你,也就是谷歌的AIY Projects项目。 AIY Vision Kit附带的软件运行三个基于TensorFlow的神经网络。 其中一个基于谷歌的MobileNets平台,能够识别超过1,000个日常物品。 第二个可以在图像中发现面部和表情。 最后一个是专门用于识别猫,狗和人的神经网络。

TensorBoard:模型训练可视化的好工具

TensorBoard是一套工具,用于TensorFlow中机器学习的不同方面和阶段的图形表示。

TensorBoard读取TensorFlow事件文件,其中包含在TensorFlow运行时生成的摘要数据(有关模型特定操作的观察)。

用图表显示的模型结构允许研究人员确保模型组件位于需要的位置并正确连接。

使用图形可视化工具,用户可以探索模型抽象的不同层,放大和缩小模式的任何部分。 TensorBoard可视化的另一个重要好处是相同类型和类似结构的节点涂有相同的颜色。用户还可以查看按设备着色(CPU,GPU或两者的组合),使用“跟踪输入”功能突出显示特定节点,并一次可视化一个或多个图表。

这种可视化方法使TensorBoard成为模型性能评估的流行工具,尤其适用于深层神经网络等复杂结构模型。

Grant Reaber指出,TensorBoard可以轻松监控模型培训。 Grant和他的团队也使用此工具进行自定义可视化。

Illia Polosukhin也选择了TensorBoard。 “TensorBoard在模型开发过程中显示指标,并允许对模型做出决策。例如,监控模型在调整其超参数并选择性能最佳时的表现非常方便,“总结了Illia。

除了显示性能指标外,TensorBoard还可以向用户显示许多其他信息,如直方图,音频,文本和图像数据,分布,嵌入和标量。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    30095

    浏览量

    268363
  • 机器学习
    +关注

    关注

    66

    文章

    8375

    浏览量

    132397

原文标题:机器学习工具,哪个语言最适合程序员入门AI?

文章出处:【微信号:IV_Technology,微信公众号:智车科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux驱动程序程序员指南

    电子发烧友网站提供《Linux驱动程序程序员指南.pdf》资料免费下载
    发表于 11-22 15:53 0次下载
    Linux驱动<b class='flag-5'>程序</b><b class='flag-5'>程序员</b>指南

    AI编程工具会不会抢程序员饭碗

    AI编程工具可辅助编程,减少手动编码,提升效率,对程序员有积极影响也有挑战。程序员需深化技能、拓宽知识应对。长远看,
    的头像 发表于 11-08 10:17 105次阅读

    第五届长沙·中国1024程序员节开幕

    场精彩活动将轮番上演。超200名海内外技术人员围绕人工智能、数据技术等前沿领域展开深入研讨。 本届1024程序员节中机器人与具身智能、大模型等主题引发热烈讨论;程序员、开发者如何利用生成式AI提升开发效率被重点关注。
    的头像 发表于 10-25 15:42 155次阅读

    NVIDIA荣登《财富》“100家最适合工作的公司”榜单第三位

    NVIDIA 在《财富》杂志和卓越职场(Great Place to Work)最新评选出的“100 家最适合工作的公司”榜单上跃居第三位。
    的头像 发表于 10-10 09:27 326次阅读

    程序员节视频创意大赛,用串口屏赢取千元大奖

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员编程爱好者,拿起你的镜头,记
    的头像 发表于 07-08 10:38 72次阅读
    <b class='flag-5'>程序员</b>节视频创意大赛,用串口屏赢取千元大奖

    程序员节视频创意盛宴,邀您共襄盛举!

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员编程爱好者,拿起你的镜头,记
    的头像 发表于 07-04 09:00 67次阅读
    <b class='flag-5'>程序员</b>节视频创意盛宴,邀您共襄盛举!

    大模型时代,程序员当下如何应对 AI 的挑战

    随着 AI 技术的飞速发展,特别是大模型的出现,传统的程序员角色正在经历深刻的变革,我们不得不重新对自己进行审视和思考。 通用领域大模型的“泛化能力” 在过去的二十年内,AI 领域的大部分研究
    的头像 发表于 06-28 16:19 501次阅读
    大模型时代,<b class='flag-5'>程序员</b>当下如何应对 <b class='flag-5'>AI</b> 的挑战

    如何选择最适合你的UV LED固化机?

    在现代化的工业生产中,UV LED固化机以其高效、环保、节能等诸多优点,逐渐成为了固化工艺的首选设备。然而,市场上的UV LED固化机种类繁多,性能各异,如何选择最适合自己需求的固化机呢?本文将为您
    的头像 发表于 05-18 14:19 351次阅读
    如何选择<b class='flag-5'>最适合</b>你的UV LED固化机?

    Stability AI发布Stable Code Instruct 3B大语言模型,可编译多种编程语言

    据报道,Stability AI公司近期推出了适配程序员使用的Stable Code Instruct 3B大语言模型,此款模型的显著特点是能够实现编程
    的头像 发表于 03-27 10:04 433次阅读

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 387次阅读
    适者生存,<b class='flag-5'>程序员</b>最终会流向哪……

    2024程序员的未来方向如何走?还看今朝

    这几年的IT行业想必大家已经感受到了,Android、Java、前端等等程序员都经历了大厂……
    的头像 发表于 02-02 09:45 777次阅读
    2024<b class='flag-5'>程序员</b>的未来方向如何走?还看今朝

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    。 如何正确看待鸿蒙? 我作为程序员来说,首先是看鸿蒙的发展、市场开发岗位、薪资以及前景。 这几年对鸿蒙的发展情况来分析,从2019年开始鸿蒙的出来今天,华为鸿蒙取得了很大的成就。从“不兼容
    发表于 01-16 22:13

    “GPT 驱动的新程序员时代 ,我们该如何编程”分论坛圆满举办

    生成式 AI 正迅猛地重塑我们的工作模式,为开发者带来了编程范式的全新变革。传统编程不再局限于编写线性代码和优化逻辑,自然语言也逐渐成为新的编程
    的头像 发表于 12-25 14:40 411次阅读
    “GPT 驱动的新<b class='flag-5'>程序员</b>时代 ,我们该如何<b class='flag-5'>编程</b>”分论坛圆满举办

    “GPT驱动的新程序员时代 ,我们该如何编程”分论坛圆满举办

    生成式AI正迅猛地重塑我们的工作模式,为开发者带来了编程范式的全新变革。传统编程不再局限于编写线性代码和优化逻辑,自然语言也逐渐成为新的编程
    的头像 发表于 12-21 19:35 361次阅读

    诚邀报名 | GPT驱动的新程序员时代,开发者如何编程

    模式,开发者们迎来了编程范式的全新变革。传统的编程不再局限于编写线性代码和优化逻辑,自然语言取而代之,成为了编程的新工具,这大大降低了开发的门槛。 如今,以ChatGPT、Copilo
    的头像 发表于 12-11 22:20 513次阅读