亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

r語言和python應該選擇哪個

發布時間:2020-11-21 14:06:46 來源:億速云 閱讀:724 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關r語言和python應該選擇哪個,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

先簡要介紹下R:

R語言由新西蘭奧克蘭大學的Ross Ihaka和Robert Gentleman于1995設計出來(由于兩人的名字均以 ‘R’ 字母開頭,因此命名為R語言),現在由“R核心開發團隊“負責開發。

雖然R主要用于數據分析、繪圖以及數據挖掘,但也有人用作矩陣計算。其計算速度可媲美專用于矩陣計算的開源軟件GNU Octave和商業軟件MATLAB。

起初R主要在學術研究中使用,但近年來在企業界也表現突出,這使得R成為企業中使用的全球發展最快的統計語言之一。

我們看看什么情況下選R更好。

1.1 如果你的編程水平是菜鳥級,選R

如果你的編程經驗有限,推薦先學R。

對于軟件開發新手來說,Python可能不錯,但是我認為R更適合數據科學新手。

但是數據科學和軟件開發不是同一回事。

解釋一下為什么。

這種差異可歸結為:數據科學家使用編程語言的方式與軟件開發者不一樣。對于數據科學新手來說,程序(programs)應該是腳本(scripts),而不應該是軟件(software)。

舉個例子,我們用R語言處理一個叫Auto數據框(dataframe):

library(ISLR)

data('Auto')

如果對R不熟悉,代碼的具體意義可暫時不理會。

數據框是R語言中最常用的數據類型之一,以行列的形式排布,有點類似Excel表格。

在這個Auto數據框中有個weight變量,表示汽車的重量。我們想利用它來創建一個以公斤為單位的新變量weight_kg。

有很多方法可以實現這個任務。最容易想到的方法是:利用for循環遍歷weight變量中的值,然后計算出新變量的值。聽起來有點麻煩。

其實我們可以利用tidyverse包中已有的mutate函數直接計算出新變量的值:

mutate(Auto, weight_kg=weight*0.45)

再次提示,代碼的意義可先不理會。

這個方法避免使用for循環,更簡單。事實上,在R中要實現某種功能,只要你知道要用哪個函數和哪個包,實現將會變得非常簡單。

在R中,你應該盡量使用已有函數和包來完成相關任務,沒必要自己創建工具來處理任務。這意味著你不需要知道很多傳統意義上的編程概念。事實上你應該避免使用這些概念,比如:for循環、類、面向對象編程以及其它軟件開發概念。

總之,相比Python,由于R的數據處理工具開發得更好且更容易使用,我認為R更適合做數據處理。

其實Python也有很多工具來直接處理數據,比如pandas包,但是Python的包和語法具有‘軟件開發’的味道,依賴于一些軟件開發概念(像for循環、類和面向對象等等)。比如,當瀏覽一些Python書籍的時候,你仍會看到介紹for循環、類聲明等。對于那些沒有軟件開發或計算機科學背景的新人來說,這些概念很難被理解。

相反,很多情況下即使沒有任何編程經驗,你也可以很好地使用R的各種工具。

1.2 對于數據科學任務,R的語法更直觀形象

對于數據處理任務,很多時候R的語法會更簡單。函數和參數的命名設計也更好,很容易記住和使用。

舉個例子,我們將分別用R和Python來刪掉Iris數據框中的兩個變量(由于R和Python都有Iris數據框,因此我們使用這個數據框)。

Python的優勢

對于數據科學初學者,盡管我強烈推薦學R,但也不是唯一的選擇。

對于某些人,Python可能是最好的選擇。下面講一下哪些情況下選擇Python更好。

2.1 如果你有軟件開發或計算機科學基礎,學Python

如果你曾經有軟件開發經驗或者你是計算機科學專業的話,我認為Python會更適合你。因為你已經有編程經驗了,使用Python會讓你更舒服。

2.2 想開發軟件,學Python

我已經說了R更擅長數據科學。如果你想建立軟件系統的話,我認為Python更合適。Python的閃光點就是寫軟件,效率很高。就像一些專家所說的那樣,寫Python代碼就如同寫偽代碼。

此外,Python是一門通用語言,基本啥都能干。然而R比較專,只是擅長統計分析和可視化。

我想澄清一下,不是說R不能寫軟件。只是更多人喜歡用Python去建立產品軟件。因此作為數據科學家,如果你想創立軟件系統,我覺得Python比R更合適。

2.3 想搞機器學習,學Python

如果你想長期從事機器學習方面的研究,我建議你學Python。

其實R也有機器學習生態系統。特別地,R的caret 包開發得很好,它有能力完成各種機器學習任務。比如:使用caret包建立回歸模型(regression model)、支持向量機(SVM)、決策樹(包括回歸和分類)以及執行交叉驗證(cross validation)等等。總之,R的機器學習生態系統發展得很好。

但是,Python在機器學習方面的支持出現更早。為實現各種不同機器學習方法,Python的scikit-learn庫提供了一套更加簡潔和易讀的語法。而R中caret包的語法有時有點拙劣。尤其,caret包與Tidyverse包兼容得不是很好,輸出的結果有時也很難處理。相反,Python的scikit-learn庫與Python生態環境整合得很好。

市面上有關機器學習的書籍,其算法實現很多都是用Python寫的。

總之,如果你想致力于機器學習,我認為Python會更好。

關于r語言和python應該選擇哪個就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石狮市| 白玉县| 万全县| 偏关县| 枣庄市| 奉贤区| 鲜城| 宁明县| 民丰县| 涞水县| 通辽市| 大埔区| 沈丘县| 岢岚县| 金堂县| 唐海县| 邵阳市| 页游| 仁化县| 饶阳县| 胶南市| 堆龙德庆县| 兴文县| 舞钢市| 揭阳市| 乐都县| 萨迦县| 外汇| 嘉义县| 五台县| 吉林省| 东辽县| 南澳县| 福建省| 金堂县| 云梦县| 富阳市| 肃宁县| 泸定县| 原阳县| 临汾市|