序數特徵 是什麼?

Ordinal Feature — 序數特徵 的完整解釋

一種具有明確順序或等級關係,但數值間距不一定均等的類別型資料。

核心概念

序數特徵(Ordinal Feature),又稱順序特徵,是資料科學和機器學習中一種重要的資料類型。它指的是那些具有明確的順序或等級關係,但這些等級之間的數值間距或差異不一定具有等距意義的類別型資料。換句話說,我們可以對序數特徵的值進行排序,判斷哪個值「大於」或「優於」另一個值,但我們不能說兩個值之間的「距離」是固定的或有意義的。例如,教育程度可以分為「小學、中學、大學、碩士、博士」,這是一個明確的順序,博士學歷高於碩士。然而,我們不能說「大學」和「碩士」之間的「學歷差距」與「小學」和「中學」之間的差距是等價的數值。這與名目特徵(Nominal Feature)不同,名目特徵只有類別區分而無順序(如顏色:紅、綠、藍)。也與區間特徵(Interval Feature)和比例特徵(Ratio Feature)不同,後兩者不僅有順序,其數值間距和比例也具有數學意義(如溫度、身高)。理解序數特徵的特性對於在機器學習模型中正確處理它們至關重要,因為錯誤的處理方式可能導致模型性能下降或解釋性偏差。

運作原理

處理序數特徵的關鍵在於如何在保留其內在順序性的同時,將其轉換為機器學習模型可以理解的數值格式。以下是幾種常見的處理方法:

  1. 標籤編碼(Label Encoding):這是最簡單的方法,將每個序數類別映射到一個整數。例如,「小學」=1,「中學」=2,「大學」=3,依此類推。這種方法的優點是簡單且不增加特徵維度。然而,它會賦予這些整數值一種數值上的大小關係,如果模型是基於距離或梯度下降的(如線性迴歸、支援向量機、神經網路),它可能會錯誤地將「3-2」的差異等同於「2-1」的差異,即使在原始序數意義上這是不成立的。這可能導致模型學習到錯誤的權重或關係。
  2. 自定義映射(Custom Mapping):如果標籤編碼的數值間距問題令人擔憂,可以手動為每個序數類別分配一個具有意義的數值。例如,對於滿意度「非常不滿意、不滿意、一般、滿意、非常滿意」,可以分別映射為 1, 2, 3, 4, 5。這種方法需要領域知識來確定合適的數值,但它能更好地反映真實的順序和可能的間距。
  3. 獨熱編碼(One-Hot Encoding):將每個序數類別轉換為一個二元(0/1)特徵。例如,對於教育程度,會創建「is_primary_school」、「is_middle_school」等新特徵。這種方法避免了標籤編碼引入的錯誤數值關係,但它會丟失原始特徵的順序信息,並且會顯著增加特徵維度,可能導致「維度災難」,尤其是在類別數量很多時。對於序數特徵,獨熱編碼通常不是最佳選擇,因為它未能利用其順序信息。
  4. 目標編碼(Target Encoding)/ 均值編碼(Mean Encoding):這種方法用目標變數的平均值(或其他統計量)來替換類別值。例如,將「小學」替換為所有小學學歷用戶的平均收入。這種方法可以捕捉類別與目標之間的關係,但存在目標洩漏的風險,尤其是在訓練集和測試集劃分不當或交叉驗證處理不當時。
  5. WOE (Weight of Evidence) 編碼:常用於信用評分模型,它將每個類別替換為其與目標變數(通常是二元分類)的對數機率比。這是一種更複雜的編碼方式,能有效捕捉類別的預測能力。
  6. 樹模型(Tree-based Models):決策樹、隨機森林、梯度提升樹等模型對序數特徵的處理方式有所不同。它們在分裂節點時,會尋找最佳的閾值來劃分類別,並能自然地處理序數關係,即使是標籤編碼的序數特徵,樹模型也能較好地利用其順序信息,因為它們不是基於距離或線性組合來運作的。

實際應用

序數特徵在許多實際應用中都非常常見:

  • 問卷調查與評分系統:例如,李克特量表(Likert scale)中的「非常同意、同意、中立、不同意、非常不同意」,或產品滿意度評級「1星到5星」。這些都是典型的序數特徵,具有明確的順序。
  • 教育與社會經濟數據:教育程度(小學、中學、大學、碩士、博士)、收入等級(低、中、高)、社會經濟地位分類等。
  • 醫療與健康數據:疾病嚴重程度(輕度、中度、重度)、疼痛等級(輕微、中等、劇烈)、體能狀況(差、一般、好)。
  • 產品與服務評級:電影評級(G、PG、PG-13、R、NC-17)、餐廳衛生評級(A、B、C)、產品尺寸(S、M、L、XL)。
  • 天氣預報:風力等級(微風、和風、強風)、降雨強度(小雨、中雨、大雨)。
  • 推薦系統:用戶對物品的偏好等級。

常見誤區

處理序數特徵時,如果不理解其特性,容易陷入以下誤區:

  1. 將序數特徵視為名目特徵:如果對序數特徵進行獨熱編碼,雖然避免了錯誤的數值關係,但卻丟失了其內在的順序信息,這可能導致模型需要更多的數據來學習這些關係,或者根本無法有效利用這些信息。
  2. 將序數特徵視為數值特徵:直接對序數特徵進行標籤編碼,並將其輸入到對數值間距敏感的模型(如線性模型、K近鄰、神經網路)中,會導致模型錯誤地假設這些數值間距是等距且有意義的。例如,將「小學=1,中學=2,大學=3」直接用於線性迴歸,模型會認為「小學到中學」的影響與「中學到大學」的影響是相同的,這通常是不準確的。
  3. 忽略領域知識:在沒有足夠領域知識的情況下,盲目選擇編碼方式。例如,在某些情況下,序數特徵的等級間距可能確實有近似的等距意義(如某些評分量表),此時標籤編碼可能表現不錯。但在其他情況下,間距完全不具意義,則需要更謹慎的處理。
  4. 不處理缺失值:序數特徵的缺失值處理也很重要。簡單地填充眾數或中位數可能不總是最佳選擇,有時需要更複雜的估計方法或將缺失值視為一個單獨的類別。
  5. 在特徵縮放時的影響:如果對標籤編碼後的序數特徵進行標準化或正規化,可能會進一步扭曲其原始的順序關係,尤其是在與其他數值特徵一起縮放時。

與相關技術的比較

序數特徵的處理與其他資料類型和特徵工程技術密切相關:

  • 名目特徵(Nominal Feature):名目特徵只有類別區分,沒有順序關係。例如,顏色、國家、性別。處理名目特徵時,獨熱編碼是常見且安全的選擇,因為它不會引入任何虛假的順序。而序數特徵則需要保留其順序信息,因此獨熱編碼通常不是最優解。
  • 區間特徵(Interval Feature)與比例特徵(Ratio Feature):這兩類特徵是數值型的,不僅有順序,而且數值間距(區間特徵)或比例(比例特徵)具有數學意義。例如,溫度(區間)和身高(比例)。它們可以直接用於大多數機器學習模型,並可以進行加減乘除等數學運算。序數特徵則不能直接進行這些運算,其數值轉換需要謹慎。
  • 特徵工程(Feature Engineering):序數特徵的編碼是特徵工程的一個重要環節。好的特徵工程能夠將原始數據轉換為模型更容易學習的格式。對於序數特徵,選擇正確的編碼策略是特徵工程的關鍵一步。
  • 特徵縮放(Feature Scaling):對於經過標籤編碼的序數特徵,如果將其視為數值特徵並進行縮放(如標準化、歸一化),可能會影響模型對其權重的學習。通常,樹模型對特徵縮放不敏感,而線性模型和神經網路則對其敏感。
  • 模型選擇(Model Selection):不同的機器學習模型對序數特徵的處理能力不同。樹模型通常能更好地處理標籤編碼的序數特徵,因為它們通過閾值分裂來利用順序信息。而線性模型或基於距離的模型則需要更精細的編碼(如自定義映射)來避免引入錯誤的數值關係。

序數特徵 在 iPAS 考試中的重點

根據歷年統計,序數特徵 相關題目 屬於未分類考範圍。

常見問題

資料來源

← 回到 序數特徵 快查頁

測驗你對 序數特徵 的理解

透過模擬考系統檢驗學習成果

開始測驗