跳到主要內容

發表文章

目前顯示的是 11月, 2019的文章

ML | 交叉驗證 Cross-Validation & Bootstrap

本篇文章是要記錄在機器學習當中常見的拆分資料的方法。作為資料科學工作者的我們都知道,選用合適的方式來將原始資料拆分成訓練組資料(Training set)、鑑效組資料(Validation set)、與測試組(Testing set),對於模型好壞有著重大的影響,而這一系列拆分資料的方法,即稱為「交叉驗證」(Cross-Validation, CV),同時也介紹如何使用 R 語言來執行常見的交叉驗證方法,包含:Holdout Method、K-Fold CV、Leave One out CV、Bootstrap。此外,文章後半段會針對時間序列資料的交叉驗證做介紹。 # Holdout CV 最簡單直觀的做法,即隨機把原始數據分為三組即可,不同的劃分會得到不同的最優模型,但該方法對模型的敏感度影響較大。如果僅做一次分割,則訓練集、驗證集和測試集的樣本數比例,還有分割後的資料分布是否和原始資料集的分布相同等等因素,皆會影響模型的敏感度。且各個子集能夠分配到的資料樣本數量就會受限於原始的資料量,較不利於樣本數較少的資料集。 # K-Fold CV 為解決 Holdout Method 的困境,於是便有了 K-Fold CV,即對 k 個不同分組訓練的結果進行平均來減少變異,模型效能就不會對原始數據拆分過於敏感。最好的 k 要設定多少,並沒有一定答案,但是從經驗法則來看,資料量小的時候,k 可以設大一點,這樣訓練集占整體比例就比較大,但訓練的模型個數也增多,需要更多的運算時間;相對地,資料量大的時候,k 可以設小一點。 # Leave One out CV 當資料分割的組數 k 等於總樣本數 m 時,即為 Leave one out CV。每次的測試集都只有一個樣本,進行 m 次訓練和預測。這個方法用於訓練的資料只比整體資料集少了一個樣本,因此最接近原始樣本的分布,對於降低原始資料分布對模型的影響非常有效,但同時也增加了訓練的複雜度以及所需時間,一般而言是在資料量較少的時候使用。 # Bootstrap 在統計學當中,也被稱作「自助重抽法」。其透過重複抽樣,可以避免 Holdout Method 造成的樣本減少問題,其次,Bootstrap 也可以於創造訓練資料的隨機性。該方法的優點是訓練資料集的樣本總數和原始資料集相同,並且仍有約 1/3 的資料不被訓練到

BI | Tableau & Power BI 學習筆記 其一

幾個月前的面試當中,我曾遇過對方主管詢問我,我履歷當中的技能欄位有寫到 Tableau 以及 Microsoft Power BI,可是為什麼沒有在我的部落格當中看到關於 Tableau 或是 Microsoft Power BI 的學習記錄?所以只好來整理一篇,關於這兩項熱門商業智慧軟體的學習記錄。 Photo source : Maurizio Pittau Why Business Intelligence ? 任何的資料科學、數據分析專案,其最終都要產出一份結果報告,我們耳熟能詳的 R 與 Python 雖然也能夠產出漂亮的視覺化圖表,但是關於視覺化 dashboard 的整合性設計、跨平台的即時查詢結果輸出、簡明易懂的圖形化操作介面,是 R 與 Python 所欠缺的。而這些優點也能夠讓不具備程式設計底子的分析師、助理、以及一秒鐘幾十萬上下的經理人,能夠快速地建立出他們所需要的結果圖表。而從數據分析起步的跨入資料科學領域的我,會個一兩套商業智慧軟體,也是很正常的。 Why Tableau & Power BI ? 其實,現在商業智慧套裝軟體的選擇非常多,除非是有特別的功能需求,否則各大型品牌的商業智慧軟體,在功能上其實差異不會太大, 隨意Google 一下「Business Intelligence Software」、「BI Software」等關鍵字,就可以找到滿滿的清單與優缺評比: Top Business Intelligence Software | Best BI Tools Comparison 2019 Top Business Intelligence (BI) Tools in 2019 | TrustRadius Best Business Intelligence Software | 2019 Reviews of the Most Popular Tools & Systems Best Business Intelligence Software | 2019 Reviews & References from the Most Popular Business Intelligence Software Vendors 我們隨意找幾個 Google 查詢結果第一頁的綜合評比

雜談|邁向資料科學家之路 其三

在這個部落格剛成立沒多久,我曾整理過〈邁向資料科學家之路〉 其一 與 其二 兩篇文章,分別針對進入資料科學工作的「入門」、「觀念」、「技術」、與「職場」等面相進行探討。時隔一年,我留意到坊間不少資料科學同好的相關經驗談,十分值得參考,於是決定整理再一篇文章,來記錄一下這些前輩及同業們的寶貴分享,尤其是我在前兩篇文章當中未提及的部分。 由於這些文章的內容多已十分言簡意賅,故以下僅依照文章的內容來概略分類,分別是「工作最前線」、「業界定位」、「跨域合作」、「R 語言使用者的困境」 【工作最前線】 這個類別主要收錄已經在業界打滾多年的資料科學家、分析師、機器學習工程師的日常工作概覽。其中,第一篇的〈數據化運營中玩過的分析項目〉更是有完整的系列文章,可供新進同好參考。 數據化運營中玩過的分析項目 - 邱國欣(Andy Chiu) - Medium 在業界做資料科學家是怎麼樣的一種體驗?–David's Perspective 那些做 Data Science 的心酸血淚分享 - Ben Chen - Medium 【12 點真心建議】這位機器學習工程師在入職一年後,寫了這封信給初學者 | TechOrange 【職場定位】 這個類別的主要是收錄「 科科寫寫 」這個部落格的文章精華。該部落格板主針對資料科學相關工作在目前業界當中的定位,做了十分詳細的分類及說明。以下的收錄文章將從資料科學的工作角色分類,到公司定位、以及產業的需求,依序排列,能夠讓業界新手更理解自己未來的職場發展方向。 資料科學的職稱分類演進 資料科學角色光譜圖 從資料科學人力配置,看公司的資料工程複雜度 2019 我的資料科學轉職歷程:產業職缺觀察 想要轉行數據分析領域,看完這篇再做決定 - 數據分析那些事 - Medium 【跨域合作】 這個類別則收錄了從 PM(產品經理 or 專案經理)以及領域專家的觀點,如何和資料科學領域的專家(包含資料分析師、工程師)合作來進行專案。事實上,任何一個資料科學專案,都是屬於專案管理的範疇,但資料科學家、分析師、工程師等等,卻不一定擅長整個專案的溝通、規劃、及整合工作,尤其是在大規模資料科學專案。此時,PM 就扮演著協調及整合的關鍵角色。而一個好的資料科學專案,也少不了優秀的領域專家參與。 【PM 夥伴攻略】如何