本主題描述特定於使用 Microsoft Naive Bayes 演算法的模型的採礦模型內容。 如需如何解譯所有模型類型所共用之統計數據和結構的說明,以及採礦模型內容相關詞彙的一般定義,請參閱採礦模型內容(Analysis Services - 數據採礦)。
了解朴素貝葉斯模型的結構
貝氏機率分類模型具有單一父節點,代表模型及其元數據,以及該父節點底下代表您所選取之可預測屬性的任何數目獨立樹狀結構。 除了屬性的樹狀結構之外,每個模型還包含一個臨界統計數據節點(NODE_TYPE = 26),可提供一組定型案例的描述性統計數據。 如需詳細資訊,請參閱 臨界統計數據節點中的資訊。
針對每個可預測的屬性和值,模型會輸出一個樹狀結構,其中包含描述各種輸入數據行如何影響該特定可預測結果的資訊。 每個樹狀結構都包含可預測的屬性及其值(NODE_TYPE = 9),然後是一系列代表輸入屬性的節點(NODE_TYPE = 10)。 由於輸入屬性通常有多個值,因此每個輸入屬性 (NODE_TYPE = 10) 可能有多個子節點 (NODE_TYPE = 11),每個都針對屬性的特定狀態。
備註
因為貝氏機率分類模型不允許連續數據類型,因此輸入數據行的所有值都會被視為離散或離散化。 您可以指定如何離散化值。 如需了解更多,請變更採礦模型中欄位的離散化方法。
樸素貝氏模型內容結構
** 朴素貝氏模型的相關內容
本節僅針對採礦模型內容中與貝氏機率分類模型具有特定相關性的數據行提供詳細數據和範例。
如需架構數據列集中一般用途數據行的相關信息,例如MODEL_CATALOG和MODEL_NAME,此處未描述,或如需採礦模型術語的說明,請參閱採礦模型內容(Analysis Services - 數據採礦)。
模型目錄
儲存模型的資料庫名稱。
MODEL_NAME
模型的名稱。
ATTRIBUTE_NAME
對應至此節點的屬性名稱。
模型根目錄 可預測屬性的名稱。
臨界統計數據 不適用
可預測屬性 可預測屬性的名稱。
輸入屬性 輸入屬性的名稱。
輸入屬性狀態 僅限輸入屬性的名稱。 若要取得狀態,請使用 MSOLAP_NODE_SHORT_CAPTION。
NODE_NAME
節點的名稱。
此數據列包含與NODE_UNIQUE_NAME相同的值。
如需節點命名慣例的詳細資訊,請參閱 使用節點名稱和標識碼。
節點_唯一名稱
節點的唯一名稱。 唯一名稱會根據提供節點間關聯性相關信息的慣例來指派。 如需節點命名慣例的詳細資訊,請參閱 使用節點名稱和標識碼。
節點類型
朴素貝氏模型會生成下列節點類型:
| 節點類型標識碼 | 說明 |
|---|---|
| 26 (NaiveBayesMarginalStatNode) | 包含描述模型之整個定型案例集的統計數據。 |
| 9 (可預測屬性) | 包含可預測屬性的名稱。 |
| 10 (輸入屬性) | 包含輸入屬性數據行的名稱,以及包含屬性值的子節點。 |
| 11 (輸入屬性狀態) | 包含與特定輸出屬性配對之所有輸入屬性的值或離散化值。 |
節點標題
與節點相關聯的標籤或標題。 此屬性主要是為了顯示目的。
模型根空白
臨界統計數據 空白
可預測屬性 可預測屬性的名稱。
輸入屬性 可預測屬性的名稱和目前的輸入屬性。 例如:
自行車購買者 -> 年齡
輸入屬性狀態 可預測屬性和目前輸入屬性的名稱,加上輸入的值。 例如:
自行車購買者 -> 年齡 = 缺失
子節點數量
節點擁有的子係數目。
模型根目錄 模型中的可預測屬性計數加上1個臨界統計數據節點。
臨界統計數據 根據定義,沒有子系。
可預測屬性 與目前可預測屬性相關的輸入屬性計數。
輸入屬性 目前輸入屬性的離散或離散化值計數。
輸入屬性狀態 一律為 0。
父級唯一名稱
父節點的唯一名稱。 如需有關父節點和子節點的詳細資訊,請參閱 使用節點名稱和標識符。
節點描述
與節點標題相同。
NODE_RULE
節點標題的 XML 表示。
邊際規則
與節點規則相同。
NODE_PROBABILITY
與此節點相關聯的機率。
模型根目錄 一律為 0。
臨界統計數據 一律為 0。
可預測屬性 一律為 1。
輸入屬性 一律為 1。
輸入屬性狀態 十進位數,表示目前值的機率。 父輸入屬性節點下所有輸入屬性狀態的值加總為 1。
邊際機率
與節點機率相同。
節點分佈
包含節點機率直方圖的數據表。 如需詳細資訊,請參閱 NODE_DISTRIBUTION 數據表。
節點支援
支援此節點的案例數目。
模型基礎 訓練數據中所有案例的計數。
臨界統計數據 一律為 0。
可預測屬性 在訓練數據中的所有案例計數。
輸入屬性 訓練數據中所有案例的計算。
輸入屬性狀態 在訓練數據中只包含這個特定值的案例的計數。
MSOLAP模型欄位
用於顯示用途的標籤。 通常與ATTRIBUTE_NAME相同。
MSOLAP_NODE_SCORE
表示模型內屬性或值的重要性。
模型根目錄 一律為 0。
臨界統計數據 一律為 0。
可預測屬性 一律為 0。
輸入屬性 與目前可預測屬性相關的目前輸入屬性的有趣度分數。
輸入屬性狀態 一律為 0。
MSOLAP_NODE_SHORT_CAPTION
表示數據行名稱或值的文字字串。
模型根目錄 空白
臨界統計數據 空白
可預測屬性 可預測屬性的名稱。
輸入屬性 輸入屬性的名稱。
輸入屬性狀態 輸入屬性的值或離散化值。
使用節點名稱和識別碼
貝氏機率分類模型中的節點命名會提供節點類型的其他資訊,讓您更容易瞭解模型中資訊之間的關聯性。 下表顯示指派給不同節點類型之標識符的慣例。
| 節點類型 | 節點標識碼的慣例 |
|---|---|
| 模型根目錄 (1) | 一律是 0。 |
| 臨界統計數據節點 (26) | 任意標識碼值。 |
| 可預測屬性 (9) | 從 10000000 開始的十六進位數位 範例:100000001,10000000b |
| 輸入屬性 (10) | 兩部分十六進位數,其中第一個部分一律為 20000000,而第二個部分會以相關可預測屬性的十六進位標識符開頭。 範例:20000000b00000000 在此情況下,相關的可預測屬性為100000000b。 |
| 輸入屬性狀態 (11) | 三部分十六進位數位,其中第一個部分一律為 30000000,第二個部分會以相關可預測屬性的十六進位標識符開頭,而第三個部分則代表值的標識符。 範例:30000000b00000000020000000 在此情況下,相關的可預測屬性為100000000b。 |
您可以使用識別碼,將輸入屬性和狀態與可預測的屬性產生關聯。 例如,下列查詢會傳回節點的名稱和標題,這些節點代表模型之輸入和可預測屬性的可能組合。 TM_NaiveBayes
SELECT NODE_NAME, NODE_CAPTION
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 10
預期的結果:
| 節點名稱 | 節點標題 |
|---|---|
| 20000000000000001 | 自行車買家 -> 通勤距離 |
| 20000000000000002 | 自行車購買者 -> 英文教育 |
| 20000000000000003 | 自行車買家 -> 英文職業 |
| 20000000000000009 | 自行車買家 -> 婚姻狀態 |
| 2000000000000000a | 自行車買家 -> 家庭兒童數量 |
| 2000000000000000b | 自行車買家 -> 地區 |
| 2000000000000000c | 自行車購買者 -> 兒童總數 |
然後,您可以使用父節點的標識符來擷取子節點。 下列查詢會擷取包含 屬性值的 Marital Status 節點,以及每個節點的機率。
SELECT NODE_NAME, NODE_CAPTION, NODE_PROBABILITY
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 11
AND [PARENT_UNIQUE_NAME] = '20000000000000009'
備註
欄位名稱PARENT_UNIQUE_NAME必須以中括號括起來,以便與相同名稱的保留關鍵字區別。
預期的結果:
| NODE_NAME | 節點標題 | 節點概率 |
|---|---|---|
| 3000000000000000900000000 | Bike Buyer -> 婚姻狀態 = 缺失 | 0 |
| 3000000000000000900000001 | Bike Buyer -> 婚姻狀態 = 未婚 | 0.457504004 |
| 3000000000000000900000002 | Bike Buyer -> 婚姻狀態=已婚 | 0.542495996 |
NODE_DISTRIBUTION數據表
巢狀數據表數據行NODE_DISTRIBUTION通常包含節點中值分佈的相關統計數據。 在朴素貝氏模型中,此數據表僅針對下列節點填入:
| 節點類型 | 巢狀數據表的內容 |
|---|---|
| 模型根目錄 (1) | 空白。 |
| 臨界統計數據節點 (24) | 針對整組訓練數據集,包含所有可預測屬性和輸入屬性的摘要資訊。 |
| 可預測屬性 (9) | 空白。 |
| 輸入屬性 (10) | 空白。 |
| 輸入屬性狀態 (11) | 包含描述此可預測值與輸入屬性值組合在訓練數據中數值分佈的統計數據。 |
您可以使用節點識別碼或節點標題來擷取增加的詳細數據層級。 例如,下列查詢只會針對與值 'Marital Status = S'相關的輸入屬性節點,從 NODE_DISTRIBUTION 數據表擷取特定數據行。
SELECT FLATTENED NODE_CAPTION,
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE
FROM NODE_DISTRIBUTION) as t
FROM TM_NaiveBayes.content
WHERE NODE_TYPE = 11
AND NODE_CAPTION = 'Bike Buyer -> Marital Status = S'
預期的結果:
| NODE_CAPTION | t.ATTRIBUTE_NAME | t.ATTRIBUTE_VALUE | t.SUPPORT | t.概率 | t.VALUETYPE |
|---|---|---|---|---|---|
| 自行車購買者 -> 婚姻狀態 = 單身 | 買車者 | 失蹤 | 0 | 0 | 1 |
| Bike Buyer -> 婚姻狀態:單身 | 自行車買家 | 0 | 3783 | 0.472934117 | 4 |
| Bike Buyer -> 婚姻狀態:未婚 | 自行車買家 | 1 | 4216 | 0.527065883 | 4 |
在這些結果中,SUPPORT 欄中的值會告訴您具有指定婚姻狀態並購買自行車的客戶計數。 PROBABILITY 數據行包含每個屬性值的機率,僅針對這個節點計算。 如需NODE_DISTRIBUTION數據表中所用詞彙的一般定義,請參閱採礦模型內容(Analysis Services - 數據採礦)。
臨界統計數據節點中的資訊
在朴素貝氏模型中,邊際統計節點的巢狀數據表包含整個訓練數據集的值分佈。 例如,下表包含模型巢狀NODE_DISTRIBUTION資料表中統計資料的部分清單: TM_NaiveBayes
| ATTRIBUTE_NAME | 屬性值 | 支援 | 概率 | 方差 | 數值類型 |
|---|---|---|---|---|---|
| 自行車買家 | 失蹤 | 0 | 0 | 0 | 1 |
| 自行車買家 | 0 | 8869 | 0.507263784 | 0 | 4 |
| 自行車買家 | 1 | 8615 | 0.492736216 | 0 | 4 |
| 婚姻狀況 | 失蹤 | 0 | 0 | 0 | 1 |
| 婚姻狀況 | S | 7999 | 0.457504004 | 0 | 4 |
| 婚姻狀況 | M | 9485 | 0.542495996 | 0 | 4 |
| 子系總數 | 失蹤 | 0 | 0 | 0 | 1 |
| 子系總數 | 0 | 4865 | 0.278254404 | 0 | 4 |
| 子系總數 | 3 | 2093 | 0.119709449 | 0 | 4 |
| 子系總數 | 1 | 3406 | 0.19480668 | 0 | 4 |
Bike Buyer 欄被納入是因為邊際統計節點始終包含可預測屬性及其可能值的描述。 列出的所有其他數據行都代表輸入屬性,以及模型中所使用的值。 值只能缺失、離散或離散化。
在樸素貝氏模型中,沒有連續屬性,因此,所有數值數據都會以離散(VALUE_TYPE = 4)或離散化(VALUE_TYPE = 5)表示。
Missing值 (VALUE_TYPE = 1) 會新增至每個輸入和輸出屬性,以代表定型數據中不存在的潛在值。 您必須小心區分「遺漏」做為字串和預設值 Missing 。 如需詳細資訊,請參閱遺漏值(Analysis Services - 數據採礦)。
另請參閱
採礦模型內容 (Analysis Services - 數據採礦)
數據採礦模型查看器
數據採礦查詢
Microsoft朴素貝氏演算法