導航:首頁 > 編程語言 > pythonstandardize

pythonstandardize

發布時間:2022-12-18 21:47:23

A. 如何成為一名數據科學家

我認為有幾個大方面
1)學好 python
現在幾乎所以公司的數據都可以 api 給你,而 python 的數據處理能力強大且方便。加之在 machine learning 的很多演算法上,python 也獨俏一方。另外,它的簡明方便迅速迭代開發,15 分鍾寫完個演算法就可以看效果了。
除此之外,py 還有點酷酷的感覺。任何程序拿 matlab 和 c++ 都是可以寫的,不過我真沒認識過哪個 d 願意自己把自己扔那個不酷的框框里:D
對不規則輸入的處理也給 python 一個巨大的優勢。通常來說,在我現在日常的工作里,所有的數據都是以純文本但是非格式的形式存儲的(raw text, unstructured data)。問題在於,這些文本不可以直接當作各種演算法的輸入,你需要
分詞,分句
提取特徵
整理缺失數據
除掉異類(outlier)
在這些時候,python 可謂是神器。這里做的 1-4 都可以直接在 scikit-learn 裡面找到對應的工具,而且,即使是要自己寫一個定製的演算法處理某些特殊需求,也就是一百行代碼的事情。
簡而言之,對於數據科學面臨的挑戰,python 可以讓你短平快地解決手中的問題,而不是擔心太多實現細節。
2)學好統計學習
略拗口。統計學習的概念就是「統計機器學習方法」。
統計和計算機科學前幾十年互相平行著,互相造出了對方造出的一系列工具,演算法。但是直到最近人們開始注意到,計算機科學家所謂的機器學習其實就是統計裡面的 prediction 而已。因此這兩個學科又開始重新融合。
為什麼統計學習很重要?
因為,純粹的機器學習講究演算法預測能力和實現,但是統計一直就強調「可解釋性」。比如說,針對今天微博股票發行就上升 20%,你把你的兩個預測股票上漲還是下跌的 model 套在新浪的例子上,然後給你的上司看。
Model-1 有 99%的預測能力,也就是 99%的情況下它預測對,但是 Model-2 有 95%,不過它有例外的一個附加屬性——可以告訴你為什麼這個股票上漲或者下跌。
試問,你的上司會先哪個?問問你自己會選哪個?
顯然是後者。因為前者雖然有很強的預測力(機器學習),但是沒有解釋能力(統計解釋)。
而作為一個數據科學家,80%的時間你是需要跟客戶,團隊或者上司解釋為什麼 A 可行 B 不可行。如果你告訴他們,「我現在的神經網路就是能有那麼好的預測力可是我根本就沒法解釋上來」,那麼,沒有人會願意相信你。
具體一些,怎麼樣學習統計學習?
先學好基本的概率學。如果大學里的還給老師了(跟我一樣),那麼可以從 MIT 的概率論教材【1】入手。從第 1 章到第 9 章看完並做完所有的習題。(p.s.面試 Twitter 的時候被問到一個拿球後驗概率的問題,從這本書上抓來的)。
了解基本的統計檢驗及它們的假設,什麼時候可以用到它們。
快速了解統計學習有哪些術語,用來做什麼目的,讀這本【5】。
學習基本的統計思想。有 frequentist 的統計,也有 bayesian 的統計。前者的代表作有【2】,後者看【3】。前者是統計學習的聖書,偏 frequentist,後者是 pattern recognition 的聖書,幾乎從純 bayesian 的角度來講。注意,【2】有免費版,作者把它全放在了網上。而且有一個簡易版,如果感覺力不從心直接看【2】,那麼可以先從它的簡易版開始看。簡易版【4】是作者在 coursera 上開課用的大眾教材,簡單不少(不過仍然有很多閃光點,通俗易懂)。對於【3】,一開始很難直接啃下來,但是啃下來會受益匪淺。
注意,以上的書搜一下幾乎全可以在網上搜到別人傳的 pdf。有條件的同學可以買一下紙製版來讀,體驗更好並且可以支持一下作者。所有的書我都買了紙製版,但是我知道在國內要買本書有多不方便(以及原版書多貴)。
讀完以上的書是個長期過程。但是大概讀了一遍之後,我個人覺得是非常值得的。如果你只是知道怎麼用一些軟體包,那麼你一定成不了一個合格的 data scientist。因為只要問題稍加變化,你就不知道怎麼解決了。
如果你感覺自己是一個二吊子數據科學家(我也是)那麼問一下下面幾個問題,如果有 2 個答不上來,那麼你就跟我一樣,真的還是二吊子而已,繼續學習吧。
為什麼在神經網路裡面 feature 需要 standardize 而不是直接扔進去
對 Random Forest 需要做 Cross-Validatation 來避免 overfitting 嗎?
用 naive-bayesian 來做 bagging,是不是一個不好的選擇?為什麼?
在用 ensembe 方法的時候,特別是 Gradient Boosting Tree 的時候,我需要把樹的結構變得更復雜(high variance, low bias)還是更簡單(low variance, high bias)呢?為什麼?
如果你剛開始入門,沒有關系,回答不出來這些問題很正常。如果你是一個二吊子,體會一下,為什麼你跟一流的 data scientist 還有些差距——因為你不了解每個演算法是怎麼工作,當你想要把你的問題用那個演算法解決的時候,面對無數的細節,你就無從下手了。
說個題外話,我很欣賞一個叫 Jiro 的壽司店,它的店長在(東京?)一個最不起眼的地鐵站開了一家全世界最貴的餐館,預訂要提前 3 個月。怎麼做到的?70 年如一日練習如何做壽司。70 年!除了喪娶之外的假期,店長每天必到,8 個小時工作以外繼續練習壽司做法。
其實學數據科學也一樣,沉下心來,練習匠藝。
3)學習數據處理
這一步不必獨立於 2)來進行。顯然,你在讀這些書的時候會開始碰到各種演算法,而且這里的書里也會提到各種數據。但是這個年代最不值錢的就是數據了(拜託,為什麼還要用 80 年代的「加州房價數據」?),值錢的是數據分析過後提供給決策的價值。那麼與其糾結在這么悲劇的 80 年代數據集上,為什麼不自己搜集一些呢?
開始寫一個小程序,用 API 爬下 Twitter 上隨機的 tweets(或者 weibo 吧。。。)
對這些 tweets 的 text 進行分詞,處理噪音(比如廣告)
用一些現成的 label 作為 label,比如 tweet 里會有這條 tweet 被轉發了幾次
嘗試寫一個演算法,來預測 tweet 會被轉發幾次
在未見的數據集上進行測試
如上的過程不是一日之功,尤其剛剛開始入門的時候。慢慢來,耐心大於進度。
4)變成全能工程師(full stack engineer)
在公司環境下,作為一個新入職的新手,你不可能有優待讓你在需要寫一個數據可視化的時候,找到一個同事來給你做。需要寫把數據存到資料庫的時候,找另一個同事來給你做。
況且即使你有這個條件,這樣頻繁切換上下文會浪費更多時間。比如你讓同事早上給你塞一下數據到資料庫,但是下午他才給你做好。或者你需要很長時間給他解釋,邏輯是什麼,存的方式是什麼。
最好的變法,是把你自己武裝成一個全能工作師。你不需要成為各方面的專家,但是你一定需要各方面都了解一點,查一下文檔可以上手就用。
會使用 NoSQL。尤其是 MongoDB
學會基本的 visualization,會用基礎的 html 和 javascript,知道 d3【6】這個可視化庫,以及 highchart【7】
學習基本的演算法和演算法分析,知道如何分析演算法復雜度。平均復雜度,最壞復雜度。每次寫完一個程序,自己預計需要的時間(用演算法分析來預測)。推薦普林斯頓的演算法課【8】(注意,可以從演算法 1 開始,它有兩個版本)
寫一個基礎的伺服器,用 flask【9】的基本模板寫一個可以讓你做可視化分析的 backbone。
學習使用一個順手的 IDE,VIM, pycharm 都可以。
4)讀,讀,讀!
除了閉門造車,你還需要知道其它數據科學家在做些啥。涌現的各種新的技術,新的想法和新的人,你都需要跟他們交流,擴大知識面,以便更好應對新的工作挑戰。
通常,非常厲害的數據科學家都會把自己的 blog 放到網上供大家參觀膜拜。我推薦一些我常看的。另外,學術圈裡也有很多厲害的數據科學家,不必怕看論文,看了幾篇之後,你就會覺得:哈!我也能想到這個!
讀 blog 的一個好處是,如果你跟他們交流甚歡,甚至於你可以從他們那裡要一個實習來做!
betaworks 首席數據科學家,Gilad Lotan 的博客,我從他這里要的 intern :D Gilad Lotan
Ed Chi,六年本科碩士博士畢業的神人,google data science http://edchi.blogspot.com/
Hilary Mason,bitly 首席科學家,紐約地區人盡皆知的數據科學家:hilarymason.com
在它們這里看夠了之後,你會發現還有很多值得看的 blog(他們會在文章裡面引用其它文章的內容),這樣滾雪球似的,你可以有夠多的東西早上上班的路上讀了:)
5)要不要上個研究生課程?
先說我上的網路課程:

前者就不說了,人人都知道。後者我則更喜歡,因為教得更廣闊,上課的教授也是世界一流的機器學習學者,而且經常會有一些很妙的點出來,促進思考。
對於是不是非要去上個研究生(尤其要不要到美國上),我覺得不是特別有必要。如果你收到了幾個著名大學數據科學方向的錄取,那開開心心地來,你會學到不少東西。但是如果沒有的話,也不必糾結。我曾有幸上過或者旁聽過美國這里一些頂級名校的課程,我感覺它的作用仍然是把你領進門,以及給你一個能跟世界上最聰明的人一個交流機會(我指那些教授)。除此之外,修行都是回家在寢室進行的。然而現在世界上最好的課程都擺在你的面前,為什麼還要舍近求遠呢。
總結一下吧
我很幸運地跟一些最好的數據科學家交流共事過,從他們的經歷看和做事風格來看,真正的共性是
他們都很聰明——你也可以
他們都很喜歡自己做的東西——如果你不喜歡應該也不會看這個問題
他們都很能靜下心來學東西——如果足夠努力你也可以

B. 如何成為一名數據科學家

我認為有幾個大方面
1)學好 python。
現在幾乎所以公司的數據都可以 api 給你,而 python 的數據處理能力強大且方便。加之在 machine learning 的很多演算法上,python 也獨俏一方。另外,它的簡明方便迅速迭代開發,15 分鍾寫完個演算法就可以看效果了。
除此之外,py 還有點酷酷的感覺。任何程序拿 matlab 和 c++ 都是可以寫的,不過我真沒認識過哪個 d 願意自己把自己扔那個不酷的框框里:D
對不規則輸入的處理也給 python 一個巨大的優勢。通常來說,在我現在日常的工作里,所有的數據都是以純文本但是非格式的形式存儲的(raw text, unstructured data)。問題在於,這些文本不可以直接當作各種演算法的輸入,你需要
分詞,分句
提取特徵
整理缺失數據
除掉異類(outlier)
在這些時候,python 可謂是神器。這里做的 1-4 都可以直接在 scikit-learn 裡面找到對應的工具,而且,即使是要自己寫一個定製的演算法處理某些特殊需求,也就是一百行代碼的事情。
簡而言之,對於數據科學面臨的挑戰,python 可以讓你短平快地解決手中的問題,而不是擔心太多實現細節。
2)學好統計學習
略拗口。統計學習的概念就是「統計機器學習方法」。
統計和計算機科學前幾十年互相平行著,互相造出了對方造出的一系列工具,演算法。但是直到最近人們開始注意到,計算機科學家所謂的機器學習其實就是統計裡面的 prediction 而已。因此這兩個學科又開始重新融合。
為什麼統計學習很重要?
因為,純粹的機器學習講究演算法預測能力和實現,但是統計一直就強調「可解釋性」。比如說,針對今天微博股票發行就上升 20%,你把你的兩個預測股票上漲還是下跌的 model 套在新浪的例子上,然後給你的上司看。
Model-1 有 99%的預測能力,也就是 99%的情況下它預測對,但是 Model-2 有 95%,不過它有例外的一個附加屬性——可以告訴你為什麼這個股票上漲或者下跌。
試問,你的上司會先哪個?問問你自己會選哪個?
顯然是後者。因為前者雖然有很強的預測力(機器學習),但是沒有解釋能力(統計解釋)。
而作為一個數據科學家,80%的時間你是需要跟客戶,團隊或者上司解釋為什麼 A 可行 B 不可行。如果你告訴他們,「我現在的神經網路就是能有那麼好的預測力可是我根本就沒法解釋上來」,那麼,沒有人會願意相信你。
具體一些,怎麼樣學習統計學習?
先學好基本的概率學。如果大學里的還給老師了(跟我一樣),那麼可以從 MIT 的概率論教材【1】入手。從第 1 章到第 9 章看完並做完所有的習題。(p.s.面試 Twitter 的時候被問到一個拿球後驗概率的問題,從這本書上抓來的)。
了解基本的統計檢驗及它們的假設,什麼時候可以用到它們。
快速了解統計學習有哪些術語,用來做什麼目的,讀這本【5】。
學習基本的統計思想。有 frequentist 的統計,也有 bayesian 的統計。前者的代表作有【2】,後者看【3】。前者是統計學習的聖書,偏 frequentist,後者是 pattern recognition 的聖書,幾乎從純 bayesian 的角度來講。注意,【2】有免費版,作者把它全放在了網上。而且有一個簡易版,如果感覺力不從心直接看【2】,那麼可以先從它的簡易版開始看。簡易版【4】是作者在 coursera 上開課用的大眾教材,簡單不少(不過仍然有很多閃光點,通俗易懂)。對於【3】,一開始很難直接啃下來,但是啃下來會受益匪淺。
注意,以上的書搜一下幾乎全可以在網上搜到別人傳的 pdf。有條件的同學可以買一下紙製版來讀,體驗更好並且可以支持一下作者。所有的書我都買了紙製版,但是我知道在國內要買本書有多不方便(以及原版書多貴)。
讀完以上的書是個長期過程。但是大概讀了一遍之後,我個人覺得是非常值得的。如果你只是知道怎麼用一些軟體包,那麼你一定成不了一個合格的 data scientist。因為只要問題稍加變化,你就不知道怎麼解決了。
如果你感覺自己是一個二吊子數據科學家(我也是)那麼問一下下面幾個問題,如果有 2 個答不上來,那麼你就跟我一樣,真的還是二吊子而已,繼續學習吧。
為什麼在神經網路裡面 feature 需要 standardize 而不是直接扔進去
對 Random Forest 需要做 Cross-Validatation 來避免 overfitting 嗎?
用 naive-bayesian 來做 bagging,是不是一個不好的選擇?為什麼?
在用 ensembe 方法的時候,特別是 Gradient Boosting Tree 的時候,我需要把樹的結構變得更復雜(high variance, low bias)還是更簡單(low variance, high bias)呢?為什麼?
如果你剛開始入門,沒有關系,回答不出來這些問題很正常。如果你是一個二吊子,體會一下,為什麼你跟一流的 data scientist 還有些差距——因為你不了解每個演算法是怎麼工作,當你想要把你的問題用那個演算法解決的時候,面對無數的細節,你就無從下手了。
說個題外話,我很欣賞一個叫 Jiro 的壽司店,它的店長在(東京?)一個最不起眼的地鐵站開了一家全世界最貴的餐館,預訂要提前 3 個月。怎麼做到的?70 年如一日練習如何做壽司。70 年!除了喪娶之外的假期,店長每天必到,8 個小時工作以外繼續練習壽司做法。
其實學數據科學也一樣,沉下心來,練習匠藝。
3)學習數據處理
這一步不必獨立於 2)來進行。顯然,你在讀這些書的時候會開始碰到各種演算法,而且這里的書里也會提到各種數據。但是這個年代最不值錢的就是數據了(拜託,為什麼還要用 80 年代的「加州房價數據」?),值錢的是數據分析過後提供給決策的價值。那麼與其糾結在這么悲劇的 80 年代數據集上,為什麼不自己搜集一些呢?
開始寫一個小程序,用 API 爬下 Twitter 上隨機的 tweets(或者 weibo 吧。。。)
對這些 tweets 的 text 進行分詞,處理噪音(比如廣告)
用一些現成的 label 作為 label,比如 tweet 里會有這條 tweet 被轉發了幾次
嘗試寫一個演算法,來預測 tweet 會被轉發幾次
在未見的數據集上進行測試
如上的過程不是一日之功,尤其剛剛開始入門的時候。慢慢來,耐心大於進度。
4)變成全能工程師(full stack engineer)
在公司環境下,作為一個新入職的新手,你不可能有優待讓你在需要寫一個數據可視化的時候,找到一個同事來給你做。需要寫把數據存到資料庫的時候,找另一個同事來給你做。
況且即使你有這個條件,這樣頻繁切換上下文會浪費更多時間。比如你讓同事早上給你塞一下數據到資料庫,但是下午他才給你做好。或者你需要很長時間給他解釋,邏輯是什麼,存的方式是什麼。
最好的變法,是把你自己武裝成一個全能工作師。你不需要成為各方面的專家,但是你一定需要各方面都了解一點,查一下文檔可以上手就用。
會使用 NoSQL。尤其是 MongoDB
學會基本的 visualization,會用基礎的 html 和 javascript,知道 d3【6】這個可視化庫,以及 highchart【7】
學習基本的演算法和演算法分析,知道如何分析演算法復雜度。平均復雜度,最壞復雜度。每次寫完一個程序,自己預計需要的時間(用演算法分析來預測)。推薦普林斯頓的演算法課【8】(注意,可以從演算法 1 開始,它有兩個版本)
寫一個基礎的伺服器,用 flask【9】的基本模板寫一個可以讓你做可視化分析的 backbone。
學習使用一個順手的 IDE,VIM, pycharm 都可以。
4)讀,讀,讀!
除了閉門造車,你還需要知道其它數據科學家在做些啥。涌現的各種新的技術,新的想法和新的人,你都需要跟他們交流,擴大知識面,以便更好應對新的工作挑戰。
通常,非常厲害的數據科學家都會把自己的 blog 放到網上供大家參觀膜拜。我推薦一些我常看的。另外,學術圈裡也有很多厲害的數據科學家,不必怕看論文,看了幾篇之後,你就會覺得:哈!我也能想到這個!
讀 blog 的一個好處是,如果你跟他們交流甚歡,甚至於你可以從他們那裡要一個實習來做!

C. Python氣象數據處理與繪圖(2):常用數據計算方法

對於氣象繪圖來講,第一步是對數據的處理,通過各類公式,或者統計方法將原始數據處理為目標數據。
按照氣象統計課程的內容,我給出了一些常用到的統計方法的對應函數:

在計算氣候態,區域平均時均要使用到求均值函數,對應NCL中的dim_average函數,在python中通常使用np.mean()函數
numpy.mean(a, axis, dtype)
假設a為[time,lat,lon]的數據,那麼

需要特別注意的是,氣象數據中常有缺測,在NCL中,使用求均值函數會自動略過,而在python中,當任意一數與缺測(np.nan)計算的結果均為np.nan,比如求[1,2,3,4,np.nan]的平均值,結果為np.nan
因此,當數據存在缺測數據時,通常使用np.nanmean()函數,用法同上,此時[1,2,3,4,np.nan]的平均值為(1+2+3+4)/4 = 2.5
同樣的,求某數組最大最小值時也有np.nanmax(), np.nanmin()函數來補充np.max(), np.min()的不足。
其他很多np的計算函數也可以通過在前邊加『nan』來使用。
另外,

也可以直接將a中缺失值全部填充為0。

np.std(a, axis, dtype)
用法同np.mean()

在NCL中有直接求數據標准化的函數dim_standardize()

其實也就是一行的事,根據需要指定維度即可。

皮爾遜相關系數:

相關可以說是氣象科研中最常用的方法之一了,numpy函數中的np.corrcoef(x, y)就可以實現相關計算。但是在這里我推薦scipy.stats中的函數來計算相關系數:

這個函數缺點和有點都很明顯,優點是可以直接返回相關系數R及其P值,這避免了我們進一步計算置信度。而缺點則是該函數只支持兩個一維數組的計算,也就是說當我們需要計算一個場和一個序列的相關時,我們需要循環來實現。

其中a[time,lat,lon],b[time]

(NCL中為regcoef()函數)
同樣推薦Scipy庫中的stats.linregress(x,y)函數:

slop: 回歸斜率
intercept:回歸截距
r_value: 相關系數
p_value: P值
std_err: 估計標准誤差
直接可以輸出P值,同樣省去了做置信度檢驗的過程,遺憾的是仍需同相關系數一樣循環計算。

D. 如何成為一名數據科學家

我認為有幾個大方面
1)學好 python。
現在幾乎所以公司的數據都可以 api 給你,而 python 的數據處理能力強大且方便。加之在 machine learning 的很多演算法上,python 也獨俏一方。另外,它的簡明方便迅速迭代開發,15 分鍾寫完個演算法就可以看效果了。
除此之外,py 還有點酷酷的感覺。任何程序拿 matlab 和 c++ 都是可以寫的,不過我真沒認識過哪個 d 願意自己把自己扔那個不酷的框框里:D
對不規則輸入的處理也給 python 一個巨大的優勢。通常來說,在我現在日常的工作里,所有的數據都是以純文本但是非格式的形式存儲的(raw text, unstructured data)。問題在於,這些文本不可以直接當作各種演算法的輸入,你需要
分詞,分句
提取特徵
整理缺失數據
除掉異類(outlier)
在這些時候,python 可謂是神器。這里做的 1-4 都可以直接在 scikit-learn 裡面找到對應的工具,而且,即使是要自己寫一個定製的演算法處理某些特殊需求,也就是一百行代碼的事情。
簡而言之,對於數據科學面臨的挑戰,python 可以讓你短平快地解決手中的問題,而不是擔心太多實現細節。
2)學好統計學習
略拗口。統計學習的概念就是「統計機器學習方法」。
統計和計算機科學前幾十年互相平行著,互相造出了對方造出的一系列工具,演算法。但是直到最近人們開始注意到,計算機科學家所謂的機器學習其實就是統計裡面的 prediction 而已。因此這兩個學科又開始重新融合。
為什麼統計學習很重要?
因為,純粹的機器學習講究演算法預測能力和實現,但是統計一直就強調「可解釋性」。比如說,針對今天微博股票發行就上升 20%,你把你的兩個預測股票上漲還是下跌的 model 套在新浪的例子上,然後給你的上司看。
Model-1 有 99%的預測能力,也就是 99%的情況下它預測對,但是 Model-2 有 95%,不過它有例外的一個附加屬性——可以告訴你為什麼這個股票上漲或者下跌。
試問,你的上司會先哪個?問問你自己會選哪個?
顯然是後者。因為前者雖然有很強的預測力(機器學習),但是沒有解釋能力(統計解釋)。
而作為一個數據科學家,80%的時間你是需要跟客戶,團隊或者上司解釋為什麼 A 可行 B 不可行。如果你告訴他們,「我現在的神經網路就是能有那麼好的預測力可是我根本就沒法解釋上來」,那麼,沒有人會願意相信你。
具體一些,怎麼樣學習統計學習?
先學好基本的概率學。如果大學里的還給老師了(跟我一樣),那麼可以從 MIT 的概率論教材【1】入手。從第 1 章到第 9 章看完並做完所有的習題。(p.s.面試 Twitter 的時候被問到一個拿球後驗概率的問題,從這本書上抓來的)。
了解基本的統計檢驗及它們的假設,什麼時候可以用到它們。
快速了解統計學習有哪些術語,用來做什麼目的,讀這本【5】。
學習基本的統計思想。有 frequentist 的統計,也有 bayesian 的統計。前者的代表作有【2】,後者看【3】。前者是統計學習的聖書,偏 frequentist,後者是 pattern recognition 的聖書,幾乎從純 bayesian 的角度來講。注意,【2】有免費版,作者把它全放在了網上。而且有一個簡易版,如果感覺力不從心直接看【2】,那麼可以先從它的簡易版開始看。簡易版【4】是作者在 coursera 上開課用的大眾教材,簡單不少(不過仍然有很多閃光點,通俗易懂)。對於【3】,一開始很難直接啃下來,但是啃下來會受益匪淺。
注意,以上的書搜一下幾乎全可以在網上搜到別人傳的 pdf。有條件的同學可以買一下紙製版來讀,體驗更好並且可以支持一下作者。所有的書我都買了紙製版,但是我知道在國內要買本書有多不方便(以及原版書多貴)。
讀完以上的書是個長期過程。但是大概讀了一遍之後,我個人覺得是非常值得的。如果你只是知道怎麼用一些軟體包,那麼你一定成不了一個合格的 data scientist。因為只要問題稍加變化,你就不知道怎麼解決了。
如果你感覺自己是一個二吊子數據科學家(我也是)那麼問一下下面幾個問題,如果有 2 個答不上來,那麼你就跟我一樣,真的還是二吊子而已,繼續學習吧。
為什麼在神經網路裡面 feature 需要 standardize 而不是直接扔進去
對 Random Forest 需要做 Cross-Validatation 來避免 overfitting 嗎?
用 naive-bayesian 來做 bagging,是不是一個不好的選擇?為什麼?
在用 ensembe 方法的時候,特別是 Gradient Boosting Tree 的時候,我需要把樹的結構變得更復雜(high variance, low bias)還是更簡單(low variance, high bias)呢?為什麼?
如果你剛開始入門,沒有關系,回答不出來這些問題很正常。如果你是一個二吊子,體會一下,為什麼你跟一流的 data scientist 還有些差距——因為你不了解每個演算法是怎麼工作,當你想要把你的問題用那個演算法解決的時候,面對無數的細節,你就無從下手了。
說個題外話,我很欣賞一個叫 Jiro 的壽司店,它的店長在(東京?)一個最不起眼的地鐵站開了一家全世界最貴的餐館,預訂要提前 3 個月。怎麼做到的?70 年如一日練習如何做壽司。70 年!除了喪娶之外的假期,店長每天必到,8 個小時工作以外繼續練習壽司做法。
其實學數據科學也一樣,沉下心來,練習匠藝。
3)學習數據處理
這一步不必獨立於 2)來進行。顯然,你在讀這些書的時候會開始碰到各種演算法,而且這里的書里也會提到各種數據。但是這個年代最不值錢的就是數據了(拜託,為什麼還要用 80 年代的「加州房價數據」?),值錢的是數據分析過後提供給決策的價值。那麼與其糾結在這么悲劇的 80 年代數據集上,為什麼不自己搜集一些呢?
開始寫一個小程序,用 API 爬下 Twitter 上隨機的 tweets(或者 weibo 吧。。。)
對這些 tweets 的 text 進行分詞,處理噪音(比如廣告)
用一些現成的 label 作為 label,比如 tweet 里會有這條 tweet 被轉發了幾次
嘗試寫一個演算法,來預測 tweet 會被轉發幾次
在未見的數據集上進行測試
如上的過程不是一日之功,尤其剛剛開始入門的時候。慢慢來,耐心大於進度。
4)變成全能工程師(full stack engineer)
在公司環境下,作為一個新入職的新手,你不可能有優待讓你在需要寫一個數據可視化的時候,找到一個同事來給你做。需要寫把數據存到資料庫的時候,找另一個同事來給你做。
況且即使你有這個條件,這樣頻繁切換上下文會浪費更多時間。比如你讓同事早上給你塞一下數據到資料庫,但是下午他才給你做好。或者你需要很長時間給他解釋,邏輯是什麼,存的方式是什麼。
最好的變法,是把你自己武裝成一個全能工作師。你不需要成為各方面的專家,但是你一定需要各方面都了解一點,查一下文檔可以上手就用。
會使用 NoSQL。尤其是 MongoDB
學會基本的 visualization,會用基礎的 html 和 javascript,知道 d3【6】這個可視化庫,以及 highchart【7】
學習基本的演算法和演算法分析,知道如何分析演算法復雜度。平均復雜度,最壞復雜度。每次寫完一個程序,自己預計需要的時間(用演算法分析來預測)。推薦普林斯頓的演算法課【8】(注意,可以從演算法 1 開始,它有兩個版本)
寫一個基礎的伺服器,用 flask【9】的基本模板寫一個可以讓你做可視化分析的 backbone。
學習使用一個順手的 IDE,VIM, pycharm 都可以。
4)讀,讀,讀!
除了閉門造車,你還需要知道其它數據科學家在做些啥。涌現的各種新的技術,新的想法和新的人,你都需要跟他們交流,擴大知識面,以便更好應對新的工作挑戰。
通常,非常厲害的數據科學家都會把自己的 blog 放到網上供大家參觀膜拜。我推薦一些我常看的。另外,學術圈裡也有很多厲害的數據科學家,不必怕看論文,看了幾篇之後,你就會覺得:哈!我也能想到這個!
讀 blog 的一個好處是,如果你跟他們交流甚歡,甚至於你可以從他們那裡要一個實習來做!
betaworks 首席數據科學家,Gilad Lotan 的博客,我從他這里要的 intern :D Gilad Lotan
Ed Chi,六年本科碩士博士畢業的神人,google data science
Hilary Mason,bitly 首席科學家,紐約地區人盡皆知的數據科學家:hilarymason.com
在它們這里看夠了之後,你會發現還有很多值得看的 blog(他們會在文章裡面引用其它文章的內容),這樣滾雪球似的,你可以有夠多的東西早上上班的路上讀了:)
5)要不要上個研究生課程?

前者就不說了,人人都知道。後者我則更喜歡,因為教得更廣闊,上課的教授也是世界一流的機器學習學者,而且經常會有一些很妙的點出來,促進思考。
對於是不是非要去上個研究生(尤其要不要到美國上),我覺得不是特別有必要。如果你收到了幾個著名大學數據科學方向的錄取,那開開心心地來,你會學到不少東西。但是如果沒有的話,也不必糾結。我曾有幸上過或者旁聽過美國這里一些頂級名校的課程,我感覺它的作用仍然是把你領進門,以及給你一個能跟世界上最聰明的人一個交流機會(我指那些教授)。除此之外,修行都是回家在寢室進行的。然而現在世界上最好的課程都擺在你的面前,為什麼還要舍近求遠呢。
總結一下吧
我很幸運地跟一些最好的數據科學家交流共事過,從他們的經歷看和做事風格來看,真正的共性是
他們都很聰明——你也可以
他們都很喜歡自己做的東西——如果你不喜歡應該也不會看這個問題
他們都很能靜下心來學東西——如果足夠努力你也可以

E. office計算機二級,excel常考函數有哪些

if函數

=IF(AND(F3="是",G3="是",H3="是"),"完成","未完成")

這個函數的意思是,如果(同時滿足(F3="是",G3="是",H3="是"),那麼就是"完成「,否則就是"未完成"。

還有一種情況是滿足一個條件的,也就是IF(OR(F3="是",G3="是",H3="是"),"完成","未完成")。

SUMIFS多條件求和

問題如下圖

函數=SUMIFS(訂單明細表!H3:H636,訂單明細表!E3:E636,訂單明細表!E7,訂單明細表!B3:B636,"<=2012-12-31",訂單明細表!B3:B636,">=2012-1-1")

=SUMIFS(總銷售額,條件區域1,條件1(《MS Office高級應用》),條件區域2,條件2(2012年),條件區域3,條件3(2012年))

mid截取函數

=IF(MOD(MID(C2,17,1),2)=1,"男","女")

如果(除以(截取(C2單元格,從17位開始,截取兩位),2)等於1的話,那麼就是「男」,否則就是「女」

這個函數要從最里邊的函數往外開始翻譯。即MID--MOD--IF

(5)pythonstandardize擴展閱讀:

計算機二級考試是全國計算機等級考試(National Computer Rank Examination,簡稱NCRE)四個等級中的一個等級,考核計算機基礎知識和使用一種高級計算機語言編寫程序以及上機調試的基本技能。計算機二級考試採用全國統一命題、統一考試的形式。

計算機二級考試包含:程序設計/辦公軟體高級應用級,考核內容包括計算機語言與基礎程序設計能力,要求參試者掌握一門計算機語言,可選類別有高級語言程序設計類、資料庫程序設計類等;

辦公軟體高級應用能力,要求參試者具有計算機應用知識及MS Office辦公軟體的高級應用能力,能夠在實際辦公環境中開展具體應用。從2013年開始全國計算機等級考試已從傳統的筆試和上機考試改革成無紙化考試,二級Delphi科目從2013年上半年開始停考。

從 2018 年 3 月開始,將實施 2018 版考試大綱,並按新體系開考各個考試級別。

據了解,教育部考試中心確定從2013年上半年開始,實施無紙化的NCRE,二級6個科目是:二級C,二級VB,二級VFP、二級JAVA、二級ACCESS、二級C++。取消「Delphi語言程序設計」科目(代碼:62)。

自2018年3月考試起,NCRE將執行2018版考試大綱,二級取消「Visual FoxPro 資料庫程序設計」科目(代碼:27),2017年 12 月是其最後一次組考。新增「Python 語言程序設計」科目(代碼:66),考試時長:120 分鍾,2018 年 9 月首次開考。

閱讀全文

與pythonstandardize相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:382
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163