Re: [請益] 想改行當資料科學家,能否給點建議?

看板Soft_Job作者 (外星人)時間7年前 (2018/05/17 23:47), 7年前編輯推噓46(4609)
留言55則, 43人參與, 最新討論串3/3 (看更多)
同為物理PhD,分享自己的經驗給你參考 1. 程式語言 Python或R。這兩種并不互斥,我們team不少人兩種都會。個人覺得重點在: 1. 平行計算(concurrent/multi-threading/processing):根據問題是CPU-bound還是I /O-bound來選擇處理方式 2. iterator/generator:像用deep learning train model時需要的資料都很大,不太 可能全部load到記憶體,以及做data generator讓一筆raw data產生多筆訓練資料時都會 需要用到generator 3. profiling tools:要先知道程式的bottleneck在哪才有辦法優化 Python 我推薦Micha Gorelick跟Ian Ozsvald寫的High performance python這本書 2. 資料庫 SQL跟NoSQL基本上都會用到 3. 統計 重中之重。除了不同的machine learning方法,怎麼處理空值、極端值、unbalanced dat a、抽樣、假設檢定都很重要。特別是假設檢定,身為data scientist,不管在哪個產業 ,基本上都需要回答「根據現有的資料,哪種情況是最可能的」這種類型的問題。 個人推薦 Garett James, Daniela Witten, Trevor Hastie, Robert Tibshirani 寫的 A n introduction to statistical learning with R 這本書 4. 資料結構跟演算法:要有效率的處理軟體工程方面的問題,這方面的知識很重要。 我推薦Coursera上面Princeton的Robert Sedgewick跟Kevin Wayne開的Algorithms I & I I。這門課的精華在programming assignment。每個assignment基本上都會有50-70個test cases來測試時間跟空間複雜度,還有一些corner cases。不同的情況都要考慮到才能拿 到滿分。語言是用Java,但就算沒學過應該也不是問題,我那時也是邊學邊寫。題目通常 要你做一個module,裡面需要好幾個functions 但他只會給你interface,內容都要自己 寫。不像吳恩達的machine learning跟deep learning,很多內容都給了,只要把關鍵的 部份補上。我上了不少online courses,這門課是唯一我認為有難度的。但相對的,通過 的話軟工能力可以提升一個層次。 順便提一下面試的事。我不知道其他公司會怎樣準備跟進行,我們會看面試者的博論跟著 作,這都是網路上找的到的資料。我們會問面試者在工作或研究上使用過的工具,例如你 來,那可能會請你解釋一下基因演算法跟Monte Carlo method,為什麼選擇這個方法?它 的優點跟缺點?有考慮過其他的方法例如X或Y嗎?諸如此類的問題。我們會對面試者當時 做選擇背後的思考過程有興趣,藉此了解他工作或研究的廣度跟深度。 不確定自己有沒有面試過50個人,但30個一定有。結果幾乎都是entry level(可能是敝 司太爛強者不想來面)。有些人對自己使用工具背後的原理、假設、限制都不清楚,單純 call套件下指令。而大部份人選擇工具或方法的原因是「因爲老師/學長說的」。這並不 能怪他們而是我們的文化就是如此,但很難不令人感到絕望。找個mindsets ok的entry l evel進來自己訓練比較實際。想轉data scientist的人不少,但很多都只是想想,真的有 付出行動的不多。往好處想,在台灣你不用付出太多努力就可以贏過不少人。 另一方面,我也去面過十幾間公司,不少是想成立資料分析的部門(那些單純跟風,沒算 過成本跟效益的就不提了)。所以面試我的人其實并沒有能力評估我究竟適任與否,這也 同樣令人絕望。 最後,講一下資料科學家的工作 1. 資料的清理跟準備 Garbage in garbage out 這可不是說假的。舉凡補空值、trimming、處理unbalanced da taset、de-noise、normalise、feature selection and generation都在這部份。就我自 己的經驗,這部分對最終結果的影響是最大的,花費的時間也是最多的。 2. Background research。要唸很多papers,將有機會解決手中問題的方法盡可能找出來 3. 設計實驗,包括抽樣範圍跟方法,實驗怎麼進行,結果怎麼評估 4. 結果的解釋跟呈現(資料視覺化) 但在成為資料科學家之前,你必須先是位工程師 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.147.21.165 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1526572023.A.9D8.html

05/18 00:01, 7年前 , 1F
推!
05/18 00:01, 1F

05/18 00:05, 7年前 , 2F
推講得很中肯
05/18 00:05, 2F

05/18 00:09, 7年前 , 3F
推個
05/18 00:09, 3F

05/18 00:33, 7年前 , 4F
謝謝提點!
05/18 00:33, 4F

05/18 01:27, 7年前 , 5F
推 好清晰
05/18 01:27, 5F

05/18 01:33, 7年前 , 6F
感謝大師分享!
05/18 01:33, 6F

05/18 04:12, 7年前 , 7F
厲害
05/18 04:12, 7F

05/18 04:13, 7年前 , 8F
推分享!
05/18 04:13, 8F

05/18 05:11, 7年前 , 9F
謝謝分享!!
05/18 05:11, 9F

05/18 05:45, 7年前 , 10F
05/18 05:45, 10F

05/18 08:19, 7年前 , 11F
05/18 08:19, 11F

05/18 08:42, 7年前 , 12F
05/18 08:42, 12F

05/18 09:00, 7年前 , 13F
05/18 09:00, 13F

05/18 09:17, 7年前 , 14F
推推
05/18 09:17, 14F

05/18 09:36, 7年前 , 15F
05/18 09:36, 15F

05/18 09:41, 7年前 , 16F
推分享
05/18 09:41, 16F

05/18 09:50, 7年前 , 17F
05/18 09:50, 17F

05/18 09:54, 7年前 , 18F
NICE
05/18 09:54, 18F

05/18 09:57, 7年前 , 19F
推分享
05/18 09:57, 19F

05/18 10:25, 7年前 , 20F
感謝分享 非常寶貴的經驗
05/18 10:25, 20F

05/18 10:26, 7年前 , 21F
05/18 10:26, 21F

05/18 10:27, 7年前 , 22F
大部份人選擇工具或方法的原因是「因爲老師/學長說的」
05/18 10:27, 22F

05/18 10:27, 7年前 , 23F
這點真的很中肯
05/18 10:27, 23F

05/18 10:53, 7年前 , 24F
中肯,推!
05/18 10:53, 24F

05/18 10:57, 7年前 , 25F
05/18 10:57, 25F

05/18 10:59, 7年前 , 26F
推推
05/18 10:59, 26F

05/18 11:10, 7年前 , 27F
05/18 11:10, 27F

05/18 11:19, 7年前 , 28F
05/18 11:19, 28F

05/18 11:21, 7年前 , 29F
心有戚戚焉
05/18 11:21, 29F

05/18 12:13, 7年前 , 30F
看來要當資料科學家也是不容易
05/18 12:13, 30F

05/18 12:15, 7年前 , 31F
很多物理系的覺得轉職資料科學家不是太困難 但真的轉成
05/18 12:15, 31F

05/18 12:15, 7年前 , 32F
功也沒那麼容易
05/18 12:15, 32F

05/18 14:21, 7年前 , 33F
或許覺得比拿物理PhD簡單吧...
05/18 14:21, 33F

05/18 17:43, 7年前 , 34F
謝謝分享
05/18 17:43, 34F

05/18 17:47, 7年前 , 35F
05/18 17:47, 35F

05/18 19:12, 7年前 , 36F
謝謝分享
05/18 19:12, 36F

05/18 20:20, 7年前 , 37F
05/18 20:20, 37F

05/18 23:39, 7年前 , 38F
謝分享!
05/18 23:39, 38F

05/19 08:08, 7年前 , 39F
推中肯
05/19 08:08, 39F

05/19 10:38, 7年前 , 40F
感謝原po熱心分享!
05/19 10:38, 40F

05/19 21:28, 7年前 , 41F
推推推
05/19 21:28, 41F

05/20 10:32, 7年前 , 42F
05/20 10:32, 42F

05/20 14:58, 7年前 , 43F
感謝分享
05/20 14:58, 43F

05/21 22:19, 7年前 , 44F
大推
05/21 22:19, 44F

05/23 00:16, 7年前 , 45F
豪猛
05/23 00:16, 45F

05/23 12:22, 7年前 , 46F
請教一下,資料科學家必須先從資料工程師當起嗎?
05/23 12:22, 46F

05/23 12:23, 7年前 , 47F
我近期有去跟資策會的課程經理談過,他說他的課程只能
05/23 12:23, 47F

05/23 12:24, 7年前 , 48F
培訓出資料工程師,但我看那個課程已經是非常硬的了
05/23 12:24, 48F

05/23 12:25, 7年前 , 49F
一到五 0900~1700 密集上五個月才能結業!
05/23 12:25, 49F

05/23 12:28, 7年前 , 50F
所以假設我去上完資策會的資料工程師培訓,還要補足統計
05/23 12:28, 50F

05/23 12:28, 7年前 , 51F
所的一些課程,才有資格去應付資料科學家所賦予的挑戰?
05/23 12:28, 51F

05/23 12:29, 7年前 , 52F
superalf大 能否點建議? 感謝!
05/23 12:29, 52F
不清楚資策會的課程內容所以沒法給建議。但就是不是要從資料工程師當起這個問題,應 該說資料科學家必須要會資料前處理跟資料準備,而這工作需要工程能力。 真實世界的資料什麼光怪陸離的情況都有。舉個例子,IBM的正式名稱是International B usiness Machines Corporation,但它在正式專利文件裡面的拼法就有兩百多種。類似的 狀況有些是筆誤,有些則是故意的,刻意讓你無法用keyword search找到。像這種資料正 規化的工作你必須要有能力處理。 再拿影像辨識來說,原始資料可能有肉眼看不出來的背景,但看pixel value就很明顯。 如果不去背就直接拿去當訓練資料,模型可能根本不能用。去背這種事情也是工程問題。 再舉個例子,原始資料如果有雜訊(例如電話號碼不小心跟地址黏在一起),不處理直接 塞進SQL。之後查找時被逼的不得不使用like語法,那效能絕對讓你想哭。 像我也要分析log,但我只對其中一小部分有興趣,所以需要做data ETL,篩選log,做些 簡單的處理放到其他地方,之後再做分析。這也是工程。 機器學習的程式碼中,關鍵的可能只有幾行,要寫出那幾行很吃統計知識。然而另一方面 ,要讓那幾行可以work,前面必須做非常多前處理的工作。 之前玩過kaggle上的一個分類問題。沒做前處理,準確率只有7%,做了前處理,就跳到37 %了。這差別是很大的。 ※ 編輯: superalf (27.147.21.165), 05/24/2018 00:47:03 ※ 編輯: superalf (27.147.21.165), 05/24/2018 00:48:59

05/24 15:39, 7年前 , 53F
感謝superalf大的回覆,受益匪淺。
05/24 15:39, 53F

05/24 15:40, 7年前 , 54F
看樣子,去資策會是勢所難免了。
05/24 15:40, 54F

05/25 23:32, , 55F
朝聖推
05/25 23:32, 55F
文章代碼(AID): #1Q_QFtdO (Soft_Job)
文章代碼(AID): #1Q_QFtdO (Soft_Job)