1.介紹
就像聚類是基于鄰近度對數據集進行分區一樣,你可以将PCA看作是對數據中的變化進行分區。PCA是一個很好的工具,可以幫助我們發現數據中的重要關系,也可以用來創建更多的信息特征。(技術說明:PCA通常應用于标準化數據。對于标準化數據,“變化”意味着“相關性”。對于非标準數據,“變化”意味着“協方差”。這兒的數據都為标準化數據。)
2.PCA
Abalone數據集中有幾千隻塔斯馬尼亞鮑魚的物理測量數據(鮑魚是一種海洋生物,很像蛤蜊或牡蛎。)我們現在隻看幾個特征:它們殼的“高度”和“直徑”。
你可以想象,在這些數據中有“變異軸”,它們描述了鮑魚彼此之間的差異。從圖形上看,這些軸顯示為沿着數據的自然維度的垂直線,每個原始特征對應一個軸。
通常,我們可以給這些變化軸命名。我們将長軸稱之為“Size”組件:小高度和小直徑(左下)與大高度和大直徑(右上)。我們稱短軸為“Shape”的組件:小高度和大直徑(扁平形狀)與大高度和小直徑(圓形形狀)。
注意,與其用“高度”和“直徑”來描述鮑魚,不如用“Size”和“形狀"Shape”來描述鮑魚。事實上,這就是主成分分析的全部思想:我們用軸來描述數據,而不是用原始特征來描述數據。變換後的軸成為新的特征。
新特征PCA構造實際上隻是原始特征的線性組合(加權和):
這些新特征被稱為數據的主成分。權重本身稱為loadings。主成分的數量将與原始數據集中的特征數量一樣多:如果我們使用十個特征而不是兩個特征,那麼我們最終将得到十個成分。
這張表告訴我們,在Size構件中,高度和直徑沿同一方向(同一符号)變化,但在Shape構件中,它們沿相反方向(相反符号)變化。在每個分量中,荷載的大小都是相同的,因此特征對兩者的貢獻是相等的。
主成分分析還告訴我們每個成分的變化量。從圖中可以看出,數據沿Size分量的變化比沿Shape分量的變化大。主成分分析通過每個成分的可解釋方差(explained variance)百分比來精确計算。
Size分量捕捉高度和直徑之間的大部分變化。然而,重要的是要記住,一個組成部分的方差量并不一定與它作為一個預測因子的好壞相對應:它取決于你試圖預測什麼。
3.PCA和特征工程
有兩種方法可以将PCA用于特征工程。
第一種方法是使用它作為一種描述性的技術。因為組件告訴你變化,你可以計算組件的MI分數,看看什麼樣的變化最能預測你的目标。這可能會給你一些想法來創建各種特征——比如說,如果“Size”很重要,那麼是“高度”和“直徑”的乘積;如果Shape很重要,那麼是“高度”和“直徑”的比值。您甚至可以嘗試對一個或多個高分組件進行聚類。
第二種方法是使用組件本身作為特征。因為組件直接顯示了數據的變化結構,所以它們通常比原始特征信息更豐富。以下是一些用例:
注意:
4.例子
我們選擇了四個功能,涵蓋了一系列屬性。這些特性中的每一個都有一個很高的MI分數,目标是價格。我們将對數據進行标準化,因為這些特性自然不在同一範圍内。
現在我們可以拟合scikit-learn的PCA估計并創建主成分。你可以在這裡看到轉換數據集的前幾行。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!