NaiveBayesMulticlassTrainer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
用於 IEstimator<TTransformer> 訓練支援二元特徵值的多類別 Naive Bayes 模型。
public sealed class NaiveBayesMulticlassTrainer : Microsoft.ML.Trainers.TrainerEstimatorBase<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.NaiveBayesMulticlassModelParameters>,Microsoft.ML.Trainers.NaiveBayesMulticlassModelParameters>
type NaiveBayesMulticlassTrainer = class
inherit TrainerEstimatorBase<MulticlassPredictionTransformer<NaiveBayesMulticlassModelParameters>, NaiveBayesMulticlassModelParameters>
Public NotInheritable Class NaiveBayesMulticlassTrainer
Inherits TrainerEstimatorBase(Of MulticlassPredictionTransformer(Of NaiveBayesMulticlassModelParameters), NaiveBayesMulticlassModelParameters)
- 繼承
-
TrainerEstimatorBase<MulticlassPredictionTransformer<NaiveBayesMulticlassModelParameters>,NaiveBayesMulticlassModelParameters>NaiveBayesMulticlassTrainer
備註
要建立這個訓練器,請使用 NaiveBayes。
輸入與輸出欄位
輸入標籤欄位資料必須是 鍵 型別,特徵欄位必須是已知大小的 Single向量。
此訓練器會輸出下列欄位:
| 輸出數據行名稱 | 欄類型 | Description |
|---|---|---|
Score |
Single 向量 | 所有班級的分數。 較高的值表示較高的機率會落入相關聯的類別。 若第 i 個元素值最大,預測標籤索引為 i。 請注意,i 是以零為基礎的指標。 |
PredictedLabel |
金鑰 類型 | 預測標籤的索引。 若其值為 i,實際標籤將是鍵值輸入標籤類型中的第 i 個類別。 |
訓練師特性
| 機器學習任務 | 多類別分類 |
| 需要正規化嗎? | Yes |
| 快取是必須的嗎? | No |
| 除了 Microsoft.ML 之外,必須使用 NuGet | None |
| 可匯出至 ONNX | Yes |
訓練演算法細節
朴素貝葉斯 是一種機率分類器,可用於多類別問題。
利用貝氏定理,可根據每個特徵組合群的樣本數計算屬於某類的樣本條件機率。
然而,朴素貝葉斯分類器只有在每個特徵可取的特徵數量和取值相對較少的情況下才可行。
它假設類別中特徵的存在存在是獨立的,即使它們彼此相互依賴。
此多類別訓練器接受「二元」特徵值為浮點數:大於零的特徵值視為 true ,小於或等於0的特徵值視為 false。
請參考「參見」區塊,裡面有使用範例的連結。
欄位
| 名稱 | Description |
|---|---|
| FeatureColumn |
訓練師期待的特色欄。 (繼承來源 TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
訓練師期望的標籤欄。 可以是 |
| WeightColumn |
訓練師預期的體重欄。 可以是 |
屬性
| 名稱 | Description |
|---|---|
| Info |
關於訓練機的輔助資訊,包括其能力與需求。 |
方法
| 名稱 | Description |
|---|---|
| Fit(IDataView) |
訓練並返回 ITransformer。 (繼承來源 TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
用於 IEstimator<TTransformer> 訓練支援二元特徵值的多類別 Naive Bayes 模型。 (繼承來源 TrainerEstimatorBase<TTransformer,TModel>) |
擴充方法
| 名稱 | Description |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
在估計鏈中附加一個「快取檢查點」。 這將確保下游估計器能針對快取資料進行訓練。 在訓練師接受多次資料通行前設置快取檢查點會很有幫助。 |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
給定一個估計器,回傳一個包裹物件,該物件會呼叫一次 Fit(IDataView) 代理。 估計器通常回傳擬合的資訊很重要,因此該 Fit(IDataView) 方法回傳一個特定型別的物件,而非一般 ITransformer的 。 然而,同時, IEstimator<TTransformer> 通常會被組成包含許多物件的管線,因此我們可能需要建立一條估計鏈,將 EstimatorChain<TLastTransformer> 我們想要取得變壓器的估計器埋藏在這條鏈的某處。 在這種情況下,我們可以透過此方法附加一個代理,當 fit 被呼叫時會被呼叫。 |