精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

根據數據科學家最常使用的四種編程語言推薦相應的IDE

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-11-14 09:01 ? 次閱讀

編者按:semanti.ca整理的數據科學、機器學習IDE概覽,涵蓋R、Python、Scala、Julia.

IDE提供的豐富特性對軟件開發極為有用,大大提高了程序員的生活質量。這一點同樣適用于數據科學家。然而,因為數據科學家除了可以選擇傳統的IDE,還可以選擇Jupyter notebook這樣在瀏覽器中運行的新工具。因此,數據科學家——特別是剛入門數據科學的新手——可能會困惑該使用哪個開發環境。

本文我們將根據數據科學家最常使用的四種編程語言(R、Python、Scala、Julia),推薦相應的IDE。

我們將根據semanti.ca的數據科學家和機器學習工程師的使用情況,排序每種語言推薦的IDE。

Python

PyCharm

PyCharm是JetBrains出品的跨平臺的Python IDE。

PyCharm為Python提供了一流的支持,包括代碼補全、錯誤檢測、在線代碼修正。智能搜索可以跳轉至任意類、文件、符號,甚至是IDE行動或工具窗口。一次點擊即可切換聲明、超方法、測試、用法、實現,等等。

PyCharm包括很多工具,集成的調試器和測試運行器,性能調試工具,內置終端,集成主要版本控制系統(包括Git、SVN、Mercurial),遠程開發(遠程解釋器),集成ssh終端,集成Docker和Vagrant。

PyCharm集成了Jupyter Notebook,具備一個交互Python控制臺,并支持Anaconda以及多種科學計算包,包括Matplotlib和NumPy。

PyCharm的暗色主題效果不錯,對許多semanti.ca的數據科學家和開發者而言,這是一項巨大的優勢。

https://www.jetbrains.com/pycharm/

Spyder

Spyder是主要為科學家、工程師、數據分析師設計的強大科學環境。這一全面的開發工具提供了高級的編輯、分析、調試、性能調試功能,以及數據探索、交互執行、深度檢查、可視化功能。Spyder可以通過插件和API進一步擴展功能。

Spyder的多語言編輯器具有函數/類瀏覽器,代碼分析工具,自動代碼補全,橫向/縱向分割,跳轉到定義等功能。

Spyder自身也是用Python編寫的。

https://www.spyder-ide.org/

R

RStudio

RStudio是R下特性最豐富的IDE。它既有供桌面使用的開源版本和商業版本(Windows、Mac、Linux),又可以在瀏覽器中使用(基于運行RStudio Server或RStudio Server Pro的Linux服務器)。

RStudio提供代碼高亮、代碼補全、智能縮進等功能。在源代碼編輯器中可以直接執行R代碼。開發者可以迅速地跳轉到函數定義,閱讀幫助和文檔,方便地基于項目管理多個工作目錄。集成的數據查看器可供查看表格數據,在調試模式下結合逐步執行可以實時檢查數據是如何更新的。

RStudio集成了Git和SVN支持,同時支持編寫HTML、PDF、Word文檔、幻燈片、交互式圖形(基于Shiny和ggvis)。

https://www.rstudio.com/

Eclipse的StatET插件

Eclipse是最流行的Java IDE之一。通過安裝插件,它可以支持其他編程語言。StatET是一個基于Eclipse的R IDE。它提供了編寫R代碼和構建R軟件包的一組工具,包括集成的R控制臺、對象瀏覽器、包管理起、調試器、數據查看器、R幫助系統,并支持本地和遠程安裝的多個R版本。可選的Sweave和Wikitext(Markdown和Textile)附加組件提供了帶有R代碼段的LaTeX/Wikitext文檔的源代碼編輯器和構建工具。

代碼編輯器提供了語法高亮,折疊Roxygen注釋、函數定義、其他代碼塊,自動修正行縮進,輸入和粘貼的自動縮進等功能。

內建的調試器可以很方便地管理斷點和條件斷點。調試器提供了一個清晰的調用棧,可以直接訪問選定的變量、源代碼和指令指針,當然也支持逐步執行源代碼。

StatET還包括一個數據查看器,可供查看向量、矩陣、dataframe,可以快速顯示很大的表格。

http://www.walware.de/goto/statet

R Tools for Visual Studio

Visual Studio是.NET、C++最常使用的IDE。R Tools for Visual Studio(RTVS)是一個基于MIT許可發布的自由、開源的Visual Studio擴展。

在Visual Studio下,數據科學家能夠以便利的結構組織和管理相關文件,并使用R代碼、R文檔、R Markdown、SQL請求、保存的過程等的模板。同時提供了包管理器和SQL Server集成。

RTVS可以綁定本地和遠程的工作區,這讓開發者可以在本地基于較小的數據集編寫R代碼,然后很方便地在更強大的云計算機中的更大的數據集上運行代碼。

和任何現代的IDE一樣,RTVS包括語法高亮、代碼格式化、簽名幫助、跳轉到定義、查找所有引用、代碼片段功能。

開發者可以通過R Markdown文檔分享數據結果,markdown的代碼段可以使用集成的R代碼。

RTVS為R提供了完整的REPL體驗,可以在交互窗口中直接運行源文件的代碼。

繪圖是R的一個重要部分。為了方便用R繪圖,RTVS支持多個獨立的繪圖窗口,每個具有獨立的歷史,并支持在窗口間移動圖形。圖形可以保存為圖像或PDF文件,或者復制到剪貼板。

變量探索器可供檢查全局作用域和指定包的作用域中的變量,還能查看可排序的表格,并導出至CSV。

https://github.com/Microsoft/RTVS

Jupyter Notebook的R核心

和許多數據科學家設想的不同,Jupyter并不局限于使用Python:notebook應用是語言無關的,這意味著它可以使用其他編程語言。

加載IRKernel并啟用后,就可以在notebook環境下使用R了。

https://irkernel.github.io/

R-Brain

R-Brain提供了一個數據科學云平臺(也可自行部署在內部服務器上)。R-Brain基于Jupyter,提供了IDE、控制臺、notebook、markdown的集成環境(支持R和Python)。它也集成了代碼補全、調試、打包、發布功能。

R-Brain以靈活的用戶界面提供了經典的Jupyter notebook的標準功能(交互式notebook、終端、文本編輯器、文件瀏覽器、豐富的輸出形式,等等)。它使用了Docker容器技術,所以這一解決方案可以方便地部署在云上或內部服務器上。

數據科學家可以開發、打包、分享、發布分析工作區,數據集,用R、Python、SQL編寫的應用。R-Brain同樣提供了便利的交互瀏覽數據庫綱要、查看表格內容、導出數據的功能。

https://r-brain.io

Scala

Scala IDE for Eclipse

Scala IDE for Eclipse為開發純Scala應用及Scala-Java混合應用提供了高級編輯、調試支持,可以在Scala和Java引用之間跳轉。

和任何現代IDE一樣,它具備代碼補全、代碼語義高亮、跳轉到定義功能。它可以實時捕捉編譯錯誤(在你輸入代碼的同時)。

Scala調試器可供在閉包間跳轉,并提供了為Scala定制的調試信息

Scala向導簡化了類、對象、特質(trait)、包的創建過程。重構功能可以讓你修改標識符名,組織引入,提取部分代碼為新方法,等等。

Scala IDE的特性還包括代碼格式化,智能縮進器,標記文件內的任意標識符,完整的語法高亮支持(包括注釋、控制結構、嵌入的XML),代碼折疊。

http://scala-ide.org/

IntelliJ IDEA的Scala插件

IntelliJ IDEA是另一個JetBrains出品的知名IDE。Scala插件使IntelliJ IDE可以支持Scala、SBT、Scala.js、Hocon、Play框架。

Scala插件支持以下特性:代碼輔助(高亮、補全、格式化、重構),瀏覽,查找,類型和隱式轉換信息。該插件同樣支持SBT等構建工具,ScalaTest、Specs2、uTest等測試框架。還有Scala調試器、工作表、Ammonite腳本。

https://plugins.jetbrains.com/plugin/1347-scala

Jupyter Notebooks

Scala或Apache Toree核心相當容易安裝,都具有增加Maven/SBT依賴和JAR的功能。和Python、R一樣,notebook中的單元可以分別運行,這讓數據科學家可以訓練一次模型后多次使用。

單元支持可以markdown(含LaTeX公式支持),這讓數據科學家可以使用notebook作為和客戶、同事分享的報告。

和其他語言一樣,使用Jupyter Notebook的不足在于核心容易出錯或功能有限,非常有限的調試功能,甚至沒有調試功能。數據科學家需要仔細地組織他們的單元,否則可能導致很多困惑。

Scale核心:http://almond-sh.github.io/almond/stable/docs/intro

Apache Toree: https://github.com/apache/incubator-toree

Julia

Juno

Juno使用Julia這一結合了易用和性能的語言構建。Juno的目標是移除編程的沮喪和猜測,將樂趣帶回編程。Juno的混合風格結合了notebook的探索能力和IDE的高效。

Juno基于GitHub出品的Atom編輯器,繼承了Atom強大的編輯功能和美觀的用戶界面。

Juno同時包含Julia和Atom包,以提供Julia特定的增強,例如語法高亮,繪圖面板,集成Julia調試器Gallium,運行代碼的控制臺,等等。

它的定制性很強,具備面向高級用戶的特性,例如多光標、模糊文件搜索、vim鍵綁定。

http://junolab.org/

Jupyter Notebooks

IJulia提供了Julia語言后端,可以讓你在Jupyter Notebook中使用Julia語言。IJulia允許定制Julia運行環境,安裝額外的Julia核心。IJulia還有一個貼心的功能,當你輸入IPython魔法命令時,IJulia會提示效果相似的Julia代碼。例如,輸入%load filename會提示你使用IJulia.load("filename")。

https://github.com/JuliaLang/IJulia.jl

Visual Studio Code的Julia擴展

Visual Studio Code的Julia擴展提供了語法高亮、代碼片段、LaTex片段、Julia特定命令、集成REPL、代碼補全、懸浮提示、代碼檢查、代碼導航等功能,以及用于運行測試、構建、性能評測、構建文檔的Visual Studio Code任務。

https://marketplace.visualstudio.com/items?itemName=julialang.language-julia

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

    關注

    10

    文章

    1939

    瀏覽量

    34608
  • 機器學習
    +關注

    關注

    66

    文章

    8382

    瀏覽量

    132444
  • 數據科學
    +關注

    關注

    0

    文章

    165

    瀏覽量

    10046

原文標題:數據科學、機器學習IDE概覽

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

收藏 人收藏

    評論

    相關推薦

    TI科學家談浮點DSP未來發展

    TI科學家談浮點DSP未來發展 自十多年前浮點數字信號處理器(DSP)誕生以來,便為實時信號處理提供了算術上更為先進的備選方案。不過,定點器件至今仍是業界的主流--當然低成本是主要原因。定點DSP每
    發表于 11-03 15:18

    科學家推出多種波動描記傳感器

      美國得克薩斯大學的科學家們最新一項研究結果表明,人們很快將根據腸子的波動情況當場揭穿騙子的謊言。  該大學的科研小組還認為,將來有一天,以記錄心臟活動為主的多種波動描記器將極大地提高其工作質量
    發表于 10-24 11:40

    生物電磁波揭密 場導發現(俄羅斯華裔科學家寫的腦控技術叢書)

    生物電磁波揭密場導發現(俄羅斯華裔科學家寫的腦控技術叢書)
    發表于 03-05 09:31

    通往數據科學家的崎嶇道路

    如果你曾經查看過數據科學家的崗位要求,你就知道它的職責范圍有多廣。有的數據科學家致力于自然語言處理、計算機視覺、深度學習,有的則從事A/B測
    的頭像 發表于 07-26 09:17 ?2550次閱讀

    科學家們發明了一機器人化學家 意圖通過其發現新的藥物

    科學家們發明了一機器人化學家,可以通過機器學習技術徹底改變新分子的發現方式。科學家也希望通過這一技術能夠發現新的藥物。
    發表于 11-05 10:26 ?1306次閱讀

    哪些才是對數據科學家最迫切的技能呢?

    AngelList提供的是列出數據科學家崗位的公司數而不是崗位數。我把AngelList從所有分析里面排除掉了,因為其搜索算法似乎按照OR型的邏輯搜索進行,沒有辦法改成AND。如果你尋找的是“數據
    的頭像 發表于 11-19 18:14 ?3043次閱讀

    數據科學家與機器學習工程師怎么區分

    十年來,我們一直在談論數據科學數據科學家。雖然在怎么才叫“數據科學家”的問題上始終存在著爭議,
    的頭像 發表于 05-18 11:24 ?3204次閱讀

    數據科學家常犯的10個編程錯誤

    數據科學家是“比軟件工程師更擅長統計學,比統計學家更擅長軟件工程的人”。
    的頭像 發表于 05-24 14:50 ?2654次閱讀

    數據科學家數據工程師的區別

    數據科學家和數據工程師的主要區別,可以用ETL和DAD的區別來解釋。
    的頭像 發表于 07-10 17:06 ?2625次閱讀

    企業如何解決數據科學家短缺詳細方法什么

     隨著企業以數據為中心的文化,以做出決策和規劃,數據科學家對全球企業的重要性日益增加。但是企業無法足夠快地聘請數據科學家,因為合格候選人仍然
    的頭像 發表于 04-18 10:31 ?3452次閱讀

    采訪資深數據科學家:成為數據科學家應具有的品質

    作為一門逐漸成熟的新興領域,與數據科學相關的很多領域開始變得備受青睞,比如數據工程,數據分析以及機器學習和深度學習。數據
    的頭像 發表于 06-30 11:28 ?2279次閱讀

    什么是數據科學家的最佳編程語言

    每個數據科學學習者都最常問的問題:“ 什么是數據科學家的最佳編程
    的頭像 發表于 07-05 11:32 ?2485次閱讀

    數據科學家和數據工程師能合二為一嗎?

    雖然數據科學家和數據工程師的角色似乎截然不同,但數據科學家和數據工程師有許多共同的特點和共技能。這些重疊的技能包括處理和操作大數據集、應用
    的頭像 發表于 07-25 10:17 ?2515次閱讀

    中國聯通AI科學家廉士國入選全球前2%頂尖科學家榜單

    %頂尖科學家榜單是Elsevier和斯坦福大學John P.A. Ioannidis教授團隊合作的具有全球影響力的項目成果,為全球學術界提供了一個面向科學家長期科研表現的衡量指標,旨在更客觀、更真實地反映科學家全球影響力。榜單以
    的頭像 發表于 11-07 16:18 ?2662次閱讀

    四種編程語言之間的區別和聯系

    編程語言是一人與計算機之間進行交流的方式,不同的編程語言有著不同的特點和用途。本文將對四種常見
    的頭像 發表于 02-05 14:16 ?1459次閱讀