預測模型的表現怎麼評估?模型評估嚴謹程度的4個等級

更新於 發佈於 閱讀時間約 7 分鐘

科學是以嚴謹的態度提出證明的過程。資料科學作為「科學」的一份子,如何達到「嚴謹」?有兩個必要條件,其一是客觀的評估方法,另一個可重複性的結果(reproducibility)​。本文逐步說明在建立模型上,如何達成科學的「嚴謹」要求,以盡可能確保應用模型後的有效性,以及在建立模型時常被忽略的地方。

如果忘記什麼是預測性資料分析,可以在資料分析的三大目的中找到相關說明,並在資料分析的流程中可以看到建立模型在資料分析流程中的位置。


內容

  • 訓練集一票玩到底
  • 切出測試集,鎖起來
  • 訓練集再分割驗證集並交叉驗證
  • 把特徵工程納入交叉驗證中
  • 依嚴謹性分級
  • 結論
  • 最後



模型與評估效果的目的

預測性資料分析的重點在於盡可能準確預測,並且經過嚴謹的評估,確保上線後同樣可以精準預測。那麼,在建立模型的時,如何「盡可能」客觀評估模型效果呢?


訓練集一票玩到底

一個初步的作法,是將總共1,000筆資料來訓練模型,接著預測這1,000資料的結果,來看模型的是否學得夠好。不過這樣有「資訊洩漏(Information Leakage)」的狀況,指的是用來驗證的資料訊息,被透露在模型訓練的過程之中。也就是說,模型可能只是把訓練資料的答案背起來,如果換了考題(其他用來驗證的資料),模型的表現就不一定好,而這就是「過度配適(over-fitting)」,指的是模型對於用來訓練的資料表現很好,但是在測試資料上表現卻相對差了取多。而且,原始作法並無法事先評估模型在未來新資料預測的準確率上表現如何,貿然部署上線應用,模型預測不如預期的風險較高。

所有資料進行特徵工程、訓練和驗證

所有資料進行特徵工程、訓練和驗證


切出測試集,鎖起來

那麼,有什麼方式可以相對客觀的評估模型預測結果?可以將總共1,000筆資料,在還沒開始訓練這些資料時,先將其中的200筆分割出來並鎖在保險箱裡(測試集,testing set),用剩下的800筆訓練模型(訓練集,training set),完成模型訓練後,預測這200筆資料的結果,以驗證模型準確率。這樣的方式的好處,在於我們透過僅有的1,000資料,就可以預估對於模型沒看過的資料,它的預測表現如何。但是,當我們發現模型對於測試集預測結果表現不好,我們就會對此調整模型的超參數(hyperparameters),經過反覆多次的「調整超參數→訓練模型→測試預測結果→調整超參數→...」的循環,會變成將模型訓練成測試集的形狀,也就是在測試集上過度配適;對於未來真的實際上線後,預測結果仍然未知。

所有資料進行特徵工程,切分訓練集訓練模型、測試集驗證結果

所有資料進行特徵工程,切分訓練集訓練模型、測試集驗證結果


訓練集再分割驗證集並交叉驗證

有什麼方式,讓我們可以調整模型超參數,同時避免在測試集上過度配適嗎?想法很單純,就如同切出測試集一樣,不過這次是將原本800筆的訓練集資料,在訓練過程中,分為訓練集和驗證集(validation set),用前者訓練模型、後者評估不同超參數的表現結果。但如果從頭到尾都是用800筆中,同樣的640筆訓練、另外的160筆驗證,這樣最後模型調校出來超參數,變成在驗證集上過度配適,對於測試集(保險箱中的那200筆)的預測結果,可能一樣不符預期!

這時候需要就需要引入交叉驗證(cross validation)!也就是說,假設我們把原本的 800 筆資料,隨機切成 5 等份,在給定一組超參數的情況下,每次以其中 4 份訓練模型,另 1 份評估,這樣做了 5 次之後,將 5 次模型評估的結果平均,作為該組超參數的表現結果。如此一來,每 1 份(或是說每 1 筆)資料,都被用來訓練和評估過,沒有浪費任何資訊和偏誤,而模型也不是針對特定一組資料選取超參數,可以避免過度配適的狀況。這樣完美地避免資訊洩漏和過度配適了,是嗎?

訓練集和驗證集一起進行特徵工程,並在驗證集交叉驗證、測試集最終驗證結果

訓練集和驗證集一起進行特徵工程,並在驗證集交叉驗證、測試集最終驗證結果


把特徵工程納入交叉驗證中

模型訓練不只是要針對超參數調整,在特徵工程(feature engineering)上,有時影響力更勝模型的超參數。特徵工程指的是,在資料面上,將原始資料轉換(transform)、組合(combine)、萃取(extract)或是選擇(select)的工作,目的在於使資料在建模中有更大的資訊量,以利模型學習。例如:將身高、體重的資料,計算為身體質量指數(BMI),為了使模型更有效學習以預測肥胖的風險。

我們在訓練模型中,往往會將資料進行最大最小標準化,使變數範圍介於0到1之間,利於模型收斂(或是說「利於模型完成訓練」)。此時,在沒有分割訓練集和驗證集的情況下進行特徵工程,例如訓練集的BMI範圍是16.2到25.3,而驗證集為16.5到25.7,則變數範圍的上限就會是驗證集洩漏資訊的結果。

所以,需要將特徵工程等流程,在執行交叉驗證時應用。也就是說,切成 5 等份的交叉驗證過程中,使用其中 4 份訓練模型之前的特徵工程時,要以這 4 份執行的例如上下界範圍作為範圍,並應用到另 1 份的驗證上,以此類推,避免特徵工程的資訊洩漏。

僅在每個Fold中的訓練集進行特徵工程,並將特徵工程過程套用至驗證集挑選超參數、測試集驗證結果

僅在每個Fold中的訓練集進行特徵工程,並將特徵工程過程套用至驗證集挑選超參數、測試集驗證結果


依嚴謹程度分級

透過上述的 4 個嚴謹程度的邏輯發展階段,可以分成 4 個等級。

  • 等級4:全資料集進行特徵工程、訓練模型及調整超參數;以全資料集測試。
  • 等級3:全資料集切分訓練集和測試集,以訓練集進行特徵工程、訓練模型及調整超參數;以測試集測試模型結果。
  • 等級2:全資料集切分訓練集和測試集,以訓練集進行特徵工程、訓練模型並執行交叉驗證找出最佳超參數;以測試集測試模型結果。
  • 等級1:全資料集切分訓練集和測試集,以訓練集訓練模型並執行交叉驗證,而在每一次交叉驗證時,分別執行特徵工程,找出最佳超參數;以測試集測試模型結果。
將4個等級的圖放一起方便讀者比較

將4個等級的圖放一起方便讀者比較

在社會科學的碩博士論文相當常見等級 4 的作法,例如:透過所有資料直接執行多元線性迴歸並解釋結果,但這並非表示這些研究不夠嚴謹或成果不重要,而是這些碩博士論文的目的,在於提出一個具有足夠解釋能力」的模型

在執行難度上,要達成等級 3 ,可透過一般將資料分割訓練集和測試集的套件(如:sklearn.model_selection.train_test_split),可以很容易達成;等級 2 則是透過交叉驗證的套件(如:sklearn.model_selection.GridSearchCV),也不算困難;等級 1 則是需要能夠組合資料分割、交叉驗證、特徵工程的pipeline(imblearn.pipeline.Pipeline),才可以達成相對嚴謹的評估結果,但若實際了解整個運算流程,其實也是組裝積木的概念,難度也不是相當高。


結論

建立模型的方式相當多元且容易,但模型評估本身就是門學問,如何執行客觀、可靠、有效的嚴謹評估方式,對於模型的部署上線應用至關重要。本文針對模型評估的嚴謹性提供邏輯發展上的推演,藉此說明模型評估嚴謹程度的不同等級,等級切分的依據包含:是否分割測試集、是否交叉驗證執行超參數搜索、是否納入特徵工程於交叉驗證中;文末列出相關的套件,供讀者進一步研究可以如何整合應用。

文中提到「過度配適」和「資訊洩漏」兩個專有名詞。前者幾乎是機器學習或資料分析界中無人不知,但後者卻乏人問津;可是,資訊洩漏的狀況,有時可能才是導致過度配適的根本原因。


最後

本文無意評價許多實務上可能在模型評估上不夠嚴謹的作法,而是提出相對嚴謹的方式供參考,而對於交叉驗證的概念目前也沒有特別說明,讀者可以自行搜尋參考,或是之後有時間的話再另文說明。

如果你有任何建議、想法或問題,都歡迎留言跟我分享,謝謝。

avatar-img
28會員
19內容數
和大家一起看見台灣的資料,包含人口、經濟、社會等相關議題。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
李政旺的沙龍 的其他內容
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
資料分析三個主要的目的分別是探索性、解釋性及預測性。看看他們在方法及複雜度上有什麼差異,以及適用的情境。
在資料科學中常可以聽到「權重」,可藉由專家經驗和機器學習取得「權重」,但他們差別是什麼?在透過演算法決定權重的想法相對盛行的現今,又如何整合兩種途徑的結果?
決定「分析單位」是資料分析執行前,最需要確認的項目;決定了「分析單位」等同於決定分析結果數據呈現方式、解讀和應用方法。讓我們一起了解「分析單位」到底是什麼?什麼會決定分析單位?以及沒有弄清楚分析單位會有什麼影響?
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
資料分析三個主要的目的分別是探索性、解釋性及預測性。看看他們在方法及複雜度上有什麼差異,以及適用的情境。
在資料科學中常可以聽到「權重」,可藉由專家經驗和機器學習取得「權重」,但他們差別是什麼?在透過演算法決定權重的想法相對盛行的現今,又如何整合兩種途徑的結果?
決定「分析單位」是資料分析執行前,最需要確認的項目;決定了「分析單位」等同於決定分析結果數據呈現方式、解讀和應用方法。讓我們一起了解「分析單位」到底是什麼?什麼會決定分析單位?以及沒有弄清楚分析單位會有什麼影響?
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
🤖 AI模型優化術:如何讓算法更聰明? 在AI模型的開發過程中,模型優化是決定算法效能的關鍵環節。從數據清洗到模型選型,從超參數調整到模型部署,優化策略的每一步都直接影響最終的結果。本文將為您提供一個全面的指南,解鎖讓算法更聰明的秘密,幫助您在理論與實踐中實現突破! 📖 目錄 1️⃣ 模
🚀 從理論到實踐:AI模型評估全流程大公開! 📚 全面解析如何設計、評估與優化AI模型,運用頂尖顧問手法,實現模型的最大化效益! ⏩ 目錄 🌟 評估AI模型的重要性 🎯 設定明確目標:SMART原則的應用 🔍 評估基礎:關鍵性能指標 (KPIs) 📊 評估框架:系統化
Thumbnail
當我們在訓練各種模型時, 難免會有許多實驗性的參數、產出的模型、不同的資料來源, 隨著版本迭代越來越多, 過了一段時間回頭看之後卻發現當初最好的某一個實驗參數到底是啥啊? 模型去了哪裡? 用的數據集是哪些? 我想上述這些問題都是模型訓練的過程難免會遇到的問題, 除非我們有一套管理的SOP, 比
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
N001|【AI 訓練陷阱:AI 訓練數據品質下降的危機】 ── 1. 模型崩潰(Model Collapse) 2. 資料來源的重要性(Importance of Data Source) 3. 多樣性和代表性(Diversity and Representativeness)4. 保持數據品質
Thumbnail
本文介紹不同類型的理論,讓研究者理解這些理論在研究的應用及其意義。說明了分析型理論、解釋型理論、預測型理論、解釋與預測型理論、設計與行動型理論,以及使用理論時的考量和如何使用理論進行研究的五步驟。
Thumbnail
抽樣方式影響調查的樣本結果是否可以代表母體狀況。方便抽樣可能導致偏誤,應考慮更系統化的抽樣方法,例如簡單隨機抽樣,以確保樣本情況可以回推母體情況。文章透過範例說明,解釋樣本和母體之間關聯。
Thumbnail
  前面說明了所謂「假設檢定」的邏輯,也就是推論統計的基礎。但前面都還只是概念的階段,目前沒有真正進行任何的操作──還沒有提到推論統計的技術。   這篇其實有點像是一個過渡,是將前面的概念銜接到下一篇t分數之間的過程,也可以說是稍微解釋一下t檢定怎麼發展出來的。
Thumbnail
有別於試圖直接從數據中找出洞察,商業分析的精髓在於先思考 so what——從定義目標開始,做出商業決策的雛形後,才用數據去支持假說。這篇文章介紹 A/B 測試的技巧,以及摘櫻桃的應用,解說數據篩選的操作、摘櫻桃的好處,以及企業案例:數位轉型後的報社,亞馬遜CEO貝佐斯改造百年郵報。
Thumbnail
我們常把研究分成量化與質性兩種不同的方法(當然不止這兩種方法),其中量化分析主要在討論變數與變數的關係,而質性分析則在變數間在的互動過程與事件。因此通常在進行質性研究時,我們需要收集大量田野調查或訪談資料。做過訪談的人都知道,訪談後需要反覆的聆聽訪談錄音並將其轉化為訪談逐字稿,這是一個大工程,還好現
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
🤖 AI模型優化術:如何讓算法更聰明? 在AI模型的開發過程中,模型優化是決定算法效能的關鍵環節。從數據清洗到模型選型,從超參數調整到模型部署,優化策略的每一步都直接影響最終的結果。本文將為您提供一個全面的指南,解鎖讓算法更聰明的秘密,幫助您在理論與實踐中實現突破! 📖 目錄 1️⃣ 模
🚀 從理論到實踐:AI模型評估全流程大公開! 📚 全面解析如何設計、評估與優化AI模型,運用頂尖顧問手法,實現模型的最大化效益! ⏩ 目錄 🌟 評估AI模型的重要性 🎯 設定明確目標:SMART原則的應用 🔍 評估基礎:關鍵性能指標 (KPIs) 📊 評估框架:系統化
Thumbnail
當我們在訓練各種模型時, 難免會有許多實驗性的參數、產出的模型、不同的資料來源, 隨著版本迭代越來越多, 過了一段時間回頭看之後卻發現當初最好的某一個實驗參數到底是啥啊? 模型去了哪裡? 用的數據集是哪些? 我想上述這些問題都是模型訓練的過程難免會遇到的問題, 除非我們有一套管理的SOP, 比
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
N001|【AI 訓練陷阱:AI 訓練數據品質下降的危機】 ── 1. 模型崩潰(Model Collapse) 2. 資料來源的重要性(Importance of Data Source) 3. 多樣性和代表性(Diversity and Representativeness)4. 保持數據品質
Thumbnail
本文介紹不同類型的理論,讓研究者理解這些理論在研究的應用及其意義。說明了分析型理論、解釋型理論、預測型理論、解釋與預測型理論、設計與行動型理論,以及使用理論時的考量和如何使用理論進行研究的五步驟。
Thumbnail
抽樣方式影響調查的樣本結果是否可以代表母體狀況。方便抽樣可能導致偏誤,應考慮更系統化的抽樣方法,例如簡單隨機抽樣,以確保樣本情況可以回推母體情況。文章透過範例說明,解釋樣本和母體之間關聯。
Thumbnail
  前面說明了所謂「假設檢定」的邏輯,也就是推論統計的基礎。但前面都還只是概念的階段,目前沒有真正進行任何的操作──還沒有提到推論統計的技術。   這篇其實有點像是一個過渡,是將前面的概念銜接到下一篇t分數之間的過程,也可以說是稍微解釋一下t檢定怎麼發展出來的。
Thumbnail
有別於試圖直接從數據中找出洞察,商業分析的精髓在於先思考 so what——從定義目標開始,做出商業決策的雛形後,才用數據去支持假說。這篇文章介紹 A/B 測試的技巧,以及摘櫻桃的應用,解說數據篩選的操作、摘櫻桃的好處,以及企業案例:數位轉型後的報社,亞馬遜CEO貝佐斯改造百年郵報。
Thumbnail
我們常把研究分成量化與質性兩種不同的方法(當然不止這兩種方法),其中量化分析主要在討論變數與變數的關係,而質性分析則在變數間在的互動過程與事件。因此通常在進行質性研究時,我們需要收集大量田野調查或訪談資料。做過訪談的人都知道,訪談後需要反覆的聆聽訪談錄音並將其轉化為訪談逐字稿,這是一個大工程,還好現