貝氏機率分類模型的採礦模型內容(Analysis Services - 數據採礦)

適用於: SQL Server 2019 和舊版 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

SQL Server 2017 Analysis Services 中已淘汰數據採礦,現在已在 SQL Server 2022 Analysis Services 中停止。 檔不會更新為已淘汰和已停止的功能。 若要深入瞭解,請參閱 Analysis Services 回溯相容性

本主題描述使用Microsoft貝氏機率分類演算法之模型專屬的採礦模型內容。 如需如何解譯所有模型類型所共用之統計數據和結構的說明,以及採礦模型內容相關詞彙的一般定義,請參閱 採礦模型內容(Analysis Services - 數據採礦)

了解貝氏機率分類模型的結構

貝氏機率分類模型具有單一父節點,代表模型及其元數據,以及該父節點底下代表您所選取之可預測屬性的任何數目獨立樹狀結構。 除了屬性的樹狀結構之外,每個模型還包含一個臨界統計數據節點(NODE_TYPE = 26),可提供一組定型案例的描述性統計數據。 如需詳細資訊,請參閱臨界統計數據節點中 資訊。

針對每個可預測的屬性和值,模型會輸出一個樹狀結構,其中包含描述各種輸入數據行如何影響該特定可預測結果的資訊。 每個樹狀結構都包含可預測的屬性及其值(NODE_TYPE = 9),然後是一系列代表輸入屬性的節點(NODE_TYPE = 10)。 由於輸入屬性通常有多個值,因此每個輸入屬性 (NODE_TYPE = 10) 可能有多個子節點 (NODE_TYPE = 11),每個都針對屬性的特定狀態。

注意

因為貝氏機率分類模型不允許連續數據類型,因此輸入數據行的所有值都會被視為離散或離散化。 您可以指定如何離散化值。 如需詳細資訊,變更採礦模型中數據行的離散化

貝氏機率分類模型內容的 結構,

貝氏機率分類模型的模型內容

本節僅針對採礦模型內容中與貝氏機率分類模型具有特定相關性的數據行提供詳細數據和範例。

如需架構數據列集中一般用途數據行的相關信息,例如MODEL_CATALOG和MODEL_NAME,如這裡未描述,或如需採礦模型術語的說明,請參閱 採礦模型內容(Analysis Services - 數據採礦)

MODEL_CATALOG
儲存模型的資料庫名稱。

MODEL_NAME
模型的名稱。

ATTRIBUTE_NAME
對應至此節點的屬性名稱。

模型根目錄 可預測屬性的名稱。

邊際統計數據 不適用

Predictable 屬性 可預測屬性的名稱。

Input 屬性 輸入屬性的名稱。

輸入屬性狀態 輸入屬性的名稱。 若要取得狀態,請使用 MSOLAP_NODE_SHORT_CAPTION。

NODE_NAME
節點的名稱。

此數據列包含與NODE_UNIQUE_NAME相同的值。

如需節點命名慣例的詳細資訊,請參閱使用節點名稱和識別碼

NODE_UNIQUE_NAME
節點的唯一名稱。 唯一名稱會根據提供節點間關聯性相關信息的慣例來指派。 如需節點命名慣例的詳細資訊,請參閱使用節點名稱和識別碼

NODE_TYPE
貝氏機率分類模型會輸出下列節點類型:

節點類型標識碼 描述
26 (NaiveBayesMarginalStatNode) 包含描述模型之整個定型案例集的統計數據。
9 (可預測屬性) 包含可預測屬性的名稱。
10 (輸入屬性) 包含輸入屬性數據行的名稱,以及包含屬性值的子節點。
11 (輸入屬性狀態) 包含與特定輸出屬性配對之所有輸入屬性的值或離散化值。

NODE_CAPTION
與節點相關聯的標籤或標題。 此屬性主要是為了顯示目的。

模型根目錄 空白

邊際統計數據 空白

Predictable 屬性 可預測屬性的名稱。

Input 屬性 可預測屬性的名稱和目前的輸入屬性。 前任:

自行車購買者 -> 年齡

Input 屬性狀態 可預測屬性的名稱和目前的輸入屬性,加上輸入的值。 前任:

Bike Buyer -> Age = Missing

CHILDREN_CARDINALITY
節點擁有的子係數目。

模型根目錄 模型中可預測屬性的計數,以及臨界統計數據節點的 1。

依定義 邊緣統計數據沒有子系。

Predictable 屬性 與目前可預測屬性相關的輸入屬性計數。

輸入屬性 目前輸入屬性之離散或離散化值的計數。

Always 0 輸入屬性狀態。

PARENT_UNIQUE_NAME
父節點的唯一名稱。 如需有關父節點和子節點的詳細資訊,請參閱使用節點名稱和標識碼

NODE_DESCRIPTION
與節點標題相同。

NODE_RULE
節點標題的 XML 表示。

MARGINAL_RULE
與節點規則相同。

NODE_PROBABILITY
與此節點相關聯的機率。

模型根目錄 Always 0。

Always 0 的臨界統計數據。

Always 1 可預測屬性。

輸入屬性 Always 1。

輸入屬性狀態 代表目前值機率的十進位數。 父輸入屬性節點下所有輸入屬性狀態的值加總為 1。

MARGINAL_PROBABILITY
與節點機率相同。

NODE_DISTRIBUTION
包含節點機率直方圖的數據表。 如需詳細資訊,請參閱 NODE_DISTRIBUTION 資料表

NODE_SUPPORT
支援此節點的案例數目。

模型根目錄 定型數據中的所有案例計數。

Always 0 的臨界統計數據。

可預測屬性 定型數據中所有案例的計數。

輸入屬性 定型數據中所有案例的計數。

輸入屬性狀態 只包含這個特定值的定型數據案例計數。

MSOLAP_MODEL_COLUMN
用於顯示用途的標籤。 通常與ATTRIBUTE_NAME相同。

MSOLAP_NODE_SCORE
表示模型內屬性或值的重要性。

模型根目錄 Always 0。

Always 0 的臨界統計數據。

Always 0 Predictable 屬性。

Input 屬性 與目前可預測屬性相關的目前輸入屬性的有趣度分數。

Always 0 輸入屬性狀態。

MSOLAP_NODE_SHORT_CAPTION
表示數據行名稱或值的文字字串。

模型根目錄 空白

空白 臨界統計數據

Predictable 屬性 可預測屬性的名稱。

Input 屬性 輸入屬性的名稱。

輸入屬性狀態 輸入屬性的值或離散化值。

使用節點名稱和識別碼

貝氏機率分類模型中的節點命名會提供節點類型的其他資訊,讓您更容易瞭解模型中資訊之間的關聯性。 下表顯示指派給不同節點類型之標識符的慣例。

節點類型 節點標識碼的慣例
模型根目錄 (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  

預期的結果:

NODE_NAME NODE_CAPTION
20000000000000001 自行車買家 -> 通勤距離
20000000000000002 自行車購買者 -> 英文教育版
20000000000000003 自行車買家 -> 英文職業
20000000000000009 自行車買家 -> 婚姻狀況
2000000000000000a 自行車買家 -> 編號兒童在家裡
200000000000000b Bike Buyer -> Region
200000000000000c 自行車買家 -> 總計兒童

然後,您可以使用父節點的標識符來擷取子節點。 下列查詢會擷取包含 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 NODE_CAPTION NODE_PROBABILITY
3000000000000000900000000 Bike Buyer -> 婚姻狀態 = 遺漏 0
3000000000000000900000001 Bike Buyer -> 婚姻狀態 = S 0.457504004
3000000000000000900000002 Bike Buyer -> 婚姻狀態 = M 0.542495996

NODE_DISTRIBUTION數據表

巢狀數據表數據行NODE_DISTRIBUTION通常包含節點中值分佈的相關統計數據。 在貝氏機率分類模型中,此數據表只會針對下列節點填入:

節點類型 巢狀數據表的內容
模型根目錄 (1) 空白。
臨界統計數據節點 (24) 針對整組定型數據,包含所有可預測屬性和輸入屬性的摘要資訊。
可預測屬性 (9) 空白。
輸入屬性 (10) 空白。
輸入屬性狀態 (11) 包含統計數據,描述可預測值和輸入屬性值之定型數據中值分佈的統計數據。

您可以使用節點識別碼或節點標題來擷取增加的詳細數據層級。 例如,下列查詢只會針對與值相關的輸入屬性節點,從 NODE_DISTRIBUTION 資料表擷取特定資料行,'Marital Status = S'

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.PROBABILITY t.VALUETYPE
Bike Buyer -> 婚姻狀態 = S Bike Buyer 失蹤 0 0 1
Bike Buyer -> 婚姻狀態 = S Bike Buyer 0 3783 0.472934117 4
Bike Buyer -> 婚姻狀態 = S Bike Buyer 1 4216 0.527065883 4

在這些結果中,SUPPORT 數據行的值會告訴您購買自行車之指定婚姻狀態的客戶計數。 PROBABILITY 數據行包含每個屬性值的機率,僅針對這個節點計算。 如需NODE_DISTRIBUTION數據表中所用詞彙的一般定義,請參閱 採礦模型內容(Analysis Services - 數據採礦)

臨界統計數據節點中的資訊

在貝氏機率分類模型中,臨界統計數據節點的巢狀數據表包含整個定型數據集的值分佈。 例如,下表包含模型之巢狀NODE_DISTRIBUTION數據表中統計數據的部分清單,TM_NaiveBayes

ATTRIBUTE_NAME ATTRIBUTE_VALUE 支援 概率 方差 VALUETYPE
Bike Buyer 失蹤 0 0 0 1
Bike Buyer 0 8869 0.507263784 0 4
Bike Buyer 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) 表示。

遺漏 值 (VALUE_TYPE = 1) 會新增至每個輸入和輸出屬性,以代表定型數據中不存在的潛在值。 您必須小心區分「遺漏」做為字串,以及預設 遺漏 值。 如需詳細資訊,請參閱 遺漏值 (Analysis Services - 資料採礦)

另請參閱

採礦模型內容 (Analysis Services - 數據採礦)
數據採礦模型查看器
數據採礦查詢
Microsoft 貝氏機率分類演算法