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

熱線電話:13121318867

登錄
首頁精彩閱讀數(shù)學(xué)vs編程,哪個(gè)才是數(shù)據(jù)科學(xué)的敲門磚?
數(shù)學(xué)vs編程,哪個(gè)才是數(shù)據(jù)科學(xué)的敲門磚?
2019-12-18
收藏
數(shù)學(xué)vs編程,哪個(gè)才是數(shù)據(jù)科學(xué)的敲門磚?

作者 | Low Wei Hong

譯者 | Sambodhi

導(dǎo)讀:數(shù)據(jù)科學(xué)其實(shí)就是一門數(shù)學(xué)、計(jì)算機(jī)、軟件相關(guān)的復(fù)合型的技術(shù),離開編程自然是無法存在的。無論是數(shù)據(jù)科學(xué)家還是數(shù)據(jù)分析師,都需要跨學(xué)科人才,必須知道如何操作代碼以便告訴計(jì)算機(jī)如何分析數(shù)據(jù)。他們要比軟件工程師更擅長(zhǎng)統(tǒng)計(jì)學(xué),比統(tǒng)計(jì)學(xué)家更擅長(zhǎng)軟件工程,需要掌握的知識(shí)有數(shù)學(xué)統(tǒng)計(jì)、編程能力、機(jī)器學(xué)習(xí)、研究能力等。

如果我了解機(jī)器學(xué)習(xí)算法的全部數(shù)學(xué)邏輯,但我卻不能很好地進(jìn)行編程,那我還有機(jī)會(huì)進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域嗎? 如果我只是勉強(qiáng)了解哪些機(jī)器學(xué)習(xí)算法背后的數(shù)學(xué)知識(shí),但我可以很好地進(jìn)行編程,那我有沒有資格成為一名數(shù)據(jù)科學(xué)家?

我希望,在我大學(xué)畢業(yè)前努力進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域之前就能知道這個(gè)答案是什么。

先說一下我的背景。我有數(shù)學(xué)背景,但在大學(xué)期間并沒有學(xué)過多少編程課程。我在大學(xué)學(xué)過的編程語言包括 R、C++ 和 Matlab。

Matlab 并不是開源語言,主要用于研究行業(yè)。R 沒有 Python 那樣擁有龐大的社區(qū),尤其是在數(shù)據(jù)科學(xué)相關(guān)的庫(kù)中。C++(C 族)仍然是編程的基礎(chǔ)。所以如果你正在學(xué)習(xí)編程的話,我還是建議你學(xué)習(xí) C 族的語言。

當(dāng)我在實(shí)習(xí)期間,Python 在這個(gè)行業(yè)使用得最多。因此,我仍然需要自己去學(xué)習(xí) Python。此外,我就只選修了一門與數(shù)學(xué)有關(guān)的機(jī)器學(xué)習(xí)課程。

我感到有些不知所措,因?yàn)?,我不僅要學(xué)習(xí)數(shù)學(xué),同時(shí)還要提高我的編程技能。因此,當(dāng)時(shí)我就在想,我應(yīng)該將更多的精力放在編程上呢,還是放在學(xué)習(xí)數(shù)學(xué)上呢?

數(shù)學(xué)vs編程,哪個(gè)才是數(shù)據(jù)科學(xué)的敲門磚?

數(shù)學(xué),還是編程?

我將分享我的觀點(diǎn),即在目前的行業(yè)中,哪一個(gè)實(shí)際上更受歡迎。

讓我來問你一個(gè)問題。如果你是數(shù)據(jù)科學(xué)的技術(shù)主管,并且手下已經(jīng)有很多博士在為你工作,同時(shí),你還想擴(kuò)大團(tuán)隊(duì)。現(xiàn)在你心目中有兩個(gè)候選人,其中一個(gè)更擅長(zhǎng)編程,另一個(gè)更擅長(zhǎng)數(shù)學(xué)概念。那么,你會(huì)選擇哪一個(gè)候選人呢?

這個(gè)問題并沒有正確或錯(cuò)誤的答案,但跟據(jù)我的觀察,他們通常會(huì)喜歡在編程方面擁有更好技能的那些人。

你可能會(huì)想,為什么會(huì)是這樣呢?

原因很簡(jiǎn)單,因?yàn)榇蠖鄶?shù)數(shù)據(jù)科學(xué)項(xiàng)目的方向,都是由博士提供的,他們應(yīng)該有更多的知識(shí)。因此,能夠更快地實(shí)現(xiàn)多種方法的人,將是最后一個(gè)堅(jiān)持到底的人

然后,你可能會(huì)問,都說統(tǒng)計(jì)是數(shù)據(jù)科學(xué)的基礎(chǔ),而你卻告訴我,為了進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域,只需學(xué)習(xí)如何編程就可以了?

不是的,數(shù)學(xué)在數(shù)據(jù)科學(xué)中仍然非常重要。 那些更懂?dāng)?shù)學(xué)的人,將會(huì)是能夠提出新想法來改進(jìn)機(jī)器學(xué)習(xí)模型的那些人。

目前市場(chǎng)上有大量的機(jī)器學(xué)習(xí)模型。因此,知道在什么樣的場(chǎng)景中使用哪些模型,肯定會(huì)為你節(jié)省大量時(shí)間。此外,當(dāng)之前表現(xiàn)很好的模型,突然開始出現(xiàn)性能下降時(shí),你就能找出可能的原因了。

但是,如果你只是想進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域的話,就不需要在數(shù)學(xué)部分深入研究太多細(xì)節(jié)。數(shù)據(jù)科學(xué)并不只是關(guān)于如何推導(dǎo)或求解數(shù)學(xué)方程式。 更重要的是,要 知道如何定義并解決業(yè)務(wù)問題。

例如,你在一家電子商務(wù)公司工作。你得到一個(gè)任務(wù),讓你實(shí)現(xiàn)對(duì)列表進(jìn)行自動(dòng)分類。可能,你需要做的第一步就是定義問題,也許是說明你需要實(shí)現(xiàn)的時(shí)間表和正確性。下一步,你將考慮模型可能面臨的一些問題,并需要澄清這些問題。

假設(shè),如果列表名稱和圖片屬于不同的類別,那么應(yīng)該如何對(duì)列表進(jìn)行分類?是按圖片進(jìn)行分類呢,還是按列表名稱進(jìn)行分類呢?

在理解了你的團(tuán)隊(duì)同意的標(biāo)準(zhǔn)作業(yè)程序(Standard Operating Procedure,SOP)之后,那么只有你才能啟動(dòng)這個(gè)項(xiàng)目。

數(shù)學(xué)vs編程,哪個(gè)才是數(shù)據(jù)科學(xué)的敲門磚?

回到主題,數(shù)據(jù)科學(xué)迫切需要的技能之一是 分叉 GitHub 代碼并在數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)的能力。因此,如果你擅長(zhǎng)編程的話,那么無論編程語言是什么,你都能夠測(cè)試不同的方法。

例如,你正在使用給定的數(shù)據(jù)集來訓(xùn)練 NER(Name Entity Recognition,命名實(shí)體識(shí)別)模型。讓我們想象一下,目前還沒有人用 Python 在 NER 上編寫代碼,而唯一可用的代碼,由斯坦福大學(xué)提供,用 Java 編寫的。遇到這種情況應(yīng)該怎么辦?因此,掌握不同編程語言的知識(shí)絕對(duì)是一個(gè)加分項(xiàng),這樣,你就可以節(jié)省用 Python 編寫整個(gè)代碼的時(shí)間,以便訓(xùn)練模型。

另一方面,如果你深入學(xué)習(xí)機(jī)器學(xué)習(xí)的數(shù)學(xué)部分,你就 會(huì)對(duì)你應(yīng)該關(guān)注哪些指標(biāo)更加敏感,這要取決于不同的問題。 假設(shè)你正在從事一個(gè)信用欺詐項(xiàng)目。你應(yīng)該關(guān)注的指標(biāo)就不再是正確性,而應(yīng)該是 f1-score 等。因?yàn)槟愕哪繕?biāo)是不僅能夠識(shí)別盡可能多的欺詐案件,而且還要保持準(zhǔn)確率。

最后的感想

在數(shù)據(jù)科學(xué)領(lǐng)域中,數(shù)學(xué)和編程同等重要,但如果你正考慮在數(shù)據(jù)科學(xué)領(lǐng)域轉(zhuǎn)行或者開始你的職業(yè)生涯,我想說的是,對(duì)于各種機(jī)器學(xué)習(xí)模型來說,掌握編程技能要比深入鉆研數(shù)學(xué)更為重要。

開始進(jìn)行更多的實(shí)際項(xiàng)目,并能夠在面試過程中清晰地陳述和回答問題,這肯定會(huì)增加你進(jìn)軍數(shù)據(jù)科學(xué)領(lǐng)域的機(jī)會(huì)。

進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域可沒那么容易,但請(qǐng)記住,不要放棄,繼續(xù)努力!

你所有的努力很快就會(huì)有回報(bào),不管有多難,要堅(jiān)持你正在做的事情。

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

若不方便掃碼,搜微信號(hào):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(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".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 = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+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); }