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

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






























