「一對多」多元分類
本文說明如何在 Azure 機器學習 設計工具中使用 One-vs-All Multiclass 元件。 目標是使用一對全方法,建立可預測多個類別的分類模型。
當結果相依於連續或類別預測變數時,此元件可用於建立預測三個或多個可能結果的模型。 這個方法也可讓您針對需要多個輸出類別的問題使用二元分類方法。
更多關於一對全模型
某些分類演算法允許依設計使用兩個以上的類別。 其他方法會將可能的結果限製為兩個值的其中一個(二進位或兩個類別模型)。 但即使是二元分類演算法也可以透過各種策略來適應多類別分類工作。
此元件會實作一對全方法,其中會針對每個輸出類別建立二進位模型。 元件會根據個別類別的補碼評估每個二進位模型(模型中的所有其他類別),就像是二元分類問題一樣。 除了其計算效率(只需要 n_classes
分類器),這種方法的其中一個優點是其可解釋性。 由於每個類別只以一個和一個分類器表示,因此可以藉由檢查其對應的分類器來取得該類別的知識。 這是多類別分類最常使用的策略,而且是公平的默認選擇。 接著,元件會執行這些二進位分類器,然後選擇具有最高信賴分數的預測來執行預測。
基本上,元件會建立個別模型合奏,然後合併結果,以建立可預測所有類別的單一模型。 任何二進位分類器都可以做為一對全模型的基礎。
例如,假設您已設定 雙類別支援向量機器 模型,並提供該模型做為 One-vs-All Multiclass 元件的輸入。 元件會為輸出類別的所有成員建立兩個類別的支援向量機器模型。 然後,它會套用一對全部方法,以合併所有類別的結果。
此元件使用 sklearn 的 OneVsRestClassifier,您可以在這裡深入瞭解詳細數據。
如何設定 One-vs-All Multiclass 分類器
此元件會建立二元分類模型的合奏,以分析多個類別。 若要使用此元件,您必須先設定和定 型二元分類 模型。
您可以將二進位模型連接到 One-vs-All Multiclass 元件。 接著,您可以使用定型模型搭配加上標籤的定型數據集,來定型模型的合奏。
當您合併模型時,One-vs-All Multiclass 會建立多個二元分類模型、優化每個類別的演算法,然後合併模型。 元件會執行這些工作,即使定型數據集可能有多個類別值。
將 One-vs-All Multiclass 元件新增至設計工具中的管線。 您可以在 [分類] 類別的 [機器學習 - 初始化] 下找到此元件。
One-vs-All Multiclass 分類器本身沒有可設定的參數。 任何自定義都必須在提供做為輸入的二元分類模型中完成。
將 定型模型 元件新增至管線。 連接未定型分類器,這是 One-vs-All Multiclass 的輸出。
在訓練模型的另一個輸入上,連接具有多個類別值的已標記定型數據集。
提交管線。
結果
定型完成後,您可以使用模型進行多類別預測。
或者,您可以將未定型分類器傳遞至 交叉驗證模型 ,以針對標示的驗證數據集進行交叉驗證。