vocus logo

方格子 vocus

《從零開始的資料科學筆記》Day#20: 機器學習進階技巧二

更新 發佈閱讀 6 分鐘
raw-image

🪛 特徵編碼

為什麼需要特徵編碼?

特徵編碼是將非數值型資料(如類別、文本等)轉換為數值形式的過程,這是機器學習模型處理資料的必要步驟,因為:

  • 模型數值需求:大多數機器學習算法只接受數值輸入,無法直接處理文字或類別資料
  • 語義保存:編碼過程必須保留原始類別的語義信息,不同編碼方式會保留不同的信息特性
  • 模型效能:選擇合適的編碼方法可以顯著提升模型的學習效率和預測準確度
  • 避免誤導:不當的編碼可能引入錯誤的順序關係或數值大小關係,誤導模型學習

Label Encoding(標籤編碼)

標籤編碼將每個唯一類別映射為一個整數,是最簡單的類別編碼方法。

  • 工作原理:

['蘋果', '香蕉', '橙子'] → [0, 1, 2]

  • 適用場景:
    • 樹型模型(如決策樹、隨機森林)- 類別間存在自然順序關係(如:低、中、高)- 類別數量極大,需要節省存儲空間
  • 優缺點:
    • ✅ 實現簡單且高效
    • ✅ 不會增加特徵維度
    • ✅ 保留原始類別的唯一性
    • ❌ 引入虛假的順序關係(如:蘋果 < 香蕉 < 橙子)
    • ❌ 對線性模型和距離計算敏感的模型(如SVM、KNN、線性/邏輯迴歸)不適用
    • ❌ 無法反映類別間的相似性或關係

One-Hot Encoding(獨熱編碼)

獨熱編碼為每個類別創建一個二元特徵,只有對應類別的特徵為1,其餘為0,避免引入順序關係。

  • 工作原理:
[‘蘋果’, ‘香蕉’, ‘橙子’] →

蘋果 香蕉 橙子
[[ 1, 0, 0 ], # 蘋果
[ 0, 1, 0 ], # 香蕉
[ 0, 0, 1 ]] # 橙子
  • 適用場景:
    • 樹型模型(如決策樹、隨機森林
    • 類別間存在自然順序關係(如:低、中、高)
    • 類別數量極大,需要節省存儲空間
  • 優缺點:
    • ✅ 實現簡單且高效
    • ✅ 不會增加特徵維度
    • ✅ 保留原始類別的唯一性
    • ❌ 引入虛假的順序關係(如:蘋果 < 香蕉 < 橙子)
    • ❌ 對線性模型和距離計算敏感的模型(如SVM、KNN、線性/邏輯迴歸)不適用
    • ❌ 無法反映類別間的相似性或關係

💡解決「虛擬變量陷阱」的方法:通常會丟棄一個二元特徵(k-1編碼),以避免線性相關性問題

Target Encoding(目標編碼)

目標編碼使用每個類別對應目標變量的統計值(通常是均值)來替換原始類別,有效捕捉類別與目標的關係。

  • 工作原理:
假設目標變量為收入,則每個城市類別被替換為該城市居民的平均收入

城市: ['台北', '高雄', '台北', '台中', '高雄']
收入: [50000, 45000, 60000, 48000, 42000]

編碼後: 台北 → 55000 高雄 → 43500 台中 → 48000
  • 適用場景:
    • 高基數類別(如郵遞區號、產品ID等
    • 預測任務中類別與目標變量有明顯相關性- 需要降低特徵維度時
  • 優缺點:
    • ✅ 高效處理高基數類別,不增加特徵維度
    • ✅ 直接融合目標信息,增強特徵預測能力
    • ✅ 可顯著提高模型性能,特別是處理稀疏類別時
    • ❌ 容易導致過擬合,尤其是稀有類別
    • ❌ 需要額外的交叉驗證策略(如K-fold)
    • ❌ 對訓練集與測試集分布差異敏感
    • ❌ 不適合處理不平衡數據集

💡防止過擬合的策略:

  • 平滑處理:結合全局均值進行正則化
  • 交叉驗證編碼:使用K-fold策略

頻率編碼 (Frequency Encoding)

頻率編碼使用類別在數據集中出現的頻率(百分比)替換原始類別,反映類別的普遍性。

  • 工作原理:
城市: ['台北', '高雄', '台北', '台中', '高雄']
頻率計算: 台北: 2/5 = 0.4 高雄: 2/5 = 0.4 台中: 1/5 = 0.2

編碼後: [0.4, 0.4, 0.4, 0.2, 0.4]
  • 適用場景:
    • 類別出現頻率與目標變量相關
    • 需要保持特徵的連續性和有序性
    • 高基數類別的初步處理
  • 優缺點:
    • ✅ 簡單高效,不增加特徵維度
    • ✅ 自然地反映類別稀有程度
    • ✅ 將類別轉換為連續特徵,適用於各類模型
    • ❌ 頻率相同的不同類別會被映射為相同的值
    • ❌ 可能無法充分捕捉類別的語義信息
    • ❌ 對於極度不平衡的類別分布可能效果有限

Embedding Layer(嵌入層編碼)

嵌入層是深度學習中的特殊層,可以將高維類別映射到低維連續向量空間,同時學習類別間的語義關係。

  • 工作原理:
    • 將每個類別映射為固定長度的密集向量(例如,將1000個城市映射到10維空間)
  • 適用場景:
    • 高基數類別(如單詞、產品ID)
    • 深度學習模型架構
    • 存在豐富的類別間關係需要學習
    • 推薦系統、自然語言處理任務
  • 優缺點:
    • ✅ 能捕捉類別間的複雜關係和相似性
    • ✅ 高效處理高基數類別
    • ✅ 可以降維並保留類別間的語義信息
    • ✅ 可重用預訓練的嵌入(如Word2Vec)
    • ❌ 需要足夠的數據量進行有效學習
    • ❌ 計算資源需求高
    • ❌ 嵌入維度是需要調整的超參數
    • ❌ 不適用於簡單模型或小型數據集

多重編碼策略與高級技巧

在實際應用中,通常會結合多種編碼方法以獲得最佳結果:

分組稀有類別:

  • 將出現頻率低於閾值的類別合併為”其他”類別,避免過擬合

特徵交叉編碼:

  • 組合多個類別特徵創建新特徵
  • 城市 + 職業 → 台北_工程師, 台北_醫生, …

對比編碼:

  • 對高基數類別採用多種編碼方法(如標籤+頻率),讓模型自行學習最有效的表示

基於領域知識的編碼:

  • 根據業務理解將類別映射到有意義的數值
  • 教育程度:高中=12, 大學=16, 碩士=18, 博士=22 (對應學習年數)


留言
avatar-img
Ethan的AI學習筆記
8會員
33內容數
我是一個不務正業的資料科學家,從零開始學習的路途上跌跌撞撞,跌過許多坑,也撞過許多牆... 當有人迷失方向時,希望這些筆記可以成為你的指南針。
Ethan的AI學習筆記的其他內容
2025/10/24
大家應該都實際練習過機器學習的四大技術了,包含迴歸分析、分類分析、分群分析以及時間序列分析。 在機器學習模型的開發過程中,我們常將焦點放在演算法的選擇與模型的訓練上,但實際上,一個高效且穩健的模型,往往取決於資料的前處理與特徵的設計。隨著模型複雜度提升,過擬合、特徵尺度不一致以及高維資料噪聲等問題會
Thumbnail
2025/10/24
大家應該都實際練習過機器學習的四大技術了,包含迴歸分析、分類分析、分群分析以及時間序列分析。 在機器學習模型的開發過程中,我們常將焦點放在演算法的選擇與模型的訓練上,但實際上,一個高效且穩健的模型,往往取決於資料的前處理與特徵的設計。隨著模型複雜度提升,過擬合、特徵尺度不一致以及高維資料噪聲等問題會
Thumbnail
2025/10/11
在現實生活中,許多資料並非靜止的,它們會隨著時間不斷變化,形成了一種特殊的資料型態,這就是時間序列資料。時間序列數據廣泛存在於各種領域,如金融市場的股票價格波動、氣候監測的溫度變化、製造業的機器故障檢測,以及網站流量的每日訪問量等。這些資料的最大特點在於:當前的觀測值與過去的值密切相關,未來的趨勢也
Thumbnail
2025/10/11
在現實生活中,許多資料並非靜止的,它們會隨著時間不斷變化,形成了一種特殊的資料型態,這就是時間序列資料。時間序列數據廣泛存在於各種領域,如金融市場的股票價格波動、氣候監測的溫度變化、製造業的機器故障檢測,以及網站流量的每日訪問量等。這些資料的最大特點在於:當前的觀測值與過去的值密切相關,未來的趨勢也
Thumbnail
2025/10/04
在剛接觸機器學習時,會學習到模型是使用一組特徵X和標籤Y來訓練的,例如:使用房子的坪數、屋齡、地段等特徵可以預測這間房子的房價,這就是機器學習中迴歸分析的經典應用。但是在現實場景中,往往會出現數量龐大但是沒有明確標籤或類別的資料,這時應該怎麼利用這些資料,才能挖掘出潛藏在資料中的訊息?
Thumbnail
2025/10/04
在剛接觸機器學習時,會學習到模型是使用一組特徵X和標籤Y來訓練的,例如:使用房子的坪數、屋齡、地段等特徵可以預測這間房子的房價,這就是機器學習中迴歸分析的經典應用。但是在現實場景中,往往會出現數量龐大但是沒有明確標籤或類別的資料,這時應該怎麼利用這些資料,才能挖掘出潛藏在資料中的訊息?
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
投資者正在拋售今年年初大量儲備在紐約的黃金,令美元上漲,美股回落。中美發佈斯德哥爾摩經貿會談聯合聲明,以及國新辦預告明日發佈刺激新政,引發中國AH股市上漲,日本股市也再次開盤大漲。 昨日發生了什麼? 黃金:白宮“闢謠”黃金關稅後,川普昨日也發文承諾不會對黃金加徵關稅。至此,市場徹底明白,美國
Thumbnail
投資者正在拋售今年年初大量儲備在紐約的黃金,令美元上漲,美股回落。中美發佈斯德哥爾摩經貿會談聯合聲明,以及國新辦預告明日發佈刺激新政,引發中國AH股市上漲,日本股市也再次開盤大漲。 昨日發生了什麼? 黃金:白宮“闢謠”黃金關稅後,川普昨日也發文承諾不會對黃金加徵關稅。至此,市場徹底明白,美國
Thumbnail
本篇利用統計的回歸分析,分析投資人情緒與未來報酬間的相關性。 以AAII為指標,統計自1987年到2022年散戶樂觀,悲觀,態度中立時,與未來52週後(一年)標普500指數報酬相關性。 結論: 發現散戶就是傳說中的反指標。
Thumbnail
本篇利用統計的回歸分析,分析投資人情緒與未來報酬間的相關性。 以AAII為指標,統計自1987年到2022年散戶樂觀,悲觀,態度中立時,與未來52週後(一年)標普500指數報酬相關性。 結論: 發現散戶就是傳說中的反指標。
Thumbnail
多重共線性是指迴歸模型中,自變數(特徵)之間存在高度線性相關的現象,這會導致模型對各變數獨立影響估計的困難,並降低其解釋性和預測能力。本文將探討多重共線性的定義、成因、影響以及如何識別和解決這一問題,從而提升模型的穩定性和準確性。
Thumbnail
多重共線性是指迴歸模型中,自變數(特徵)之間存在高度線性相關的現象,這會導致模型對各變數獨立影響估計的困難,並降低其解釋性和預測能力。本文將探討多重共線性的定義、成因、影響以及如何識別和解決這一問題,從而提升模型的穩定性和準確性。
Thumbnail
監督式學習是機器學習的一種方法,通過利用標註數據進行訓練,模型學習輸入特徵與結果標籤間的關係。此方法分為分類與回歸兩類,並涵蓋了多種算法如線性回歸、邏輯回歸和決策樹等。每種算法各有優缺點,適用於不同的應用場景。學習這些內容有助於理解如何選擇合適的模型以解決實際問題。
Thumbnail
監督式學習是機器學習的一種方法,通過利用標註數據進行訓練,模型學習輸入特徵與結果標籤間的關係。此方法分為分類與回歸兩類,並涵蓋了多種算法如線性回歸、邏輯回歸和決策樹等。每種算法各有優缺點,適用於不同的應用場景。學習這些內容有助於理解如何選擇合適的模型以解決實際問題。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
《貪婪的多巴胺》書中提到,人類起源於非洲大陸,最先遷徙至亞洲、然後是歐洲和美洲,也就是美國人遷徙的距離最遠,同時書中也提及,「美國人比起其他社會擁有更多的多巴胺基因」,而多巴胺扮演著驅使動機的角色,美國擁有全世界最完善新創產業的環境,也有著近百年來最高的股市回報,很難讓人不把多巴胺和生產力串聯起來。
Thumbnail
《貪婪的多巴胺》書中提到,人類起源於非洲大陸,最先遷徙至亞洲、然後是歐洲和美洲,也就是美國人遷徙的距離最遠,同時書中也提及,「美國人比起其他社會擁有更多的多巴胺基因」,而多巴胺扮演著驅使動機的角色,美國擁有全世界最完善新創產業的環境,也有著近百年來最高的股市回報,很難讓人不把多巴胺和生產力串聯起來。
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News