0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

最適合程序員入門AI的編程語言

ml8z_IV_Technol ? 來源:未知 ? 作者:胡薇 ? 2018-10-24 09:09 ? 次閱讀

你在一個外國餐館,你不熟悉這種文化。 你可能會問服務員關于菜單上的文字,他們的意思,甚至在你發(fā)現(xiàn)你將使用什么用具之前的一些問題。 因此,在談論數(shù)據(jù)科學家最喜歡的工具之前,讓我們弄清楚他們使用的編程語言。

最流行的機器學習語言

你在一個外國餐館,你不熟悉這種文化。 你可能會問服務員關于菜單上的文字,他們的意思,甚至在你發(fā)現(xiàn)你將使用什么用具之前的一些問題。 因此,在談論數(shù)據(jù)科學家最喜歡的工具之前,讓我們弄清楚他們使用的編程語言。

這就是為什么我們采訪數(shù)據(jù)科學從業(yè)者 - 大師,真正考慮他們?yōu)轫椖窟x擇的有用工具。 我們聯(lián)系的專家擁有各種專業(yè)領域,并且在Facebook和三星公司工作。 其中一些代表AI創(chuàng)業(yè)公司(Objection Co,NEAR.AI和Respeecher); 一些人在大學任教(哈爾科夫國立無線電大學)。

Python:一種流行語言,具有高質量的機器學習和數(shù)據(jù)分析庫

Python是一種通用語言,因其可讀性,良好的結構和相對溫和的學習曲線而備受青睞。根據(jù)1月份進行的Stack Overflow年度開發(fā)人員調查,Python可以稱為增長最快的主要編程語言。它排名第七,最受歡迎的語言(38.8%),現(xiàn)在比C#領先一步(34.4%)。

Respeecher Grant Reaber的研究主管,專門研究應用于語音識別深度學習,使用Python作為“幾乎每個人都將其用于深度學習。 Swens for TensorFlow聽起來像一個很酷的項目,但我們會等到它更成熟才考慮使用它,“格蘭特總結道。

NEAR.AI創(chuàng)業(yè)公司的聯(lián)合創(chuàng)始人之前曾在Google Research深入學習NLU Illia Polosukhin的團隊,他也堅持使用Python:“Python始終是數(shù)據(jù)分析的語言,并且隨著時間的推移變成了事實所有現(xiàn)代化的圖書館都為深度學習提供語言?!?/p>

Python機器學習的一個用例是模型開發(fā),特別是原型設計。

AltexSoft的數(shù)據(jù)科學能力領導者Alexander Konduforov表示,他主要將其用作構建機器學習模型的語言。

三星烏克蘭的首席工程師Vitaliy Bulygin認為Python是快速原型制作的最佳語言之一。 “在原型設計過程中,我找到了最佳解決方案并用項目所需的語言重寫,例如C ++,”專家解釋道。

Facebook人工智能研究員Denis Yarats指出,這種語言有一個非常棒的深度學習工具集,如PyTorch框架或NumPy庫(我們將在本文后面討論)。

C ++:用于CUDA并行計算的中級語言

C ++是一種基于C編程語言的靈活的,面向對象的靜態(tài)類型語言。由于其可靠性,性能以及它支持的大量應用程序域,該語言在開發(fā)人員中仍然很受歡迎。 C ++具有高級和低級語言特性,因此被認為是一種中級編程語言。該語言的另一個應用是開發(fā)可以在實時約束下直接與硬件交互的驅動程序和軟件。由于C ++足夠清晰,可以解釋基本概念,因此它可用于研究和教學。

數(shù)據(jù)科學家將這種語言用于各種具體的任務。哈爾科夫國家無線電電子學院(NURE)的高級講師Andrii Babii使用C ++在CUDA(一種Nvidia GPU計算平臺)上并行實現(xiàn)算法,以加速基于這些算法的應用程序。

“當我為CUDA編寫自定義內核時,我需要C ++,”Denis Yarats補充道。

R:統(tǒng)計計算和圖形的語言

R是統(tǒng)計,可視化和數(shù)據(jù)分析的語言和環(huán)境,是數(shù)據(jù)科學家的首選。 它是S編程語言的另一種實現(xiàn)。

R和寫在其中的庫提供了許多圖形和統(tǒng)計技術,如經典統(tǒng)計測試,線性和非線性建模,時間序列分析,分類,聚類等。您可以使用R機器學習包輕松擴展語言。 該語言允許創(chuàng)建高質量的圖,包括公式和數(shù)學符號。

Alexander Konduforov指出,使用R進行機器學習可實現(xiàn)快速數(shù)據(jù)分析和可視化。

數(shù)據(jù)分析和可視化工具

pandas:一個增強分析和建模的Python數(shù)據(jù)分析庫

現(xiàn)在是時候談談Python熊貓了,這是一個最可愛名字的免費圖書館。數(shù)據(jù)科學愛好者Wes McKinney開發(fā)了這個庫,以便在Python中方便地進行數(shù)據(jù)分析和建模。在大熊貓之前,這種編程語言僅適用于數(shù)據(jù)準備和修改。

pandas通過將CSV,JSON和TSV數(shù)據(jù)文件或SQL數(shù)據(jù)庫轉換為數(shù)據(jù)框,看起來像Excel的Python對象或帶有行和列的SPSS表來簡化分析。更重要的是,pandas與IPython工具包和其他庫相結合,以提高性能并支持協(xié)同工作。

matplotlib:用于高質量可視化的Python機器學習庫

matplotlib是一個Python 2D繪圖庫。繪圖是機器學習數(shù)據(jù)的可視化。 matplotlib源自MATLAB:它的開發(fā)人員John D. Hunter模擬Mathworks的MATLAB軟件中的繪圖命令。

雖然主要使用Python編寫,但庫使用NumPy和其他代碼進行擴展,因此即使用于大型數(shù)組也能很好地執(zhí)行。

matplotlib允許使用幾行代碼生成生產質量的可視化。庫開發(fā)人員強調了它的使用簡單:“如果要查看數(shù)據(jù)的直方圖,則不需要實例化對象,調用方法,設置屬性等等;它應該工作?!?/p>

可以使用seaborn,ggplot和HoloViews等第三方可視化軟件包擴展庫的功能。 專家還可以使用Basemap和cartopy投影和繪圖工具包添加額外的功能。

數(shù)據(jù)科學從業(yè)者注意到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:協(xié)同工作能力

Jupyter Notebook是一個用于交互式計算的免費Web應用程序。有了它,用戶可以使用實時代碼創(chuàng)建和共享文檔,開發(fā)和執(zhí)行代碼,以及呈現(xiàn)和討論任務結果??梢酝ㄟ^Dropbox,電子郵件,GitHub和Jupyter Notebook Viewer共享文檔,它可以包含圖形和敘述文本。

筆記本電腦功能豐富,提供各種使用場景。

它可以與許多工具集成,例如Apache Spark,pandas和TensorFlow。它支持40多種語言,包括R,Scala,Python和Julia。除了這些功能,Jupyter Notebook還支持容器平臺--Docker和Kubernetes。

來自NEAR.AI的Illia Polosukhin表示,他主要使用Jupyter Notebook進行自定義臨時分析:“該應用程序允許快速進行任何數(shù)據(jù)或模型分析,并能夠連接到遠程服務器上的內核。您還可以與同事分享最終的筆記本?!?/p>

Tableau:強大的數(shù)據(jù)探索功能和交互式可視化

Tableau是一種用于數(shù)據(jù)科學和商業(yè)智能的數(shù)據(jù)可視化工具。許多特定功能使該軟件有效地解決了各種行業(yè)和數(shù)據(jù)環(huán)境中的問題。

通過數(shù)據(jù)探索和發(fā)現(xiàn),Tableau軟件可以快速從數(shù)據(jù)中提取洞察并以可理解的格式呈現(xiàn)它們。它不需要出色的編程技能,可以輕松安裝在各種設備上。雖然必須編寫一個小腳本,但大多數(shù)操作都是通過拖放完成的。

Tableau支持實時分析和云集成(即與AWS,Salesforce或SAP),允許組合不同的數(shù)據(jù)集和集中數(shù)據(jù)管理。

使用的簡單性和功能集是數(shù)據(jù)科學家選擇此工具的原因。 “Tableau具有許多內置功能,不需要編碼。 您可以在UI中執(zhí)行大量數(shù)據(jù)預處理,分析和可視化,從而節(jié)省了大量精力。 但是,你必須購買許可證,因為它不是免費產品,“Alexander Konduforov說。

用于一般機器學習的框架

NumPy:使用Python進行科學計算的擴展包

之前提到的NumPy是一個擴展包,用于使用Python執(zhí)行數(shù)值計算,取代了NumArray和Numeric。 它支持多維數(shù)組(表)和矩陣。 ML數(shù)據(jù)以數(shù)組表示。 矩陣是二維數(shù)字數(shù)組。 NumPy包含廣播功能,作為集成C / C ++和Fortran代碼的工具。 其功能還包括傅里葉變換,線性代數(shù)和隨機數(shù)功能。

數(shù)據(jù)科學從業(yè)者可以使用NumPy作為存儲多維通用數(shù)據(jù)的有效容器。 通過定義任意數(shù)據(jù)類型的能力,NumPy可以輕松快速地與多種數(shù)據(jù)庫集成。

scikit-learn:易于使用的機器學習框架,適用于眾多行業(yè)

scikit-learn是一個開源的Python機器學習庫,建立在SciPy(Scientific Python),NumPy和matplotlib之上。

最初由David Cournapeau于2007年開始作為Google Summer of Code項目,scikit-learn目前由志愿者維護。截至今天,已有1,092人參與其中。

該庫專為生產用途而設計。簡單,定性代碼,協(xié)作選項,性能以及用簡單語言編寫的大量文檔有助于其在各種專家中的流行。

scikit-learn為用戶提供了許多成熟的算法,用于監(jiān)督和無監(jiān)督學習。來自Machine Learning Mastery的數(shù)據(jù)科學從業(yè)者Jason Brownlee指出,該庫側重于建模數(shù)據(jù),而不是其加載,操作和摘要。他建議使用NumPy和pandas來實現(xiàn)這三個功能。

Denis Yarats使用NumPy,pandas和scikit-learn進行一般機器學習:“我喜歡它們的簡潔性和透明度。這些工具被廣泛采用并且許多人多年來一直在進行戰(zhàn)斗測試,這也很有幫助。“

“AltexSoft數(shù)據(jù)科學團隊主要使用像scikit-learn和xgboost這樣的Python庫來進行分類和回歸任務,”Aleksander觀察道。

Andrii Babii更喜歡使用sc語言學習R語言庫和包。 “我正在使用這種組合,因為它是開源的,具有很強的功能并相互補充,”數(shù)據(jù)科學家解釋道。

NLTK:基于Python的人類語言數(shù)據(jù)處理平臺

NLTK是一個用于開發(fā)Python程序以使用人類語言的平臺。

Aleksander Konduforov更喜歡這個工具用于NLP任務。 “NLTK幾乎是Python中用于文本處理的標準庫,它具有許多有用的功能。 例如,不同類型的文本,句子和文字處理,詞性標注,句子結構分析,命名實體識別,文本分類,情感分析等等。 所有這些庫都是免費的,并提供足夠的功能來解決我們的大部分任務,“專家指出。

用于神經網絡建模的ML框架

TensorFlow:用于大規(guī)模機器學習的靈活框架

TensorFlow是一個開源軟件庫,用于2015年谷歌人工智能組織內Google Brain團隊開發(fā)和發(fā)布的機器學習和深度神經網絡研究。

該庫的一個重要特征是數(shù)值計算是由包含節(jié)點和邊的數(shù)據(jù)流圖完成的。 節(jié)點表示數(shù)學運算,并且邊是多維數(shù)據(jù)陣列或張量,在其上執(zhí)行這些操作。

TensorFlow非常靈活,可用于各種計算平臺(CPU,GPU和TPU)和設備,從臺式機到服務器集群,再到移動和邊緣系統(tǒng)。它可以在Mac,Windows和Linux上運行。

該框架的另一個優(yōu)點是它可用于研究和重復的機器學習任務。

TensorFlow擁有豐富的開發(fā)工具,尤其適用于Android。三星烏克蘭首席工程師Vitaliy Bulygin表示,“如果你需要在Android上實現(xiàn)某些功能,請使用TensorFlow?!?/p>

Objection Co的首席執(zhí)行官Curtis Boyd表示,他的團隊選擇使用TensorFlow進行機器學習,因為它是開源的并且非常容易集成。

由Google開源的兩款AIY套件讓個人可以輕松獲得人工智能。 這兩個套件專注于計算機視覺和語音助理,是一個小型自組裝紙板箱,配有所需的所有組件。

如果你想更加了解TensorFlow,或者說想實踐一下人工智能項目,谷歌的另一款工具或許可以幫到你,也就是谷歌的AIY Projects項目。 AIY Vision Kit附帶的軟件運行三個基于TensorFlow的神經網絡。 其中一個基于谷歌的MobileNets平臺,能夠識別超過1,000個日常物品。 第二個可以在圖像中發(fā)現(xiàn)面部和表情。 最后一個是專門用于識別貓,狗和人的神經網絡。

TensorBoard:模型訓練可視化的好工具

TensorBoard是一套工具,用于TensorFlow中機器學習的不同方面和階段的圖形表示。

TensorBoard讀取TensorFlow事件文件,其中包含在TensorFlow運行時生成的摘要數(shù)據(jù)(有關模型特定操作的觀察)。

用圖表顯示的模型結構允許研究人員確保模型組件位于需要的位置并正確連接。

使用圖形可視化工具,用戶可以探索模型抽象的不同層,放大和縮小模式的任何部分。 TensorBoard可視化的另一個重要好處是相同類型和類似結構的節(jié)點涂有相同的顏色。用戶還可以查看按設備著色(CPU,GPU或兩者的組合),使用“跟蹤輸入”功能突出顯示特定節(jié)點,并一次可視化一個或多個圖表。

這種可視化方法使TensorBoard成為模型性能評估的流行工具,尤其適用于深層神經網絡等復雜結構模型。

Grant Reaber指出,TensorBoard可以輕松監(jiān)控模型培訓。 Grant和他的團隊也使用此工具進行自定義可視化。

Illia Polosukhin也選擇了TensorBoard。 “TensorBoard在模型開發(fā)過程中顯示指標,并允許對模型做出決策。例如,監(jiān)控模型在調整其超參數(shù)并選擇性能最佳時的表現(xiàn)非常方便,“總結了Illia。

除了顯示性能指標外,TensorBoard還可以向用戶顯示許多其他信息,如直方圖,音頻,文本和圖像數(shù)據(jù),分布,嵌入和標量。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關注

    關注

    87

    文章

    29395

    瀏覽量

    267689
  • 機器學習
    +關注

    關注

    66

    文章

    8323

    瀏覽量

    132175

原文標題:機器學習工具,哪個語言最適合程序員入門AI?

文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    NVIDIA榮登《財富》“100家最適合工作的公司”榜單第三位

    NVIDIA 在《財富》雜志和卓越職場(Great Place to Work)最新評選出的“100 家最適合工作的公司”榜單上躍居第三位。
    的頭像 發(fā)表于 10-10 09:27 ?249次閱讀

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員編程愛好者,拿起你的鏡頭,記
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員編程愛好者,拿起你的鏡頭,記
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    大模型時代,程序員當下如何應對 AI 的挑戰(zhàn)

    隨著 AI 技術的飛速發(fā)展,特別是大模型的出現(xiàn),傳統(tǒng)的程序員角色正在經歷深刻的變革,我們不得不重新對自己進行審視和思考。 通用領域大模型的“泛化能力” 在過去的二十年內,AI 領域的大部分研究
    的頭像 發(fā)表于 06-28 16:19 ?471次閱讀
    大模型時代,<b class='flag-5'>程序員</b>當下如何應對 <b class='flag-5'>AI</b> 的挑戰(zhàn)

    Stability AI發(fā)布Stable Code Instruct 3B大語言模型,可編譯多種編程語言

    據(jù)報道,Stability AI公司近期推出了適配程序員使用的Stable Code Instruct 3B大語言模型,此款模型的顯著特點是能夠實現(xiàn)編程
    的頭像 發(fā)表于 03-27 10:04 ?387次閱讀

    適者生存,程序員最終會流向哪……

    程序員沒有永遠的護城河??!就目前的互聯(lián)網大環(huán)境來看,it行業(yè)已經是……
    的頭像 發(fā)表于 03-11 17:11 ?333次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    1月18號“純鴻蒙”千帆啟航,程序員預備!

    。 如何正確看待鴻蒙? 我作為程序員來說,首先是看鴻蒙的發(fā)展、市場開發(fā)崗位、薪資以及前景。 這幾年對鴻蒙的發(fā)展情況來分析,從2019年開始鴻蒙的出來今天,華為鴻蒙取得了很大的成就。從“不兼容
    發(fā)表于 01-16 22:13

    “GPT 驅動的新程序員時代 ,我們該如何編程”分論壇圓滿舉辦

    生成式 AI 正迅猛地重塑我們的工作模式,為開發(fā)者帶來了編程范式的全新變革。傳統(tǒng)編程不再局限于編寫線性代碼和優(yōu)化邏輯,自然語言也逐漸成為新的編程
    的頭像 發(fā)表于 12-25 14:40 ?386次閱讀
    “GPT 驅動的新<b class='flag-5'>程序員</b>時代 ,我們該如何<b class='flag-5'>編程</b>”分論壇圓滿舉辦

    “GPT驅動的新程序員時代 ,我們該如何編程”分論壇圓滿舉辦

    生成式AI正迅猛地重塑我們的工作模式,為開發(fā)者帶來了編程范式的全新變革。傳統(tǒng)編程不再局限于編寫線性代碼和優(yōu)化邏輯,自然語言也逐漸成為新的編程
    的頭像 發(fā)表于 12-21 19:35 ?340次閱讀

    誠邀報名 | GPT驅動的新程序員時代,開發(fā)者如何編程?

    模式,開發(fā)者們迎來了編程范式的全新變革。傳統(tǒng)的編程不再局限于編寫線性代碼和優(yōu)化邏輯,自然語言取而代之,成為了編程的新工具,這大大降低了開發(fā)的門檻。 如今,以ChatGPT、Copilo
    的頭像 發(fā)表于 12-11 22:20 ?478次閱讀

    程序員表白程序

    電子發(fā)燒友網站提供《程序員表白程序.rar》資料免費下載
    發(fā)表于 11-21 10:41 ?16次下載
    <b class='flag-5'>程序員</b>表白<b class='flag-5'>程序</b>

    嵌入式程序員應知道的幾個基本問題

    電子發(fā)燒友網站提供《嵌入式程序員應知道的幾個基本問題.pdf》資料免費下載
    發(fā)表于 11-20 11:21 ?0次下載
    嵌入式<b class='flag-5'>程序員</b>應知道的幾個基本問題

    C語言編程入門教程

    電子發(fā)燒友網站提供《C語言編程入門教程.rar》資料免費下載
    發(fā)表于 11-20 10:23 ?8次下載
    C<b class='flag-5'>語言</b><b class='flag-5'>編程</b><b class='flag-5'>入門</b>教程

    使用ADA4899-1做單位增益和放大電路,最適合的電路是怎么設置的?

    請問使用ADA4899-1做單位增益和放大電路(10倍)時候,最適合的電路是怎么設置的,能分別提供一下電路嗎?
    發(fā)表于 11-15 06:58

    智能低代碼洪流涌動程序員節(jié),華為云 Astro 觸發(fā) 1024 的乘法效應!

    ? 從人工智能至量子計算,再到最新的云原生技術,越來越多的榮耀被程序員斬獲。今年 1024 程序員節(jié),華為云 Astro 向全民致敬:「低代碼高產出?拓荒數(shù)字化版圖——人人皆是程序員」,為全球工程師
    的頭像 發(fā)表于 11-13 09:39 ?411次閱讀
    智能低代碼洪流涌動<b class='flag-5'>程序員</b>節(jié),華為云 Astro 觸發(fā) 1024 的乘法效應!