0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python和R語言都適合進(jìn)行數(shù)據(jù)分析

倩倩 ? 來源:讀芯術(shù) ? 2020-03-25 16:02 ? 次閱讀

學(xué)Python還是R語言,這是個難題……

這兩個異常強(qiáng)大、靈活好用的數(shù)據(jù)分析語常常讓我們難以抉擇。

有很多文章將Python語言和R語言在數(shù)據(jù)科學(xué)方面的優(yōu)缺點(diǎn)進(jìn)行了比較,但本文并不在其中之列。

與之不同,本文介紹了數(shù)據(jù)分析師和機(jī)器學(xué)習(xí)工程師的差異,以及他們對編程語言的不同需求。

簡單而言,機(jī)器學(xué)習(xí)工程師從根本上來說是軟件工程師,他們用的是為軟件工程設(shè)計(jì)的編程語言——而不是統(tǒng)計(jì)使用的編程語言。

這聽起來相當(dāng)顯而易見,但它代表了機(jī)器學(xué)習(xí)生態(tài)系統(tǒng)的一種變化,值得深入研究。

Python和R語言都適合進(jìn)行數(shù)據(jù)分析

在以往比較Python和R語言的文章中通常會凸顯出某種語言的明顯優(yōu)勢,但這些優(yōu)勢充其量是微不足道的、主觀的。盡管有些人認(rèn)為R語言非常規(guī)統(tǒng)計(jì)函數(shù)的優(yōu)勢超過了Python,原因是后者需要使用Numpy這樣的第三方庫,但這些差異并沒有產(chǎn)生那么大的影響。

事實(shí)就是R語言和Python都完全可以用于數(shù)據(jù)分析。

比如,假設(shè)用戶要對某些數(shù)據(jù)(例如房價(jià))運(yùn)行簡單的線性回歸模型。R語言的運(yùn)行結(jié)果如下:

square_feet 《- c(1000, 1300,942, 1423, 2189)

price 《- c(300000, 299000, 240000, 420000, 600322)correlation 《-lm(price~square_feet)new_house 《- data.frame(square_feet = 1100)

new_house_price = predict(correlation, new_house)print(new_house_price)

而Python的運(yùn)行結(jié)果如下:

import pandas as pd

import statsmodels.api as smdata = {‘square_feet’: [1000, 1300, 942, 1423,2189], ‘price’: [300000, 299000, 240000, 420000, 600322]}

housing_data = pd.DataFrame(data=data)model = sm.OLS(housing_data[‘price’],housing_data[‘square_feet’]).fit()new_data = {‘square_feet’: [1400]}

new_housing_data =pd.DataFrame(data=new_data)model.predict(new_housing_data[‘square_feet’])

兩者的差異并非出人意料。一些人可能更青睞某一種語言的語法,或者可能更喜歡R語言的默認(rèn)繪圖庫(ggplot2),不喜歡Matplotlib或Python的其他庫。而其他人會認(rèn)為Python比R語言的性能更好。

現(xiàn)實(shí)情況是,如果用戶要做的只是分析數(shù)據(jù),那么任何一種語言都能完成得很不錯。

但是機(jī)器學(xué)習(xí)工程與軟件有關(guān)——并非商業(yè)智能

分析數(shù)據(jù)從而了解業(yè)務(wù)的公司(也就是商業(yè)智能)與將機(jī)器學(xué)習(xí)當(dāng)作產(chǎn)品一部分的公司有著不同的需求。

正如Foursquare的核心技術(shù)負(fù)責(zé)人亞當(dāng)·瓦克斯曼所說:

“很多時(shí)候,公司說他們有‘?dāng)?shù)據(jù)科學(xué)團(tuán)隊(duì)’,其實(shí)他們有的是分析支持功能。在Foursquare,機(jī)器學(xué)習(xí)模型在產(chǎn)品中占很大比重……Foursquare將數(shù)據(jù)科學(xué)視為產(chǎn)品開發(fā)團(tuán)隊(duì)的一部分”

瓦克斯曼還表示,在Foursquare,“沒有數(shù)據(jù)科學(xué)部門——工程部門負(fù)責(zé)處理很多事情。”

機(jī)器學(xué)習(xí)工程師的需求是不同的。這里舉一個真實(shí)的例子。

為公司設(shè)計(jì)客戶服務(wù)機(jī)器人,可能需要將模型部署為微服務(wù),該服務(wù)將接收客戶的輸入并返回要在機(jī)器人前端進(jìn)行渲染的響應(yīng)。

構(gòu)建該應(yīng)用程序界面需要:

· 加載模型,無論使用哪種框架,它們基本上都具有本地Python包。

· 選擇一個框架,服務(wù)于應(yīng)用程序界面。Python有多種選擇(其中,F(xiàn)lask最受歡迎),而R語言僅限于Plumbr。

· 考慮到解析用戶輸入以及與其他服務(wù)進(jìn)行通訊等問題。使用通用腳本語言(比如Python)會更加得心應(yīng)手。

換句話說,機(jī)器學(xué)習(xí)工程師需要處理工程方面的問題,而Python是更好的選擇。

機(jī)器學(xué)習(xí)既是研究領(lǐng)域也是工程學(xué)科

要想了解機(jī)器學(xué)習(xí)工程是怎樣出現(xiàn)的,看一看相關(guān)領(lǐng)域(網(wǎng)絡(luò)開發(fā))的發(fā)展經(jīng)歷非常有用。

2000年,只有一種產(chǎn)品依賴于客戶端和服務(wù)器之間的異步通信,它就是Outlook Web Access。微軟公司負(fù)責(zé)該產(chǎn)品的團(tuán)隊(duì)也同時(shí)研發(fā)了XMLHTTP。XMLHTTP讓后臺HTTP請求成為可能。

換句話說,唯一能構(gòu)建異步應(yīng)用程序的人就是那些發(fā)明了異步應(yīng)用程序技術(shù)的人。

不久之前,機(jī)器學(xué)習(xí)領(lǐng)域也是如此。僅有的幾家生產(chǎn)機(jī)器學(xué)習(xí)相關(guān)產(chǎn)品的公司同樣擁有相當(dāng)數(shù)量的機(jī)器學(xué)習(xí)團(tuán)隊(duì),比如谷歌、臉書和網(wǎng)飛。

但是,網(wǎng)絡(luò)開發(fā)領(lǐng)域很快就將相關(guān)人員劃分為研究人員和從業(yè)人員。研究人員還在研究新技術(shù)和框架(通常應(yīng)用于較大的公司)的時(shí)候,大多數(shù)從業(yè)人員就開始用他們的發(fā)明生產(chǎn)產(chǎn)品了。

機(jī)器學(xué)習(xí)領(lǐng)域也出現(xiàn)了類似的趨勢。機(jī)器學(xué)習(xí)工程師正在以從業(yè)者的身份出現(xiàn),他們使用大型公司和研究實(shí)驗(yàn)室生產(chǎn)的最新模型和框架來生產(chǎn)機(jī)器學(xué)習(xí)驅(qū)動型產(chǎn)品。

比如,尼克·沃爾頓在黑客馬拉松比賽中使用OpenAI的GPT-2微調(diào)版創(chuàng)建了AI地牢,該程序由機(jī)器學(xué)習(xí)驅(qū)動,用戶可創(chuàng)建自己的冒險(xiǎn)游戲:

大多數(shù)網(wǎng)絡(luò)開發(fā)人員并不設(shè)計(jì)自己的數(shù)據(jù)庫或框架,沃爾頓和他們類似,他也沒有發(fā)明自己的模型架構(gòu)。相反,他利用機(jī)器學(xué)習(xí)研究人員輸出的成果來創(chuàng)建新產(chǎn)品。

像沃爾頓這樣的從業(yè)人員都把精力放在構(gòu)建軟件上,他們需要使用適合于構(gòu)建軟件(而不是控制面板)的語言進(jìn)行工作。

機(jī)器學(xué)習(xí)正在走出實(shí)驗(yàn)室并投入生產(chǎn)——Python就是機(jī)器學(xué)習(xí)的產(chǎn)物

商業(yè)智能和數(shù)據(jù)分析會一直存在,在這些領(lǐng)域內(nèi),R語言仍會是個很受歡迎的選擇。但是,機(jī)器學(xué)習(xí)工程已經(jīng)向前發(fā)展了。

越來越多像Foursquare這樣的團(tuán)隊(duì)涌現(xiàn)出來,對于他們來說,數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)與產(chǎn)品開發(fā)和工程有關(guān)。負(fù)責(zé)這些領(lǐng)域的并非數(shù)據(jù)分析師,而是工程師(根據(jù)的是職責(zé),而不是職稱),他們使用的是軟件工程師熟悉的工具和語言(比如Python)。

R將一直是生成控制面板和輸出報(bào)告的有效工具。但是,為拼車軟件創(chuàng)建估計(jì)到達(dá)時(shí)間功能、為流媒體服務(wù)提供內(nèi)容推薦工具或?yàn)檎掌瑧?yīng)用程序提供人臉識別器是機(jī)器學(xué)習(xí)工程師和Python該完成的工作。

筆者的團(tuán)隊(duì)為機(jī)器學(xué)習(xí)工程師構(gòu)建了Cortex,因?yàn)槲覀儽緛砭褪窍M脵C(jī)器學(xué)習(xí)的軟件工程師。筆者所關(guān)心的問題與設(shè)計(jì)新模型無關(guān),而與工程問題有關(guān),比如:

· 與受歡迎的機(jī)器學(xué)習(xí)框架最為匹配的語言是什么?每個框架都有本地Python包。

· 哪種語言最適合編寫請求處理代碼?Python這樣的通用語言。

· 可用于包裝應(yīng)用程序界面模型的最簡微服務(wù)框架是什么?Flask,當(dāng)然是Python。

換句話說,筆者的團(tuán)隊(duì)為機(jī)器學(xué)習(xí)工程師(而不是數(shù)據(jù)分析師)建立了一個平臺,這就意味著我們支持的是Python,而不是R語言。

而對大家而言,適合的才是最好的,Python和R語言,在不同的領(lǐng)域,面對不同的問題,都有著各自無法取代的優(yōu)勢。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8418

    瀏覽量

    132646
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84690
  • r語言
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

    6288
收藏 人收藏

    評論

    相關(guān)推薦

    Mathematica 在數(shù)據(jù)分析中的應(yīng)用

    ,在數(shù)據(jù)分析領(lǐng)域發(fā)揮著重要作用。 1. 數(shù)據(jù)導(dǎo)入 在進(jìn)行數(shù)據(jù)分析之前,首先需要將數(shù)據(jù)導(dǎo)入到Mathematica中。Mathematica支持多種數(shù)
    的頭像 發(fā)表于 12-26 15:41 ?63次閱讀

    zeta的定義和應(yīng)用 如何使用zeta進(jìn)行數(shù)據(jù)分析

    Zeta(ζ)電位是描述懸浮粒子在液體中移動時(shí)所產(chǎn)生的電位差的一個物理量,以下是對其定義、應(yīng)用以及如何進(jìn)行數(shù)據(jù)分析的詳細(xì)解釋: Zeta電位的定義 Zeta電位是通過理論推導(dǎo)和實(shí)驗(yàn)測量得到的,它反映
    的頭像 發(fā)表于 12-19 18:10 ?529次閱讀

    數(shù)據(jù)可視化與數(shù)據(jù)分析的關(guān)系

    在當(dāng)今這個信息爆炸的時(shí)代,數(shù)據(jù)無處不在。無論是企業(yè)運(yùn)營、科學(xué)研究還是個人決策,我們需要從海量的數(shù)據(jù)中提取有價(jià)值的信息。數(shù)據(jù)分析數(shù)據(jù)可視化
    的頭像 發(fā)表于 12-06 17:09 ?343次閱讀

    如何使用SQL進(jìn)行數(shù)據(jù)分析

    使用SQL進(jìn)行數(shù)據(jù)分析是一個強(qiáng)大且靈活的過程,它涉及從數(shù)據(jù)庫中提取、清洗、轉(zhuǎn)換和聚合數(shù)據(jù),以便進(jìn)行進(jìn)一步的分析和洞察。 1.
    的頭像 發(fā)表于 11-19 10:26 ?285次閱讀

    對比Python與Java編程語言

    Python與Java都是目前非常流行的編程語言,它們各有其獨(dú)特的優(yōu)勢和適用場景。以下是對這兩種編程語言的對比: 一、語法和易用性 Python 語法簡潔,代碼更易讀,非常
    的頭像 發(fā)表于 11-15 09:31 ?316次閱讀

    eda與傳統(tǒng)數(shù)據(jù)分析的區(qū)別

    進(jìn)行初步的探索和理解,發(fā)現(xiàn)數(shù)據(jù)中潛在的模式、關(guān)系、異常值等,為后續(xù)的分析和建模提供線索和基礎(chǔ)。 方法論 :EDA強(qiáng)調(diào)數(shù)據(jù)的真實(shí)分布和可視化,使用多種圖表和可視化工具來展示
    的頭像 發(fā)表于 11-13 10:52 ?328次閱讀

    為什么選擇eda進(jìn)行數(shù)據(jù)分析

    數(shù)據(jù)科學(xué)領(lǐng)域,數(shù)據(jù)分析是一個復(fù)雜且多步驟的過程,它涉及到數(shù)據(jù)的收集、清洗、探索、建模和解釋。在這些步驟中,探索性數(shù)據(jù)分析(EDA)扮演著至關(guān)重要的角色。 1. 理解
    的頭像 發(fā)表于 11-13 10:41 ?239次閱讀

    云計(jì)算在大數(shù)據(jù)分析中的應(yīng)用

    和處理大規(guī)模的數(shù)據(jù)集。通過云計(jì)算平臺,用戶可以快速構(gòu)建數(shù)據(jù)倉庫,將海量數(shù)據(jù)進(jìn)行存儲、管理和分析。這種能力使得企業(yè)能夠高效地處理PB級別的
    的頭像 發(fā)表于 10-24 09:18 ?457次閱讀

    使用AI大模型進(jìn)行數(shù)據(jù)分析的技巧

    使用AI大模型進(jìn)行數(shù)據(jù)分析的技巧涉及多個方面,以下是一些關(guān)鍵的步驟和注意事項(xiàng): 一、明確任務(wù)目標(biāo)和需求 在使用AI大模型之前,首先要明確數(shù)據(jù)分析的任務(wù)目標(biāo),這將直接影響模型的選擇、數(shù)據(jù)收集和處理方式
    的頭像 發(fā)表于 10-23 15:14 ?757次閱讀

    IP 地址大數(shù)據(jù)分析如何進(jìn)行網(wǎng)絡(luò)優(yōu)化?

    一、大數(shù)據(jù)分析在網(wǎng)絡(luò)優(yōu)化中的作用 1.流量分析數(shù)據(jù)分析可以對網(wǎng)絡(luò)中的流量進(jìn)行實(shí)時(shí)監(jiān)測和分析,了解網(wǎng)絡(luò)的使用情況和流量趨勢。通過對流量
    的頭像 發(fā)表于 10-09 15:32 ?235次閱讀
    IP 地址大<b class='flag-5'>數(shù)據(jù)分析</b>如何<b class='flag-5'>進(jìn)行</b>網(wǎng)絡(luò)優(yōu)化?

    網(wǎng)絡(luò)爬蟲,Python數(shù)據(jù)分析

    電子發(fā)燒友網(wǎng)站提供《網(wǎng)絡(luò)爬蟲,Python數(shù)據(jù)分析.pdf》資料免費(fèi)下載
    發(fā)表于 07-13 09:27 ?1次下載

    數(shù)據(jù)分析的工具有哪些

    開發(fā)的一款電子表格軟件,廣泛應(yīng)用于數(shù)據(jù)分析領(lǐng)域。它具有以下特點(diǎn): 數(shù)據(jù)整理:Excel提供了豐富的數(shù)據(jù)整理功能,如排序、篩選、查找和替換等。 數(shù)據(jù)計(jì)算:Excel內(nèi)置了數(shù)百種函數(shù),可以
    的頭像 發(fā)表于 07-05 14:54 ?860次閱讀

    數(shù)據(jù)分析有哪些分析方法

    。 描述性分析 描述性分析數(shù)據(jù)分析的第一步,它的目的是對數(shù)據(jù)進(jìn)行描述和總結(jié)。描述性分析通常包括
    的頭像 發(fā)表于 07-05 14:51 ?587次閱讀

    使用Python進(jìn)行自然語言處理

    在探討使用Python進(jìn)行自然語言處理(NLP)的廣闊領(lǐng)域時(shí),我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優(yōu)勢,以及如何通過
    的頭像 發(fā)表于 07-04 14:40 ?456次閱讀

    求助,關(guān)于AD采集到的數(shù)據(jù)分析問題

    問題描述:使用AD采集一個10Hz到2MHz的脈沖,脈沖底部可能大于零,由采集到的數(shù)據(jù)分析出該脈沖的上升時(shí)間,幅值和占空比。 備注:在分析的時(shí)候已經(jīng)知道脈沖的頻率,精度為2X10^-5. 在分析
    發(fā)表于 05-09 07:40