99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀為什么R語言是學習數(shù)據(jù)分析的第一選擇
為什么R語言是學習數(shù)據(jù)分析的第一選擇
2018-01-04
收藏

為什么R語言是學習數(shù)據(jù)分析的第一選擇

專注于一種編程語言的原因是,你需要更多地關注過程和技術,而不是語法。你需要掌握如何通過數(shù)據(jù)科學工具來分析數(shù)據(jù),以及如何解決問題。事實證明,R語言是最佳的選擇。


剛開始學習數(shù)據(jù)科學的人都會面對同一個問題:

不知道該先學習哪種編程語言。

不僅僅是編程語言,像Tableau,SPSS等軟件系統(tǒng)也是同樣的情況。有越來越多的工具和編程語言,很難知道該選擇哪一種。

事實是,你的時間有限。學習一門新的編程語言相當于一項巨大的投資,因此在選擇語言時需要有戰(zhàn)略性。

很明顯,一些語言會給你的投資帶來很高的回報(付出的時間和金錢投資)。然而其他語言可能是你每年只用幾次的純粹輔助工具。

我給你的建議就是:先學習R語言

專注于一種語言

在說明為什么你應該學習R語言之前,我想強調的是,在開始學習數(shù)據(jù)科學時,你應該學習一種語言。

有些人問我是否應該學習在學R語言的同時學習Python。我的答案基本上是否定的,除非你需要使用一種以上的語言,否則你應該選擇一種語言進行學習。

專注于一種編程語言的原因是,你需要更多地關注過程和技術,而不是語法。你需要掌握如何通過數(shù)據(jù)科學工具來分析數(shù)據(jù),以及如何解決問題。事實證明,R語言是最佳的選擇。

學習R語言

我建議你將R語言作為你的第一個“數(shù)據(jù)科學編程語言”。雖然也有例外,比如特定的項目需要。

因為R語言正在成為數(shù)據(jù)科學的“通用語言”

這并不是說R語言是唯一的語言,也不是說它是每個工作的最佳工具。然而,它是使用最廣泛的,而且越來越受歡迎。

O' reilly media在過去幾年中進行了一系列數(shù)據(jù)科學調查,分析了數(shù)據(jù)科學趨勢。在2016年的調查報告中,R語言是最常用的編程語言(如果排除SQL的話,在本文中它不能稱為編程語言)。57%的調查人群使用R語言(使用Python的比例為54%)。

另一個常見的語言排名系統(tǒng)是Redmonk編程語言排名,它由GitHub(代碼行)和Stack Overflow(標簽數(shù))的流行指數(shù)派生而來。截至2016年11月,R語言在所有編程語言中排名第13。此外,R語言多年來一直呈持續(xù)上升趨勢:

此外還有TIOBE指數(shù)(按搜索引擎搜索次數(shù)對編程語言進行排名)。在TIOBE指數(shù)上,R語言十年來呈現(xiàn)出穩(wěn)定上升趨勢。

使用R語言的公司

在招聘數(shù)據(jù)科學家的幾家頂級公司中,R語言使用程度非常高。在我認為現(xiàn)代經(jīng)濟中最優(yōu)秀的兩家公司——Google和Facebook 都有使用R語言數(shù)據(jù)科學家。

除了像Google,F(xiàn)acebook和微軟這樣的科技巨頭,R語言在美國銀行,福特,TechCrunch,Uber和Trulia等眾多公司都有廣泛的應用。

R語言在學術界很受歡迎

R語言不僅僅是一個行業(yè)工具。它在學術科學家和研究人員中也非常受歡迎,最近著名《自然》雜志上發(fā)表的R語言概況也證實了這一點。

R語言在學術界的備受歡迎,因為它創(chuàng)造了供應行業(yè)的人才庫。

換句話說,如果最優(yōu)秀、最聰明的人群在大學學習了R語言,這將加大R語言在行業(yè)中的重要性。當學者、博士和研究人員離開學術界從事商業(yè)活動時,他們又將產(chǎn)生對R語言人才的需求。

此外,隨著數(shù)據(jù)科學的成熟,商業(yè)屆的數(shù)據(jù)科學家將需要與學術屆的科學家進行更多的溝通。我們需要借鑒技術和交流觀點。隨著世界轉變?yōu)閿?shù)據(jù)流時,學術科學與面向商業(yè)的數(shù)據(jù)科學之間的界線會變得模糊。

通過R語言學習“數(shù)據(jù)科學的技能”是最簡單的

然而,R語言的普及性并不是學習R語言的唯一原因。

在選擇語言時,你需要一種在這些領域都具有重要功能的語言。同時你需要執(zhí)行這些任務的工具,以及在你所選語言中來學習這些技能的資源。

如上所述,你更多地需要關注流程和技術,而不是語法。

你需要學習如何解決問題。

你需要學習如何在數(shù)據(jù)中找到真知灼見。

為此,你需要掌握數(shù)據(jù)科學的3個核心技能領域:數(shù)據(jù)處理,數(shù)據(jù)可視化機器學習。在R語言中掌握這些技能將比任何其他語言都容易。

數(shù)據(jù)處理

一般來說,數(shù)據(jù)科學中80%的工作都是數(shù)據(jù)處理。通常情況下,你需要花費大量時間來整理你的數(shù)據(jù)。R語言中有一些很棒的數(shù)據(jù)管理工具。

R語言中的dplyr包使數(shù)據(jù)處理變得容易,這可以大大簡化數(shù)據(jù)處理的工作流程。

數(shù)據(jù)可視化

ggplot2是最佳的數(shù)據(jù)可視化工具之一。ggplot2的好處是,在學習語法的同時,還學習如何思考數(shù)據(jù)可視化。

所有的統(tǒng)計可視化都有很深層的結構。存在構建數(shù)據(jù)可視化的高度結構化框架,ggplot2基于該框架。

此外,當將ggplot2和dplyr組合在一起時,從數(shù)據(jù)中得出相關見解幾乎毫不費力。

機器學習

最后,還有機器學習。雖然我認為大多數(shù)數(shù)據(jù)科學初學者不應該急于學習機器學習(首先掌握數(shù)據(jù)探索更為重要),機器學習是一項重要的技能。當數(shù)據(jù)探索不再帶來洞察力時,你則需要更強大的工具。

之后再學習更多的語言和工具

最終你會想學習更多的編程語言。就像工具箱中沒有一個最好的工具一樣,沒有一種編程語言能夠完美的解決你所有的數(shù)據(jù)問題。

以下是在學習R語言之后,你可以考慮學習的語言:

Python

Python是一種值得考慮的多用途編程語言。在O'Reilly最近的調查中,Python是數(shù)據(jù)科學家中第二受歡迎的編程語言。它具有優(yōu)秀的可視化工具,以及機器學習工具。我認為,對于大多數(shù)人來說Python是應該學習的第二種語言。

D3

我超愛D3D3中創(chuàng)建的可視化效果很棒,而且D3可視化的交互性非常適合構建儀表板。但它的伸縮性不夠好。對我來說,D3更像是一個“工匠的工具”,它非常適合構建一個優(yōu)雅的數(shù)據(jù)可視化,但是在需要幾十個合作伙伴支持的情況下,手動創(chuàng)建這樣的東西是不可能的。

與此同時,我還樂觀地認為,R語言的ggvis將允許R語言用戶創(chuàng)建高度動態(tài)和交互性的可視化,因此在某種意義上,R語言用戶需要學習R的ggvis而不是D3。

總結:學習R語言,并集中精力

如果你是初學者,R語言是很好的選擇。同時需要專注于學習數(shù)據(jù)科學的技能。

在學習過程中,你可能會看到很多新技術和新工具,或者一些令人眼花繚亂的數(shù)據(jù)可視化。

看到其他人的成果(并發(fā)現(xiàn)他們正在使用不同的工具)可能會導致你想嘗試其他的東西。相信我:你需要集中注意力。你需要花上幾個月(或更長時間)才能真正投入到一個工具中。

如上所述,如果你確實希望在數(shù)據(jù)科學工作流程中提高技能。至少在數(shù)據(jù)可視化數(shù)據(jù)處理方面,你得具備扎實的技能。

R語言上花費100個小時,將比在10個不同工具上各花費10個小時得到更高的回報。最后,通過集中精力,你的時間回報率將更高。不要因為“最新,最炫的事物”而分心。



數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }