數(shù)據(jù)科學的10種優(yōu)秀工具和技術(shù)
數(shù)據(jù)科學的普及迅速增長,導致創(chuàng)建了各種各樣的工具和技術(shù),為數(shù)據(jù)科學愛好者帶來了整體收益和利益。
世界上有一個新的流行術(shù)語,稱為數(shù)據(jù)。而且大多數(shù)技術(shù)巨頭,例如Google,F(xiàn)acebook,Microsoft,IBM以及許多其他大型和小型公司,都將大量寶貴的時間和寶貴的資源投入到數(shù)據(jù)和數(shù)據(jù)科學領(lǐng)域。
對數(shù)據(jù)進行測量,收集,報告和分析,然后可以使用圖形,圖像或其他分析工具將其可視化。數(shù)據(jù)作為一般概念是指這樣的事實,即以適合于更好地使用或處理的某種形式來表示或編碼一些現(xiàn)有信息或知識。
數(shù)據(jù)科學是一個統(tǒng)一統(tǒng)計,數(shù)據(jù)分析及其相關(guān)方法的概念,以理解和分析數(shù)據(jù)中的實際現(xiàn)象。它使用了從數(shù)學,統(tǒng)計學,計算機科學,領(lǐng)域知識和信息科學等眾多領(lǐng)域中汲取的技術(shù)和理論。換一種說法 -
數(shù)據(jù)科學是一個跨學科領(lǐng)域,它使用科學的方法,過程,算法和系統(tǒng)從許多結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)中提取知識和見解。數(shù)據(jù)科學與數(shù)據(jù)挖掘,機器學習和大數(shù)據(jù)有關(guān)。
在本文中,我們將了解并深入介紹您必須知道的十種出色的工具和技術(shù)!它們對于創(chuàng)建一些獨特而酷炫的Python和數(shù)據(jù)科學項目將非常有幫助。您可以利用它們來構(gòu)建模型,創(chuàng)建項目,分析結(jié)果,部署目的等等!
因此,不費吹灰之力,讓我們開始探索這些工具和技術(shù),您可以使用這些工具和技術(shù)來提高創(chuàng)建新項目的效率和效率。
1. GitHub(和Git)
GitHub知識是數(shù)據(jù)科學家的基本要求之一。GitHub是展示代碼和與精彩社區(qū)討論項目的最佳場所。您可以按Gist的形式在存儲庫或代碼塊中共享您的工作,輸入您的個人資料的眾多受眾可以訪問它們。
GitHub,Inc.是Microsoft的子公司,該公司使用Git為軟件開發(fā)和版本控制提供托管。它提供了Git的分布式版本控制和源代碼管理(SCM)功能,以及其自己的功能。它為每個項目提供訪問控制和多種協(xié)作功能,例如錯誤跟蹤,功能請求,任務(wù)管理,持續(xù)集成和Wiki。
GitHub免費提供其基本服務(wù)。其更高級的專業(yè)和企業(yè)服務(wù)是商業(yè)性的。免費的GitHub帳戶通常用于托管開源項目。自2018年以來,它一直是Microsoft的子公司,總部位于加利福尼亞州。
如果您還沒有一個GitHub帳戶,我強烈建議您創(chuàng)建一個。它是完全免費的,它將為您打開展示您的項目并與社區(qū)中其他出色的Data Science成員合作的最佳場所之一。您可以從這里查看我的GitHub個人資料。
2. IDE
集成開發(fā)環(huán)境(IDE)是一種軟件,可為程序的編譯和解釋提供全面的工具。它為編碼人員,發(fā)燒友和開發(fā)人員提供了一個使用源代碼編輯器,自動化工具以及調(diào)試器進行實驗和解釋代碼/程序的平臺。
IDE可以支持單一編程語言(例如Pycharm)(是Python獨有的),也可以支持多種編程語言(例如Visual Studio Code)。由于python是現(xiàn)代流行的語言,因此它具有各種各樣的開發(fā)軟件,例如Pycharm,Visual Studio代碼,Jupyter筆記本等。
例如,Visual Studio Code是Microsoft為Windows,Linux和macOS開發(fā)的免費源代碼編輯器。功能包括對調(diào)試,語法突出顯示,智能代碼完成,代碼段,代碼重構(gòu)和嵌入式Git的支持。它支持各種編程語言,包括python。您可能需要進行一些其他安裝才能開始使用Python,但這很簡單。它具有不斷的更新,并且是Python和其他編程語言的最佳平臺之一。我經(jīng)常使用它,強烈建議您使用它。
Jupyter Notebook是一個開源Web應用程序,允許您創(chuàng)建和共享包含實時代碼,方程式,可視化效果和敘述文本的文檔。用途包括:數(shù)據(jù)清理和轉(zhuǎn)換,數(shù)值模擬,統(tǒng)計建模,數(shù)據(jù)可視化,機器學習等。Jupyter筆記本電腦絕對是上手數(shù)據(jù)科學和機器學習的絕佳選擇。
這些筆記本可以與任何人共享,并有助于更有效地協(xié)作代碼。我強烈建議您也使用Jupyter Notebook,因為您可以分別使用每個代碼塊,并且還可以選擇使用降價促銷。它被許多獲利的公司廣泛使用。
榮譽獎:Google合作實驗室
Colaboratory(也稱為Colab)是一個免費的Jupyter筆記本環(huán)境,該環(huán)境在云中運行并將其筆記本存儲在Google云端硬盤中。Colab最初是Google內(nèi)部的項目;試圖開源所有代碼并在上游更直接地工作,從而開發(fā)了"在Colab中打開" Google Chrome擴展程序,但最終還是結(jié)束了,并且Colab在內(nèi)部繼續(xù)進行開發(fā)。
3. GPU
圖形處理單元是一種專用的電子電路,旨在快速操作和更改內(nèi)存,以加快在幀緩沖區(qū)中創(chuàng)建圖像的速度,以輸出到顯示設(shè)備。
GPU是現(xiàn)代計算的關(guān)鍵部分。GPU計算和高性能網(wǎng)絡(luò)正在改變計算科學和AI。GPU的進步為當今深度學習的發(fā)展做出了巨大貢獻。
GPU經(jīng)過優(yōu)化,可訓練人工智能和深度學習模型,因為它們可以同時處理多個計算。它們具有大量內(nèi)核,可以更好地計算多個并行進程。
NVIDIA提供了一種稱為計算統(tǒng)一設(shè)備架構(gòu)(CUDA)的軟件,這對于支持各種深度學習應用程序至關(guān)重要。CUDA是Nvidia創(chuàng)建的并行計算平臺和應用程序編程接口模型。
它允許軟件開發(fā)人員和軟件工程師使用具有CUDA功能的圖形處理單元(GPU)進行通用處理-一種稱為GPGPU的方法。這些CUDA核心在人工智能領(lǐng)域非常有益,并且正在不斷發(fā)展。
當您使用TensorFlow或Pytorch之類的深度學習框架時,與使用相同性能的CPU相比,您可以利用這些CUDA內(nèi)核顯著更快地計算深度學習算法。
GPU是用于計算機視覺和具有深度學習和神經(jīng)網(wǎng)絡(luò)的超級計算功能的動態(tài)資源,可以執(zhí)行復雜的任務(wù),有時甚至超出人類的想象力。此外,還有許多其他用于GPU的應用程序。GPU在嵌入式系統(tǒng),移動電話,個人計算機,工作站和游戲機中得到了應用。
4. IBM Watson Studio
Watson Studio,以前是Data Science Experience或DSX,是IBM的數(shù)據(jù)科學軟件平臺。該平臺由一個工作區(qū)組成,該工作區(qū)包括用于數(shù)據(jù)科學的多個協(xié)作和開源工具。
IBM Watson Studio允許用戶使用Auto AI管理AI生命周期,準備,優(yōu)化和探索模型,構(gòu)建可共享的開源筆記本,在云上運行和訓練模型,最后部署您的Data Science項目。
在Watson Studio中,數(shù)據(jù)科學家可以與一組協(xié)作者一起創(chuàng)建一個項目,所有協(xié)作者都可以訪問各種分析模型并使用各種語言(R / Python / Scala)。Watson Studio在一個集成的環(huán)境中將包括RStudio,Spark和Python在內(nèi)的主要開源工具以及在安全和受管環(huán)境中的其他工具(例如托管Spark服務(wù)和數(shù)據(jù)整形工具)整合在一起。
Watson Studio提供對本地或云上通過Watson Data Platform可用的數(shù)據(jù)集的訪問。該平臺還擁有一個龐大的社區(qū)和嵌入式資源,例如有關(guān)數(shù)據(jù)科學界和公共數(shù)據(jù)集的最新發(fā)展的文章。該平臺以本地,云和桌面形式提供。
IBM Watson Studio為用戶提供了許多選項,其中包括一個已經(jīng)具有多個受過訓練的模型的選項,例如,您可以利用它們來創(chuàng)建對象檢測項目,而無需實際編碼。
使用IBM Watson Studio的好處是,您可以有效地優(yōu)化AI和云,預測結(jié)果并輕松地制定操作,將AI的功能同步到各種應用程序中,使AI生命周期自動化等。
5. 亞馬遜網(wǎng)絡(luò)服務(wù)
Amazon Web Services(AWS)是Amazon的子公司,按按需付費方式為個人,公司和政府提供按需云計算平臺和API。這些云計算Web服務(wù)提供了各種基本的抽象技術(shù)基礎(chǔ)結(jié)構(gòu)以及分布式計算構(gòu)造塊和工具。
這些服務(wù)之一是Amazon Elastic Compute Cloud(EC2),它使用戶可以隨時通過Internet使用隨時可用的虛擬計算機集群。AWS版本的虛擬計算機模仿了真實計算機的大多數(shù)屬性,包括用于處理的硬件中央處理器(CPU)和圖形處理器(GPU)。本地/ RAM內(nèi)存;硬盤/ SSD存儲;選擇操作系統(tǒng);聯(lián)網(wǎng);以及預裝的應用軟件,例如Web服務(wù)器,數(shù)據(jù)庫和客戶關(guān)系管理(CRM)。
AWS技術(shù)在全球的服務(wù)器場中實施,并由Amazon子公司維護。收費基于使用情況(稱為"按需付費"模型),訂戶選擇的硬件,操作系統(tǒng),軟件或網(wǎng)絡(luò)功能(需要可用性,冗余性,安全性和服務(wù)選項)的組合。
訂閱者可以為一臺虛擬AWS計算機,一臺專用物理計算機或兩者的集群付費。作為訂購協(xié)議的一部分,Amazon為訂購者的系統(tǒng)提供安全性。AWS在許多全球地理區(qū)域(包括北美的6個)運營。
對于那些對使用Amazon Web Services(AWS)探索,創(chuàng)建和部署模型感興趣的初學者,我強烈建議您查看免費套餐。這種方法將幫助您獲得更好的曝光率,并更好地了解在云環(huán)境中使用Data Science的整體知識。
6. Microsoft Azure
Microsoft Azure,通常稱為Azure,是由Microsoft創(chuàng)建的一種云計算服務(wù),用于通過Microsoft管理的數(shù)據(jù)中心構(gòu)建,測試,部署和管理應用程序和服務(wù)。它提供軟件即服務(wù)(SaaS),平臺即服務(wù)(PaaS)和基礎(chǔ)架構(gòu)即服務(wù)(IaaS),并支持許多不同的編程語言,工具和框架,包括特定于Microsoft的軟件和第三方軟件和系統(tǒng)。
Microsoft Azure是計算復雜數(shù)據(jù)科學項目以及使用人工智能和機器學習分析您的工作的最佳和最受歡迎的場所之一。您還可以在結(jié)合了AI的物聯(lián)網(wǎng)(IoT)上執(zhí)行操作,以創(chuàng)建更多創(chuàng)新作品。
Microsoft Azure與本文中討論的前兩個工具類似,但是它提供了廣泛的用途和優(yōu)點,客戶,數(shù)據(jù)科學或AI愛好者必須考慮這些優(yōu)點。您可以使用Microsoft來構(gòu)建,訓練,運行并最終部署您構(gòu)建的機器學習和數(shù)據(jù)科學項目。
Microsoft Azure的其他功能包括用于視覺和語音內(nèi)容檢測的認知搜索,使用API將認知應用程序添加到Apps,創(chuàng)建用于管理各個方面和領(lǐng)域的機器人,使用基于Apache Spark的分析設(shè)計AI以及最終使用AI傳感器和許多其他應用程序。
7. Arduino
Arduino是由ATmega微控制器組成的開發(fā)板。這是開始使用機器人技術(shù)和IoT(物聯(lián)網(wǎng))項目的最佳方法之一。
Arduino是一家開源硬件和軟件公司,業(yè)余愛好者,修補匠和專業(yè)人士可以使用Arduino來構(gòu)建驚人的創(chuàng)新項目。根據(jù)我的經(jīng)驗,Arduino絕對是開始您的機器人夢想的最佳方法之一,因為它比其他微控制器更容易使用。
Arduino有多種形式和尺寸,分別是Arduino Nano,Arduino Uno和Arduino mega。Nano是一種較小尺寸的板,可用于更簡單和獨特的項目。Uno是中等大小的董事會,非常適合開始實驗和嘗試業(yè)余愛好者級別的項目。mega是更大的開發(fā)板,可用于稍微復雜一些的項目和方案。
我認為,Arduino是開始任何類型的物聯(lián)網(wǎng)項目的最佳方法。借助Arduino進行的傳感器控制和學習設(shè)備管理等一些基本項目,對于在該領(lǐng)域追求更具創(chuàng)意的想法非常有利。
開始學習很容易,因為它主要是C和C ++等編程語言的混合,并且初學者主要需要擔心兩個代碼塊,即設(shè)置和循環(huán)功能塊。因此,我的初步建議是先嘗試Arduino Uno開發(fā)板,然后再開發(fā)更復雜的嵌入式設(shè)備。
8. 樹莓派
Raspberry Pi是單板計算機,這是開始計算和編程的絕佳方法。Raspberry Pi提供了許多在分支機構(gòu)中創(chuàng)建極酷項目的機會,例如計算機視覺,游戲,物聯(lián)網(wǎng)項目等等。
借助攝像機附件,Raspberry Pi甚至可以用于諸如物體檢測,面部識別和監(jiān)視操作之類的任務(wù)。如果您是想開始編程和編碼的初學者,那么Raspberry Pi是最便宜,最好的方法。中級業(yè)余愛好者或?qū)<乙部梢詫⑵溆糜诟呒壍捻椖俊?/p>
使用Raspberry Pi和Raspbian OS之類的操作系統(tǒng)進行編程的最好之處在于,您可以使用多種編程語言,包括python。Thony編輯器是操作系統(tǒng)中的預裝程序,您可以在此處編寫python項目。
Raspberry Pi中編碼的所有程序,包括機器學習和深度學習程序,都可以輕松部署。還可以將外部附件(例如相機,音頻設(shè)備等)添加到Raspberry Pi中,并對其進行控制以執(zhí)行實時計算機視覺任務(wù),例如視頻監(jiān)視,面部識別等。
9. 英偉達Jetson Nano
NVIDIA Jetson Nano是用于機器人技術(shù)中與人工智能相關(guān)的操作的最佳工具之一。它比Raspberry Pi稍貴,但Jetson Nano也具有更高的計算能力。根據(jù)NVIDIA的說法:
NVIDIA Jetson Nano可以開發(fā)數(shù)百萬個新型的小型低功耗AI系統(tǒng)。它打開了嵌入式物聯(lián)網(wǎng)應用程序的新世界,包括入門級網(wǎng)絡(luò)視頻錄像機(NVR),家用機器人和具有完整分析功能的智能網(wǎng)關(guān)。
NVIDIA開發(fā)人員套件允許用戶運行許多神經(jīng)網(wǎng)絡(luò)操作,包括圖像分類,分段,對象檢測和語音處理等等。
盡管Nvidia Jetson Nano比Raspberry Pi貴一點,但它具有相對更好的功能,也是開發(fā)中級和高級項目的良好起點。如前所述,它功能強大并且可以執(zhí)行各種各樣的任務(wù)。
我認為,這三個工具是AIOT入門的最佳工具。顯然,還有許多其他很棒的選擇和嵌入式設(shè)備可供選擇,以開發(fā)有效的模型。
10. Google Cloud Platform
Google提供的Google Cloud Platform(GCP)是一套云計算服務(wù),可在Google內(nèi)部為其最終用戶產(chǎn)品(例如Google Search,Gmail,文件存儲和YouTube)使用的相同基礎(chǔ)架構(gòu)上運行。
除了一套管理工具外,它還提供了一系列模塊化云服務(wù),包括計算,數(shù)據(jù)存儲,數(shù)據(jù)分析和機器學習。注冊需要提供信用卡或銀行帳戶詳細信息。Google Cloud Platform提供基礎(chǔ)架構(gòu)即服務(wù),平臺即服務(wù)和無服務(wù)器計算環(huán)境。
Google Cloud Platform是Google Cloud的一部分,其中包括Google Cloud Platform公共云基礎(chǔ)結(jié)構(gòu),Google Workspace(以前稱為G Suite),Android和Chrome OS的企業(yè)版以及用于機器學習和應用開發(fā)的應用程序編程接口(API)。企業(yè)制圖服務(wù)。
Google云端為數(shù)據(jù)科學愛好者提供了許多功能和產(chǎn)品,可以充分利用。這些范圍包括云計算,存儲和數(shù)據(jù)庫,網(wǎng)絡(luò),大數(shù)據(jù),云AI,物聯(lián)網(wǎng)(IoT),API平臺和管理服務(wù)。
具體來說,大數(shù)據(jù)提供的功能包括BigQuery(可擴展的托管企業(yè)數(shù)據(jù)倉庫,用于分析),Cloud Dataflow(基于Apache Beam的托管服務(wù),用于流和批處理數(shù)據(jù)),Cloud Dataproc(大數(shù)據(jù)平臺),用于運行Apache Hadoop和Apache Spark作業(yè)等更多功能。
Google Cloud AI提供以下功能:
- Cloud AutoML —用于訓練和部署自定義機器,學習模型的服務(wù)。截至2018年9月,該服務(wù)處于Beta版。
- Cloud TPU-Google用來訓練機器學習模型的加速器。
- 云機器學習引擎—用于基于主流框架訓練和構(gòu)建機器學習模型的托管服務(wù)。
- Cloud Job Discovery —基于Google搜索和機器學習功能的招聘生態(tài)系統(tǒng)服務(wù)。
- Dialogflow Enterprise-基于Google機器學習的開發(fā)環(huán)境,用于構(gòu)建會話界面。
- 云自然語言—基于Google深度學習模型的文本分析服務(wù)。
- 云語音到文本—基于機器學習的語音到文本轉(zhuǎn)換服務(wù)。
- Cloud文本到語音—基于機器學習的文本到語音轉(zhuǎn)換服務(wù)。
- 云翻譯API —用于在數(shù)千種可用語言對之間動態(tài)翻譯的服務(wù)
- Cloud Vision API —基于機器學習的圖像分析服務(wù)
- 云視頻智能—基于機器學習的視頻分析服務(wù)
特別說明:
Kaggle:
Kaggle是數(shù)據(jù)科學家以其獨特的問題解決能力和創(chuàng)新思維來展示和展示其技能的最佳平臺。Kaggle就是這樣一個網(wǎng)站,這里舉辦了一些與數(shù)據(jù)科學相關(guān)的最佳競賽。不用擔心您完成哪一個地方。只要您學到新知識,都沒關(guān)系。
Google LLC的子公司Kaggle是一個由數(shù)據(jù)科學家和機器學習從業(yè)人員組成的在線社區(qū)。Kaggle允許用戶查找和發(fā)布數(shù)據(jù)集,在基于Web的數(shù)據(jù)科學環(huán)境中探索和構(gòu)建模型,與其他數(shù)據(jù)科學家和機器學習工程師合作,并參加競賽以解決數(shù)據(jù)科學挑戰(zhàn)。
Stackoverflow:
Stackoverflow是專業(yè)和發(fā)燒級程序員的問答網(wǎng)站。它是一個私有網(wǎng)站,是Stack Exchange Network的旗艦網(wǎng)站。它以計算機編程中廣泛主題的問題和答案為特色。創(chuàng)建它是為了更開放地替代早期的問答網(wǎng)站,例如Experts-Exchange。
卡在您長期從事的問題上,在數(shù)據(jù)科學中并不少見。最好的部分是數(shù)據(jù)科學擁有一個出色的社區(qū),擁有非常有用的人員和大量資源供您使用,以使您受益。
Stackoverflow是您提出問題的最佳站點之一,并且可以為您的問題提供一些出色的解決方案。遇到困難時,請隨時尋求幫助!
其他:
YouTube視頻,免費的在線代碼訓練營,面向數(shù)據(jù)科學等,以及其他嵌入式IoT設(shè)備都是有用的資源,可供我們所有人利用和提高我們的技能。
在交流想法時與他人和專家進行交流是了解更多信息的好方法。沒有有效的溝通會導致很多問題,例如您對某個特定主題的查詢中的誤解。
此外,與人交談對分享您的觀點以及獲得知識非常有幫助。通過與更多的人交談,您可以開發(fā)出更好的想法,最重要的是要進行交互,這對于在與數(shù)據(jù)科學項目團隊合作的公司中非常有用。
結(jié)論:
> Photo by Barn Images on Unsplash
在本文中,我們討論了十個很棒的工具和技術(shù),您可以使用它們來創(chuàng)建數(shù)據(jù)科學宇宙的現(xiàn)代化時代。這篇文章中討論的各種工具和技術(shù)從用于創(chuàng)建更好的數(shù)據(jù)科學項目的集成開發(fā)環(huán)境(IDE)到用于加快計算和計算速度的圖形卡不等。
我們還討論了各種嵌入式設(shè)備,開發(fā)人員可以使用這些嵌入式設(shè)備來創(chuàng)建更新的創(chuàng)新,并使用這些嵌入式系統(tǒng)和微控制器來開發(fā)鏡面項目。利用各種網(wǎng)站來提高效率和整體生產(chǎn)力也是一個絕妙的主意。
最后,我們討論了大型公司為實施,可視化,改善總體模型性能以及部署數(shù)據(jù)科學項目提供的各種技術(shù)。這些都是為了鼓勵數(shù)據(jù)科學愛好者開發(fā)各種獨特的項目并在該領(lǐng)域取得進步。
謝謝大家堅持到底。我希望你們喜歡閱讀本文。祝大家有美好的一天!
原文鏈接:https://towardsdatascience.com/10-best-tools-and-technologies-for-data-science-e335fb99c2f2