Microsoft 朴素贝叶斯分類演算法是由 Microsoft SQL Server 分析服務提供的,用於預測建模的分類演算法。 演算法會計算輸入和可預測數據行之間的條件機率,並假設數據行是獨立的。 這種獨立假設導致了「簡單貝氏」名稱的由來。
實作 Microsoft 樸素貝氏演算法
此演算法的計算強度比其他Microsoft演算法少,因此有助於快速產生採礦模型,以探索輸入數據行與可預測數據行之間的關聯性。 演算法會考慮每對輸入屬性值和輸出屬性值。
貝氏定理的數學屬性描述超出本檔的範圍;如需詳細資訊,請參閱Microsoft研究標題為 學習貝氏網路:知識與統計數據的組合的論文。
如需所有模型中機率如何調整以考慮潛在遺漏值的描述,請參閱遺漏值(Analysis Services - 數據採礦)。
特徵選取
Microsoft貝氏機率分類演算法會執行自動特徵選取,以限制建置模型時所考慮的值數目。 如需詳細資訊,請參閱特徵選取(數據採礦)。
| 演算法 | 分析方法 | 評論 |
|---|---|---|
| 貝氏機率分類 | 香農的熵 貝葉斯與 K2 先驗 貝氏迪里希萊特,均勻先驗(預設值) |
朴素貝葉斯只接受離散屬性或離散化屬性,因此,它無法使用有趣度分數。 |
此演算法的設計目的是將處理時間降至最低,並有效率地選取具有最大重要性的屬性:不過,您可以藉由設定參數,以控制演算法所使用的數據,如下所示:
若要限制做為輸入的值,請減少MAXIMUM_INPUT_ATTRIBUTES的值。
若要限制模型分析的屬性數目,請減少MAXIMUM_OUTPUT_ATTRIBUTES的值。
若要限制任何一個屬性可以考慮的值數目,請減少MINIMUM_STATES的值。
調整樸素貝氏演算法
Microsoft貝氏機率分類演算法支援數個會影響結果採礦模型行為、效能和精確度的參數。 您也可以在模型數據行上設定模型旗標來控制數據的處理方式,或在採礦結構上設定旗標,以指定應該如何處理遺漏值或 Null。
設定演算法參數
Microsoft貝氏機率分類演算法支援數個會影響結果採礦模型效能和精確度的參數。 下表描述每個參數。
最大輸入屬性
指定演算法在叫用特徵選取之前可以處理的最大輸入屬性數目。 將此值設定為 0 會停用輸入屬性的功能選取。
預設值為 255。
MAXIMUM_OUTPUT_ATTRIBUTES
指定演算法在叫用特徵選取之前可以處理的最大輸出屬性數目。 將此值設定為 0 會停用輸出屬性的功能選取。
預設值為 255。
最低依賴概率
指定輸入和輸出屬性之間的最小相依性機率。 這個值用來限制演算法所產生的內容大小。 這個屬性可以從 0 設定為 1。 較大的值會減少模型內容中的屬性數目。
預設值為 0.5。
MAXIMUM_STATES
指定演算法所支援的屬性狀態數目上限。 如果屬性的狀態數目大於狀態數目上限,則演算法會使用屬性最受歡迎的狀態,並將其餘狀態視為遺漏。
預設值為 100。
模型旗標
Microsoft判定樹演演算法支援下列模型旗標。 當您建立採礦結構或採礦模型時,您可以定義模型旗標,以指定在分析期間處理每個數據行中的值的方式。 如需詳細資訊,請參閱模型旗標(數據採礦)。
| 模型旗標 | 說明 |
|---|---|
| MODEL_EXISTENCE_ONLY | 表示該列會被視為有兩種可能的狀態:缺失和存在。 Null 是遺漏值。 適用於採礦模型欄。 |
| 不可為空 | 表示欄位不能包含 Null。 如果 Analysis Services 在模型定型期間遇到 Null,將會產生錯誤。 適用於採礦結構欄位。 |
需求
朴素貝葉斯樹模型必須包含主要鍵欄位、至少一個可預測屬性,以及至少一個輸入屬性。 沒有屬性可以是連續的;如果您的數據包含連續數值數據,則會予以忽略或離散化。
輸入和預測欄位
Microsoft簡單貝氏分類演算法支援下表所列的特定輸入欄位和可預測欄位。 如需在採礦模型中使用內容類型的意義詳細資訊,請參閱內容類型(數據採礦)。
| 資料行 | 內容類型 |
|---|---|
| 輸入屬性 | 迴圈、離散、離散、離散化、索引鍵、數據表和排序 |
| 可預測屬性 | 週期性、離散、離散化、表格和已排序 |
備註
支援迴圈和已排序的內容類型,但演算法會將它們視為離散值,而且不會執行特殊處理。
另請參閱
Microsoft朴素貝氏演算法
朴素貝氏模型查詢範例
樸素貝葉斯模型的採礦模型內容(Analysis Services - 資料探勘)