一對多多級

本文說明如何使用 Azure Machine Learning 設計工具中的「一對多」多元分類元件。 其目標在於使用「一對多」方法,建立可預測多個類別的分類模型。

當結果取決於連續或類別預測量變數時,此模組可用來建立能夠預測三個或更多可能結果的模型。 此方法也可讓您使用二元分類方法解決需要多個輸出級別的問題。

深入瞭解一對多模型

某些分類演算法允許預設使用兩個以上的類別。 其他分類演算法會將可能的結果限制為兩個值的其中一個 (二元或雙類別模型)。 但即使是二元分類演算法,也可以透過各種策略來調整多類別分類工作。

此模組實作「一對多」方法,針對多個輸出類別中的每個類別,皆會建立一個二進位模型。 元件會根據其互補 (模型中的其他所有類別) 以二元分類問題的方式來評估個別類別的每個二進位模型。 除了其計算效率以外 (僅需要 n_classes 個分類器),這種方法的其中一個優點就是它的可解譯性。 由於每個類別只會以一個分類器表示,因此您可以藉由查看對應的分類器來進一步瞭解該類別。 這是多類別分類最常使用的策略,且是合理的預設選擇。 元件接著會執行這些二進位分類器,並選擇具有最高信賴度分數的預測,以執行預測作業。

本質上而言,元件會以個別模型來建立集團,然後再合併結果以建立可預測所有類別的單一模型。 任何二進位分類器都可用來做為一對多模型的基礎。

例如,假設您設定「二元支援向量機器」模型,並將其提供做為「一對多」多元分類元件的輸入。 元件會針對輸出類別的所有成員,建立二元支援向量機器模型。 然後,其會套用一對多方法來合併所有類別的結果。

此元件使用 sklearn 的 OneVsRestClassifier,您可以在此處深入瞭解詳細資訊。

如何設定「一對多」多元分類分類器

此元件會建立二元分類模型的集團來分析多個類別。 如要使用此元件,您必須先設定和定型二元分類模型。

您可以將二進位模型連線至「一對多」多元分類元件。 然後,您可以使用定型模型搭配已標記的定型資料集來定型模型的集團。

在合併模型時,「一對多」多元分類會建立多個二元分類模型、將每個類別的演算法最佳化,然後再合併模型。 雖然訓練資料集可能會有多個類別值,但元件還是會執行這些工作。

  1. 在設計工具中,將「一對多」多元分類元件新增至您的管線。 您可以在 [分類] 類別中的 [機器學習:初始化] 下找到此元件。

    「一對多」多元分類分類器沒有專屬的可設定參數。 任何自訂皆必須在提供做為輸入的二元分類模型中完成。

  2. 將二元分類模型新增至管線,並設定該模型。 例如,您可能會使用雙類別支援向量機器雙類別促進式決策樹

  3. 將 [定型模型] 元件新增至管線。 連線「一對多」多元分類輸出的未定型分類器。

  4. 在 [定型模型] 的其他輸入上,連線具有多個類別值的已標記定型資料集。

  5. 提交管線。

結果

完成定型之後,您可以使用模型來進行多類別預測。

或者,您可將未定型的分類器傳遞至交叉驗證模型,根據已標記的驗證資料集進行交叉驗證。

後續步驟

請參閱 Azure Machine Learning 可用的元件集