共用方式為


類神經網路模型查詢範例

當您針對數據採礦模型建立查詢時,可以建立內容查詢,以提供分析中所探索模式的詳細數據,或是使用模型中的模式來為新數據進行預測的預測查詢。 例如,類神經網路模型的內容查詢可能會擷取模型元數據,例如隱藏層的數目。 或者,預測查詢可能會根據輸入來建議分類,並選擇性地為每個分類提供機率。

本節說明如何建立以Microsoft類神經網路演算法為基礎的模型查詢。

內容查詢

使用 DMX 取得模型元數據

從架構數據列集擷取模型元數據

擷取模型的輸入屬性

從隱藏層擷取權數

預測查詢

建立單一預測

尋找類神經網路模型的相關信息

所有採礦模型都會根據標準化架構、採礦模型架構數據列集來公開演算法所學習的內容。 此資訊提供有關模型的詳細數據,並包含在分析中探索到的基本元數據、分析中探索到的結構,以及處理時所使用的參數。 您可以使用數據採礦延伸模組 (DMX) 語句,針對模型內容建立查詢。

範例查詢 1:使用 DMX 取得模型元數據

下列查詢會傳回一些有關使用 Microsoft類神經網路演算法所建置之模型的基本元數據。 在類神經網路模型中,模型的父節點只包含模型的名稱、儲存模型的資料庫名稱,以及子節點的數目。 不過,臨界統計數據節點 (NODE_TYPE = 24) 同時提供這個基本元數據和一些衍生的統計數據,說明模型中所使用的輸入數據行。

下列範例查詢是以您在元數據 採礦教學課程中建立的採礦模型為基礎,名為 Call Center Default NN。 此模型會使用來自來電中心的數據來探索人員配置與通話數目、訂單和問題之間的可能相互關聯。 DMX 語句會從類神經網路模型的臨界統計數據節點擷取數據。 此查詢包含 FLATTENED 關鍵詞,因為感興趣的輸入屬性統計數據會儲存在巢狀數據表中,NODE_DISTRIBUTION。 不過,如果您的查詢提供者支援階層式數據列集,則不需要使用 FLATTENED 關鍵詞。

SELECT FLATTENED MODEL_CATALOG, MODEL_NAME,   
(    SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE,  
     [SUPPORT], [PROBABILITY], VALUETYPE   
     FROM NODE_DISTRIBUTION  
) AS t  
FROM [Call Center Default NN].CONTENT  
WHERE NODE_TYPE = 24  

備註

您必須以方括號括住巢狀表格 [SUPPORT][PROBABILITY] 的欄名稱,以將它們與同名的保留關鍵字區分開來。

範例結果︰

模型目錄 MODEL_NAME t.屬性名稱 t.屬性值 t.支援 t.概率 t.VALUETYPE
Adventure Works DW 多維度 2012 客服中心 NN 每個案件的平均時間 失蹤 0 0 1
Adventure Works DW 多維度 2012 客服中心 NN 每個項目的平均時間 < 64.7094100096 11 0.407407407 5

如需了解架構列集中的欄位在類神經網路模型中的意義定義,請參閱類神經網路模型的挖掘模型內容(Analysis Services - 數據挖掘)。

範例查詢 2:從架構數據列集擷取模型元數據

您可以藉由查詢數據採礦架構數據列集,找到 DMX 內容查詢中傳回的相同資訊。 不過,架構數據列集會提供一些額外的數據行。 下列範例查詢會傳回建立模型的日期、修改的日期,以及模型上次處理的日期。 查詢也會傳回可預測的數據行,這些數據行無法輕易從模型內容取得,以及用來建置模型的參數。 這項資訊對於記錄模型很有用。

SELECT MODEL_NAME, DATE_CREATED, LAST_PROCESSED, PREDICTION_ENTITY, MINING_PARAMETERS   
from $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Call Center Default NN'  

範例結果︰

MODEL_NAME 話務中心預設 NN
建立日期 2008/1/10 下午 5:07:38
最後處理 2008/1/10 下午 5:24:02
PREDICTION_ENTITY 每項問題的平均處理時間

服務等級,

訂單數目
挖礦參數 HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=0,

MAXIMUM_INPUT_ATTRIBUTES=255,MAXIMUM_OUTPUT_ATTRIBUTES=255,

MAXIMUM_STATES=100,SAMPLE_SIZE=10000,HIDDEN_NODE_RATIO=4

範例查詢 3:擷取模型的輸入屬性

您可以藉由查詢輸入層的子節點 (NODE_TYPE = 20) 來擷取用來建立模型的輸入屬性值組(NODE_TYPE = 18)。 下列查詢會從節點描述傳回輸入屬性的清單。

SELECT NODE_DESCRIPTION  
FROM [Call Center Default NN].CONTENT  
WHERE NODE_TYPE = 2  

範例結果︰

節點描述
每項目的平均時間=64.7094100096 - 77.4002099712
周中的日=星期五。
等級 1 運算子

這裡只會顯示結果中的幾個代表性數據列。 不過,您可以看到NODE_DESCRIPTION會根據輸入屬性的數據類型提供稍微不同的資訊。

  • 如果屬性是離散或離散化值,則會傳回屬性及其值或其離散化範圍。

  • 如果屬性是連續數值數據類型,則NODE_DESCRIPTION只包含屬性名稱。 不過,您可以擷取巢狀NODE_DISTRIBUTION數據表以取得平均值,或傳回NODE_RULE,以取得數值範圍的最小值和最大值。

下列查詢示範如何查詢巢狀NODE_DISTRIBUTION數據表,以傳回一個數據行中的屬性,以及它們在另一個數據行中的值。 對於連續屬性,屬性的值會以其平均值表示。

SELECT FLATTENED   
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE  
FROM NODE_DISTRIBUTION) as t  
FROM [Call Center Default NN -- Predict Service and Orders].CONTENT  
WHERE NODE_TYPE = 21  

範例結果︰

t.屬性名稱 t.屬性值
每個問題的平均時間 64.7094100096 - 77.4002099712
星期幾 週五。
層級 1 運算子 3.2962962962963

最小值和最大範圍值會儲存在 NODE_RULE 數據行中,並以 XML 片段表示,如下列範例所示:

<NormContinuous field="Level 1 Operators">    
  <LinearNorm orig="2.83967303681711" norm="-1" />    
  <LinearNorm orig="3.75291955577548" norm="1" />    
</NormContinuous>    

範例查詢 4:從隱藏層擷取權數

類神經網路模型的模型內容是結構化方式,可讓您輕鬆地擷取網路中任何節點的詳細數據。 此外,節點的標識碼會提供資訊,協助您識別節點類型之間的關聯性。

下列查詢示範如何擷取儲存在隱藏層特定節點下的係數。 隱藏層包含只包含元數據的召集人節點(NODE_TYPE = 19),以及多個子節點(NODE_TYPE = 22),其中包含各種屬性和值組合的係數。 此查詢只會傳回係數節點。

SELECT FLATTENED TOP 1 NODE_UNIQUE_NAME,   
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, VALUETYPE  
FROM NODE_DISTRIBUTION) as t  
FROM  [Call Center Default NN -- Predict Service and Orders].CONTENT  
WHERE NODE_TYPE = 22  
AND [PARENT_UNIQUE_NAME] = '40000000200000000' FROM [Call Center Default NN].CONTENT  

範例結果︰

節點_唯一名稱 t.屬性名稱 t.屬性值 t.VALUETYPE
70000000200000000 6000000000000000a -0.178616518 7
70000000200000000 6000000000000000b -0.267561918 7
70000000200000000 6000000000000000c 0.11069497 7
70000000200000000 6000000000000000d 0.123757712 7
70000000200000000 6000000000000000e 0.294565343 7
70000000200000000 6000000000000000f 0.22245318 7
70000000200000000 0.188805045 7

此處顯示的部分結果示範類神經網路模型內容如何將隱藏節點與輸入節點產生關聯。

  • 隱藏層中節點的唯一名稱一律以 70000000 開頭。

  • 輸入層中節點的唯一名稱一律以 60000000 開頭。

因此,這些結果會告訴您標識碼所表示的節點70000000200000000有六個不同的係數 (VALUETYPE = 7) 傳遞給它。 係數的值位於ATTRIBUTE_VALUE數據行中。 您可以使用ATTRIBUTE_NAME數據行中的節點識別碼,確切判斷係數的輸入屬性。 例如,節點識別碼6000000000000000a是指輸入屬性和值, Day of Week = 'Tue.' 您可以使用節點標識碼來建立查詢,或使用 Microsoft一般內容樹視圖器來瀏覽至節點。

同樣地,如果您查詢輸出層中節點的NODE_DISTRIBUTION數據表(NODE_TYPE = 23),您可以看到每個輸出值的係數。 不過,在輸出層中,指標會回到隱藏層的節點。 如需詳細資訊,請參閱類神經網路模型的採礦模型內容(Analysis Services - 數據採礦)。

使用類神經網路模型進行預測

Microsoft類神經網路演算法同時支援分類和回歸。 您可以搭配這些模型使用預測函式來提供新的數據,並建立單一或批次預測。

範本查詢 5:建立單例預測

在類神經網路模型上建置預測查詢最簡單的方式是使用預測查詢產生器,可在 SQL Server Management Studio 和 SQL Server Data Tools (SSDT) 的數據採礦設計師的 [ 採礦預測 ] 索引標籤上取得。 您可以在Microsoft類神經網路查看器中流覽模型,以篩選感興趣的屬性並檢視趨勢,然後切換至 [ 採礦預測 ] 索引卷標,以建立查詢並預測這些趨勢的新值。

例如,您可以流覽客服中心模型,以檢視訂單量與其他屬性之間的關聯性。 若要這樣做,請在查看器中開啟模型,然後針對 [ 輸入],選取 [ <全部>]。 接下來,針對 [輸出],選取 [訂單數目]。 針對 [值 1],選取代表最多訂單的範圍,針對 [值 2],選取代表最少訂單的範圍。 然後,您可以一目瞭然地看到與模型訂單量相關聯的所有屬性。

藉由流覽查看器中的結果,您會發現一周中的特定日子有低訂單量,且作員數目的增加似乎與較高的銷售量相關。 然後,您可以在模型上使用預測查詢來測試「假設性問題」,並探討在低銷量日增加第二階段操作員的數目是否會提高訂單數量。 若要這樣做,請建立如下的查詢:

SELECT Predict([Call Center Default NN].[Number of Orders]) AS [Predicted Orders],  
PredictProbability([Call Center Default NN].[Number of Orders]) AS [Probability]  
FROM [Call Center Default NN]  
NATURAL PREDICTION JOIN   
(SELECT 'Tue.' AS [Day of Week],  
13 AS [Level 2 Operators]) AS t  

範例結果︰

預測訂單 概率
364 0.9532...

預測的銷售量高於週二目前的銷售額範圍,且預測的機率很高。 不過,您可能想要使用批處理來測試模型上的各種假設,以建立多個預測。

備註

適用於 Excel 2007 的數據採礦 Add-Ins 提供羅吉斯回歸精靈,可讓您輕鬆地回答複雜的問題,例如需要多少層級二級運算元,才能針對特定班次將服務等級提升到目標層級。 數據採礦附加元件為免費下載,並且包含以類神經網路和/或邏輯斯回歸演算法為基礎的向導。 如需更多資訊,請造訪 Office 2007 數據採礦增益集 網站。

預測函式清單

所有Microsoft演算法都支援一組常見的函式。 沒有Microsoft類神經網路演算法特有的預測函式;不過,演算法支援下表所列的函式。

預測函數 用法
IsDescendant (DMX) 判斷某個節點是否為類神經網路圖形中另一個節點的子節點。
PredictAdjustedProbability (DMX) 傳回加權機率。
PredictHistogram (DMX) 傳回與目前預測值相關的值數據表。
PredictVariance (DMX) 傳回預測值的變異數。
PredictProbability (DMX) 傳回預測值的機率。
PredictStdev (DMX) 傳回預測值的標準偏離。
PredictSupport (DMX) 針對類神經網路和羅吉斯回歸模型,會傳回單一值,代表整個模型的定型集大小。

如需特定函式的語法,請參閱 數據採礦延伸模組 (DMX) 函式參考

另請參閱

Microsoft類神經網路演算法
Microsoft類神經網路演算法技術參考
類神經網路模型的採礦模型內容 (Analysis Services - 數據採礦)
第5課:建置類神經網路和羅吉斯回歸模型(元數據採礦教學課程)