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

熱線電話:13121318867

登錄
首頁精彩閱讀我的第一份數(shù)據(jù)科學實習
我的第一份數(shù)據(jù)科學實習
2018-05-10
收藏

我的第一份數(shù)據(jù)科學實習

在寫本文時,這是我在Quantum Inventions公司實習的最后一天。當我坐在電腦屏幕前,反思過去幾個月的學習歷程,我感到非常的滿足。

在實習即將結(jié)束時,縈繞在我腦中的問題是:我學到了些什么?這是我想要的嗎?

作為一名物理學家,我習慣通過推理解答問題從而來尋求真相。事實上,對數(shù)據(jù)科學家來說,問合適的問題也是至關(guān)重要的。

本文分為三個部分:實習前,實習期間,實習后。當中記敘了在這段經(jīng)歷中我所得到的收獲。也歡迎閱讀我上一篇文章《我是如何從物理學轉(zhuǎn)行到數(shù)據(jù)科學領(lǐng)域》。

實習前

我仍然清楚地記得,在2017年11月的期末時我開始閱讀《統(tǒng)計學習導論:基于R應(yīng)用》(An Introduction to Statistical Learning?—?with Applications in R)。這是第一次接觸到基礎(chǔ)的機器學習知識。

一旦掌握了這些概念之后,我就開始學習熱門的課程Coursera上吳恩達的《機器學習》。雖然剛開始的時候并不那么輕松,但是吳恩達能夠吸引人們的注意力,用簡單的方式解讀復(fù)雜的概念。這也許就是我喜歡上機器學習的原因之一。我也強烈建議你試試,機器學習并沒有聽上去那么高大上和復(fù)雜。

同時,我開始學習人工智能的另一個重要領(lǐng)域——深度學習。

在掌握了一定的基礎(chǔ)知識之后,我在2017年12月開始了我的第一份數(shù)據(jù)科學實習。

實習期間

Quantum Inventions專注于向消費者、企業(yè)和政府智能交通服務(wù)。我是第一位加入研發(fā)和分析團隊的數(shù)據(jù)科學實習生。

在剛開始的幾天,我認識到了許多出色的同事,接觸到許多行業(yè)術(shù)語以及正在進行的項目。在這次實習中,Quantum Inventions給了我足夠的信任和自由,讓我能夠選擇感興趣的項目,并為其而努力。

令我吃驚的是,目前我著手的這個項目是之前沒有人做過的。這時就需要大量的研究,存在許多不確定性和困難,但是我仍然樂在其中。為什么呢?很簡單,因為我能夠有機會從頭開始體驗整個數(shù)據(jù)科學工作流程。

下面我將列出我所經(jīng)歷的工作流程,在這一過程中為我進入數(shù)據(jù)科學領(lǐng)域打下了一定的基礎(chǔ)。希望能夠給你帶來一些幫助。

1. 了解業(yè)務(wù)問題

我所選的項目是預(yù)測短期高速公路行程時間。正如我所說的,提出合適的問題對數(shù)據(jù)科學家來說非常重要。 在項目完成前,需要提出大量的問題,從而了解實際的業(yè)務(wù)問題:可用的數(shù)據(jù)源,項目的最終目標等等。我們的目標是更準確地預(yù)測新加坡高速公路行程時間。

2. 收集數(shù)據(jù)源

我對新項目感到十分興奮,然后我開始從數(shù)據(jù)庫等渠道收集數(shù)據(jù)源。收集正確的數(shù)據(jù)源類似在不同網(wǎng)站抓取數(shù)據(jù),以便稍后進行數(shù)據(jù)預(yù)處理。這一過程非常重要,這可能會影響你在后期建立模型的準確性。

3. 數(shù)據(jù)預(yù)處理

真實世界的數(shù)據(jù)并不那么理想。我們不能期望會獲得Kaggle比賽中那樣格式良好且干凈的數(shù)據(jù)。因此,數(shù)據(jù)預(yù)處理(也稱為數(shù)據(jù)管理或數(shù)據(jù)清理)至關(guān)重要。該過程占到整個工作流程的40%-70%,對提供給模型的數(shù)據(jù)進行清理。

Garbage in, Garbage out。(無用輸入,無用輸出)

我喜歡數(shù)據(jù)科學的一點在于,你必須對自己誠實。如果你沒有把握,認為預(yù)處理的數(shù)據(jù)已經(jīng)足夠干凈,并可以提供給模型,那么將存在使用錯誤數(shù)據(jù)構(gòu)建模型的風險。換句話說,你需要從專業(yè)的角度質(zhì)疑自己,確認數(shù)據(jù)是否可以使用。嚴格用閾值檢查數(shù)據(jù),確認整個數(shù)據(jù)集中是否存在其他異常、缺失或不一致的數(shù)據(jù)。

我對這個過程格外謹慎,之前我僅僅因為預(yù)處理步驟中的小疏忽就給模型提供了錯誤的數(shù)據(jù)。

4. 建立模型

經(jīng)過一番研究,對于項目我提出了以下四個模型:支持向量回歸(SVR),多層感知器(MLP),長期短期記憶網(wǎng)咯(LSTM)和狀態(tài)空間神經(jīng)網(wǎng)絡(luò)(SSNN)。

對于還在學習在線課程的我來說,從頭開始構(gòu)建不同的模型無疑是十分困難的。幸運的是,Scikit-learn and Keras拯救了我,因為它們很容易學習,能夠快速構(gòu)建原型模型,并用Python進行編寫。此外,我還學習了如何使用多種技術(shù)優(yōu)化模型,并調(diào)整每個模型的參數(shù)。

5. 模型評估

為了評估每個模型的性能,我主要使用了以下指標:

· 平均絕對誤差(MAE)

· 均方誤差(MSE)

· 測定系數(shù)(R2)

在這個階段,重復(fù)步驟3-5(可互換),直到得出的最佳模型能夠超越基線估計。

實習后

這次實習加深了我對數(shù)據(jù)科學領(lǐng)域的熱愛,這段經(jīng)歷為我之后的工作也提供了一些動力。我也大大提高了自身的能力,比如與不同人群進行利益的溝通技巧,利用數(shù)據(jù)解決業(yè)務(wù)問題等等。

數(shù)據(jù)科學行業(yè)還是一個新興領(lǐng)域,對于我們這些求職者來說,有時當中的一些工作描述可能有些模棱兩可。因此在求職時,發(fā)現(xiàn)自己不具備崗位所需的全部技能是完全正常的,因為大多數(shù)工作描述都是按照理想的方式寫的,從而符合雇主的期望。

當在學習或工作中遇到疑問時,你可以從在線課程、書籍和文章中進行學習,這也是我仍在做的,并通過個人項目或?qū)嵙晛響?yīng)用所學到的知識。請耐心一點,學習的過程需要大量的精力和時間。

在最后,記得問自己:你學到了什么?這是你要的嗎?

數(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(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 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); }