這就是為什么Python比R更好的原因
目錄
- 介紹
- 這就是為什么
- 摘要
介紹
雖然說Python比R更好對我而言是正確的,但對您來說可能并非如此。 當然,您可能會因為各種原因認為R比Python更有用。 即使您反對我的聲明,我仍然希望開始進行對話,以便大家都能看到兩種編程語言的好處。 對于數(shù)據(jù)科學家來說,我相信Python比R具有更多的好處。 我確實意識到R有一些獨特而強大的統(tǒng)計庫,很可能使Python庫黯然失色。 借助使用Python與數(shù)據(jù)工程師,軟件工程師和機器學習工程師進行擴展,整個數(shù)據(jù)科學過程可以帶來更多的積極效果。
下面,我將討論五個為什么我認為Python比R更好的主要原因。這些原因包括:可伸縮性,Jupyter Notebook,庫軟件包,集成以及具有成為跨職能團隊成員的能力。
這就是為什么
可擴展性
可伸縮性是在數(shù)據(jù)科學中采用的巨大好處。 由于大多數(shù)數(shù)據(jù)科學家通常會與工程部門的其他員工一起工作,因此建模以及模型的總體流程可以更容易部署。 例如,典型的數(shù)據(jù)科學家可能只專注于執(zhí)行建模,甚至可能是一次性輸出。 但是,在建模之前有一個步驟很可能需要在訓練機器學習模型之前要做。 該步驟是數(shù)據(jù)工程部分。 在過程的這一部分中,您可以從SQL數(shù)據(jù)庫自動讀取新數(shù)據(jù),以便在訓練時模型始終是最新的。 流程的另一方面是部署方面。 第一次部署模型可能會非常令人生畏,尤其是因為在學校中所講授的模型不及建模過程那么多。
由于Python,軟件工程師和機器學習工程師可以與您并肩工作。
您可以創(chuàng)建氣流定向非循環(huán)圖(DAG),當在特定時間表上有新數(shù)據(jù)或滿足某些參數(shù)時,它可以自動訓練模型(例如,僅當我們獲得100條新的傳入數(shù)據(jù)記錄時才訓練該模型)。 訓練模型后,它可以評估新數(shù)據(jù),然后可以通過使用Python將其輸出到SQL表中。
Jupyter筆記本
或另一個類似的數(shù)據(jù)科學可視化工具,能夠解釋Python。 您可以運行代碼單元,注釋,創(chuàng)建標題以及添加可改善筆記本功能的小部件。 您在此處編寫和共享的代碼是Python。 對于您的數(shù)據(jù)科學家來說,能夠在Jupyter Notebook中使用這種編程語言進行編碼是一個巨大的勝利。
第三方庫
有幾個功能強大且常用的軟件包可以使用Python訪問。 想到的一些是sklearn(也稱為sci-kit學習)和TensorFlow。
Sklearn[2]
這個功能強大的數(shù)據(jù)科學庫具有打包的分類模型和回歸模型,可隨時用于您的數(shù)據(jù)集。
—分類
Sklearn對分類的定義是:標識對象所屬的類別。 一些流行的算法包括支持向量機(SVM),最近鄰居和隨機森林。 Sklearn還概述了垃圾郵件檢測和圖像回歸作為其最受歡迎的應用程序使用案例。
—回歸
Sklearn對回歸的定義是:預測與對象關聯(lián)的連續(xù)值屬性。 流行的回歸算法包括支持向量回歸(SVR)和最近的鄰居,其應用包括藥物反應和股票價格。
TensorFlow [3]
對于深度學習,該庫是我為更復雜的情況建模的必備工具。 這個流行而強大的庫可以處理的一些主要項目是:神經(jīng)網(wǎng)絡,通用對抗網(wǎng)絡和神經(jīng)機器翻譯。
整合方式
因為我在大多數(shù)數(shù)據(jù)科學項目中都使用Python,所以我成功地將模型.py文件集成到了面向對象的編程格式中。 這些文件以模塊化方式有條不紊地開發(fā)。 用Python調(diào)用API有點簡單,因為網(wǎng)站上有太多文檔可以幫助獲取網(wǎng)站/公司數(shù)據(jù)。
跨功能
該原因在某種程度上是可伸縮性和集成的結合。 如果您想在本地執(zhí)行數(shù)據(jù)科學過程并將輸出交給利益相關者,那很好,但是使用Python,您可以與來自工程學的其他專家一起做更多的事情。
當我第一次開始編碼時,它是在R中的,當我將我的過程和代碼展示給數(shù)據(jù)工程師和軟件工程師以進行部署時,要花一些時間才能準確地描述代碼背后的數(shù)據(jù)科學。
我還將發(fā)現(xiàn)與我一起工作的大多數(shù)工程師將幫助我部署模型,而他們已經(jīng)在使用Python,因此即使他們不完全了解該模型的工作原理,他們也可以輕松轉換我的數(shù)據(jù)科學代碼。 。
摘要

> Photo by Chris Ried on Unsplash [4].
如您所見,對于選擇使用Python的數(shù)據(jù)科學家來說,有很多好處。 盡管這兩種編程語言都非常有用和成功,但從我的個人經(jīng)驗中發(fā)現(xiàn),Python比R更好。這些主要原因包括但不限于:可伸縮性,Jupyter Notebook,庫軟件包,集成和跨功能。 最終,選擇哪種語言取決于數(shù)據(jù)科學家,但是您的目標是展示我如何在數(shù)據(jù)科學家項目中使用Python,以及為什么使用Python比R編程更好。