特徵分塊

讓我們先快速複習機器學習密集課程中的關鍵構想。請查看下圖中的分佈情形。

每塊緯度的房子。該地圖高度不規律,包含緯度 36 度的界線,以及緯度 34 和 38 周圍的巨大峰值。 圖 1:房價與緯度的比較。

 

針對以下問題,按一下想要的箭頭即可查看答案:

請見圖 1。如果您認為緯度是房屋值的預測值,應該將緯度視為浮點值嗎?原因為何?(假設這是線性模式)。
是:如果緯度是資料集中的浮點值,請不要變更。
如果您將這些浮點值提供給您的網路,它會嘗試嘗試特徵與標籤之間的線性關係。但是線性關係不太可能就代表緯度。 非線性行為。
否 - 緯度和房子值之間沒有線性關係。
您懷疑個別經緯度值與相關值有關,但關係並非線性關係。

以緯度範例為例,您必須將緯度分成多個值區,藉此瞭解每個值區的大小寫值不同。使用一組門檻將數值特徵轉換為類別特徵,稱為特徵分塊 (或特徵分塊)。在這個值區示例中,邊界會相等。

緯度與房屋價格的上圖相同。但這次,圖形會分為 11 個和 21 分之間的整數。

 

圖 2:房價和緯度的比較,現在是分為區塊。

分位數區塊

讓我們來重新檢查加入價格區間的車輛價格資料集。每個值區使用一個特徵,模型會使用 45000 個範圍內單一範例的容量,以供 5000 至 10000 個範圍內的所有範例使用。看起來很浪費。我們可以如何改善這種情況?

按車輛價格售出的車輛數量圖。該圖分為 10 個等量區間,範圍為 5000 (汽車價格)。前三個值區含有許多範例,但最後七個值區僅含有極少數例子。

圖 3:以不同價格販售的車輛數量。

 

問題是,空間相同的值區無法妥善擷取這個分佈情形。解決方法是建立值區,這些值區具有相同的點數。這項技術稱為「分位數分區。例如,下圖將車輛價格分為四分位數值區。為了在各個值區中提供相同數量的樣本,部分值區涵蓋的價格範圍較小,而其他值區則涵蓋非常寬的價格範圍。

與圖 3 相同,但分位數值區除外。也就是說,值區現在有多種大小。最小值區的範圍是約 1000 美元,最大值區的範圍約為 25,000 美元。現在,每個值區中的車輛數量大致相同。

圖 4:分位數特徵分塊代表每輛車的車輛數量相同。

特徵分塊摘要

如果您選擇將數值特徵分片,請清楚說明設定邊界的方式,以及要套用的值區類型:

  • 邊界相同的值區:邊界是固定的,且包含相同的範圍,例如 0 到 4 度、5 到 9 度和 10 到 14 度,或是 $5,000 - $9,999、$10,000 - $14,909 和 $19,999。部分值區可能包含許多點,而其他值區則可能只有少部分或甚至部分。
  • 具有分位數邊界的值區:每個值區的點數量相同。邊界不是固定的,因此包含窄或寬的值值。