Fisher 線性判別分析
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
識別可將資料分成不同類別之最佳群組的功能變數線性組合
類別: 特徵選取模組
模組概觀
本文說明如何在機器學習 Studio (傳統) 中使用費雪線性判別分析模組,以建立新的功能資料集,以捕捉最能分隔兩個或多個類別的功能組合。
這個方法通常用於縮減維度,因為它會將一組特徵投射至一個較小的特徵空間,同時保留可用來區別各組的資訊。 這不僅可以降低給定分類工作的運算成本,還有助於協助防止過度配適。
若要產生分數,請提供標籤資料行和數值特徵資料行的集合做為輸入。 此演算法會決定最佳的輸入資料行組合,此組合以線性方式區隔每一組資料,同時將各組內的距離縮到最餖。 模組會傳回包含精簡、轉換功能的資料集,以及您可以儲存並套用至另一個資料集的轉換。
深入瞭解線性判別分析
線性判別分析類似于分析變異 (方程式) ,因為它們是藉由比較變數的方式來運作。 就像 ANOVA 一樣,它依賴下列假設:
- 預測量彼此無關
- 每個樣本的條件機率密度函式通常會分散
- 各組之間的變異數類似
線性判別分析有時會縮寫為 LDA,但這很容易與 潛在的狄氏配置混淆。 這些技術完全不同,因此在本檔中,我們會盡可能使用完整名稱。
如何設定線性判別分析
新增您的輸入資料集,並檢查輸入資料是否符合下列需求:
- 您的資料應該盡可能完成。 系統會忽略具有任何遺漏值的資料列。
- 值應為一般分佈。 使用 費雪線性判別分析之前,請先檢查極端值的資料,或測試分佈。
- 您的預測指標應該少於範例。
- 移除任何非數值資料行。 此演算法會檢查輸入中包含的 所有 有效數值資料行,並在包含不正確資料行時傳回錯誤。 如果您需要排除任何數值資料行,請先 在資料集模組中加入選取的資料行 ,再 費雪線性判別分析,以建立只包含您想要分析之資料行的視圖。 您稍後可以使用 [新增資料 行] 重新加入資料行。 保留原始的資料列順序。
連線費雪線性判別分析模組的輸入資料。
針對 [ 類別標籤] 資料行,按一下 [ 啟動資料行選取器 ],然後選擇一個標籤
針對 [ 功能擷取器的數目],輸入您想要的資料行數目作為結果。
例如,如果您的資料集包含八個數值特徵資料行,您可以鍵入
3
將它們折迭為只有三個數據行的新精簡功能空間。請務必瞭解,輸出資料行不會完全對應至輸入資料行,而是表示輸入資料行中值的精簡轉換。
如果您使用0作為 特徵擷取器數目的值,並使用 n 個數據行做為輸入,則會傳回 n 個特徵擷取器,其中包含代表 n 維度功能空間的新值。
執行實驗。
結果
演算法會決定輸入資料行中的值組合,這些值會以線性方式分隔每個資料群組,同時將每個群組內的距離降到最低,並建立兩個輸出:
轉換的功能。 包含指定數目之功能解壓縮程式資料行的資料集,名為 col1、 col2、 col3等等。 輸出也包含類別或標籤變數。
您可以使用這組精簡的值來定型模型。
費雪線性判別分析轉換。 您可以儲存然後套用至具有相同架構之資料集的轉換。 如果您要分析多個相同類型的資料集,而且想要將相同的功能減少套用到每個資料集,這會很有用。 您套用它的資料集應該具有相同的架構。
範例
如需機器學習中特徵選取的範例,請參閱 Azure AI 資源庫:
- 費雪線性判別分析:示範如何使用此模組來減少維度。
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
使用提示
這個方法只適用於連續變數,而不是類別或序數變數。
計算轉換矩陣時會忽略含有遺漏值的資料列。
如果您從實驗儲存轉換,從原始實驗計算的轉換會重新套用至每一組新的資料,而且不會重新計算。 因此,如果您想要計算每個資料集的新功能集,請針對每個資料集使用新的 費雪線性判別分析 實例。
實作詳細資料
特徵的資料集會使用 特徵向量進行轉換。 輸入資料集的特徵向量是根據提供的特徵資料行(也稱為辨識 矩陣)來計算。
模組的轉換輸出包含這些特徵向量,可加以套用以轉換具有相同架構的另一個資料集。
如需如何計算特徵值的詳細資訊,請參閱這份檔 (PDF) : 適用于分類的 Eigenvector 型功能解壓縮。 Puuronen Tymbal 等。
預期的輸入
名稱 | 類型 | 說明 |
---|---|---|
資料集 | 資料表 | 輸入資料集 |
模組參數
名稱 | 類型 | 範圍 | 選擇性 | 預設 | 描述 |
---|---|---|---|---|---|
分類標籤資料行 | ColumnSelection | 必要 | 無 | 選取包含類別分類標籤的資料行 | |
功能擷取器的數目 | 整數 | >=0 | 必要 | 0 | 若要使用的功能擷取器的數目。 如果是零,則所有的功能擷取器會使用 |
輸出
名稱 | 類型 | 說明 |
---|---|---|
已轉換的特徵 | 資料表 | 費雪線性判別分析功能已轉換為 eigenvector 空間 |
費雪線性判別方法分析轉換 | ITransform 介面 | 費雪線性判別方法分析的轉換 |
例外狀況
例外狀況 | 描述 |
---|---|
錯誤 0001 | 如果找不到資料集的一或多個指定的資料行,就會發生例外狀況。 |
錯誤 0003 | 如果一或多個輸入為 Null 或空白,就會發生例外狀況。 |
錯誤 0017 | 如果一或多個指定的資料行具有目前模組不支援的類型,就會發生例外狀況。 |
如需 Studio (傳統) 模組特定的錯誤清單,請參閱機器學習錯誤碼。
如需 API 例外狀況的清單,請參閱機器學習 REST API 錯誤碼。