測量採礦模型精確度 (Analysis Services - 資料採礦)
SQL ServerAnalysis Services 提供了各種方法來判斷採礦模型是否正確。
您可以使用圖表來以視覺方式表示資料採礦模型的精確度:「增益圖」(Lift Chart) 會比較每一個模型之預測的精確度。「收益圖」(Profit Chart) 會顯示理論上與使用每個模型相關聯的收益增加。「散佈圖」(Scatter Plot) 會比較實際值與預測值,而且會用於迴歸模型或使用連續輸入預測連續屬性的其他模型。
您可以使用「分類矩陣」(Classification Matrix),將正確和不正確的預測表格化。
您可以使用「交叉驗證」(Cross-Validation),以統計方式驗證採礦模型的可靠性。
如需詳細資訊,請參閱<圖表模型精確度的工具 (Analysis Services - 資料採礦)>。本主題所述的所有圖表類型也可以使用 XML/A 或 AMO 來以程式設計方式建立。如需有關 Analysis Services 程式設計方案的詳細資訊,請參閱<開發人員指南 (Analysis Services - 資料採礦)>。
[!附註]
在您判斷出此模型相當正確以後,您應該在此模型設計來解決之商務問題的環境中評估此模型的結果。
本主題說明 Business Intelligence Development Studio 或 SQL Server Management Studio 中用來測量採礦模型精確度的一般工作流程。根據您使用的採礦模型類型及選擇的圖表而定,某些選項可能會有些差異、無法使用或是依預設值來設定,但是整體的程序將會如下所示:
選擇要測試的模型或結構。
選擇測試資料。
選擇性地篩選測試資料。
選擇圖表類型,並使用適當的檢視器將它開啟。
選擇性地自訂圖表。
如需逐步程序,請參閱<如何:建立採礦模型的精確度圖表>。
選擇模型或結構
常見的作法是為每一個資料採礦結構建立數個資料採礦模型,以及讓每一個模型使用不同的演算法或參數集。Analysis Services 可讓您輕鬆地在相同的圖表中測試多個相關的採礦模型。但是,您也可以只選取單一採礦模型用於精確度圖表的輸出。
在 Business Intelligence Development Studio 中,您會選取採礦結構,然後按一下 [採礦精確度圖表] 索引標籤,開啟精確度圖表的設計區域。在 SQL Server Management Studio 中,您會以滑鼠右鍵按一下採礦結構,然後選取**[檢視增益圖]** 以開啟相同的設計區域並建立任何類型的精確度圖表。
如果您將多個採礦模型加入到圖表中,您必須選擇具有相同可預測屬性的採礦模型。如果您建立增益圖、收益圖、散佈圖或分類矩陣,您可以使用 [輸入選擇] 索引標籤來選擇所要繪製的模型。但是,如果您建立交叉驗證報表,Analysis Services 將會分析具有相同可預測屬性的所有模型。
選擇測試資料
在您可以建立增益圖、收益圖或散佈圖之前,您必須指定將用來評估模型的資料。因為用於評估的資料對於評估結果有很大的影響,所以 SQL Server 2008Analysis Services 提供下列選項來指定測試資料:
使用在建立資料採礦結構時定義為測試集的鑑效組資料分割。藉由使用一部分的採礦結構資料做為測試資料,您可以對結構中的所有模型進行一致的測量。
定義要當做測試資料的外部資料來源。
定義外部資料來源,然後套用篩選,將資料限制為相關的案例子集。藉由定義篩選,您可以選取符合特定條件的測試資料,或包含特定主題之案例的測試資料。
使用套用至此模型所使用之定型案例的篩選。藉由定義模型篩選,您可以將案例限制為資料子集,並藉由使用類似的資料,確保一定會評估特定的模型。
如果您在 Business Intelligence Development Studio 或 SQL Server Management Studio 中建立交叉驗證報表,則根據預設,Analysis Services 會使用針對此模型定義的鑑效組資料分割 (如果有的話)。如果未定義任何鑑效組資料分割,Analysis Services 會使用整組的定型案例。
如果您在 Business Intelligence Development Studio 或 SQL Server Management Studio 中建立增益圖、收益圖、散佈圖或分類矩陣,您會使用資料採礦設計師的 [採礦精確度圖表] 檢視上的輸入選擇索引標籤,指定用來測試採礦模型的資料。選項如下:
使用採礦模型測試案例
採礦模型測試案例是取自採礦結構中的相同資料,但會對模型套用篩選以限制用於測試的案例。模型篩選是一組由您建立並與採礦模型儲存在一起的條件。由於篩選條件與採礦模型儲存在一起,所以依預設會在定型模型時套用。在測試模型時,可以依現狀使用篩選,或者也可以使用不同的資料集進行測試而略過模型篩選。如果想要變更套用至採礦模型的篩選,可以修改模型篩選,然後再重新處理模型;或者也可以建立模型的複本,然後再於複本上建立不同的篩選。
如需有關模型篩選的詳細資訊,請參閱<建立採礦模型的篩選 (Analysis Services - 資料採礦)>。
如需如何在採礦模型上建立篩選的描述,請參閱<如何:將篩選套用至採礦模型>。
使用採礦結構測試案例
如果您在建立採礦結構時定義了測試資料集,則藉由定義鑑效組百分比或用於鑑效組的最大案例數,可以使用此選項來測量精確度。測試集的定義會與結構一起儲存。因此,測試集可搭配任何以該結構為基礎的模型一起使用。
[!附註]
您無法直接在採礦結構鑑效組資料上建立篩選。不過,如果想要篩選此資料以當做因應措施,可以重新使用原始的資料來源檢視做為外部資料來源,並將篩選套用至外部資料來源。
如需詳細資訊,請參閱<將資料分割成培訓集和測試集 (Analysis Services - 資料採礦)>。
指定不同的資料集
在 SQL Server 2005 中,測試採礦模型精確度的唯一方式就是使用外部資料集。SQL Server 2008 中仍有提供此選項,但現在您也可以在外部資料上定義篩選。
若要使用外部資料來源,則您想要在外部資料中用於輸入的任何資料行,都必須對應到採礦模型中的資料行。您可以選擇忽略某些資料行,但外部資料集至少必須包含一個資料行,而且該資料行可以對應至採礦模型中的可預測資料行。根據模型而定,您可能也需要對應外部資料中具有預測必要之屬性的資料行。
在資料採礦設計師中,可以使用 [輸入選擇] 索引標籤和 [指定資料行對應] 對話方塊,選取要對其驗證模型的輸入資料表。當您選取輸入資料表時,[採礦結構] 和 [選取輸入資料表] 資料表中的資料行會自動對應在一起。您可以視需要按一下 [採礦結構] 資料表中的資料行,然後將它拖曳到 [選取輸入資料表] 資料表來修改對應。如果輸入資料包含巢狀資料表,您也可以使用 [選取巢狀資料表] 連結來包含此資料表。
[!附註]
可預測資料行一定要對應。未對應的資料行會以 NULL 值的形式傳送至採礦模型。
在對應相對應的資料行之後,可以選擇性地指定可預測資料行的目標狀態。如果將可預測資料行的狀態保留空白,則增益圖會預測模型的執行效能,而不考慮可預測資料行的狀態。如需有關建立增益圖時,使用與不使用可預測資料行之指定狀態兩者之間差異的詳細資訊,請參閱<增益圖 (Analysis Services - 資料採礦)>。
您也可以選擇在外部資料上建立篩選。如需如何建立篩選的描述,請參閱<如何:篩選精確度圖表的輸入資料列>。
[同步處理預測資料行和值] 選項會協調外部資料來源和採礦模型中的可預測屬性,因此即使它們有不同的名稱,在模型培訓期間也會從相同可預測資料行衍生而來。當您具有兩個指向相同基礎資料的採礦結構資料行,但資料行可能具有不同的標示時,這樣的處理方式就很有用。
如果您清除 [同步處理預測資料行和值] 核取方塊,就可以選取任何有效的可預測資料行和值,而且結果會繪製在一起 (即使結果沒有意義也一樣)。如果要嘗試比較兩個未明確對應至相同值集的可預測屬性,則可以清除此選項。不過,您應該知道這兩個屬性在精確度方面可能無法比較。例如,將收入分隔為「高」、「中」和「低」等值區的模型可能可以與將收入分隔為 150,000+、50,000-100,000 和 10,000-50,000 範圍的模型相比較。不過,在清除此核取方塊之前,應該先確認屬性是否可以比較。
**如需詳細資訊,請參閱:**<如何:選取用於精確度圖表的可預測資料行>、<使用資料採礦工具>。
篩選資料
您可以用下列方式來篩選用來定型及測試資料採礦模型的資料:
建立與模型一起儲存的篩選。
將篩選套用至外部資料來源。
在定義篩選時,您基本上是在內送資料上建立 WHERE 子句。如果要篩選用於評估模型的輸入資料集,則篩選運算式會轉譯為 Transact-SQL 陳述式,並在建立圖表時套用至輸入資料表。因此,測試案例數會大幅減少。
相反地,將篩選套用至採礦模型時,您建立的篩選運算式會轉譯為「資料採礦延伸模組」(DMX) 陳述式,並套用至各個模型。將篩選套用至模型時,只會使用原始資料的子集來定型模型。如果在建立結構時定義了測試資料集,則用於定型的模型案例僅會包含採礦結構定型集中的案例以及符合篩選條件的案例。此外,當您選取 [使用採礦模型測試案例] 選項時,測試案例僅會包含採礦結構測試集中的案例以及符合篩選條件的案例。篩選條件也適用於模型案例上的鑽研查詢。
不過,如果您未定義鑑效組資料集,則用於測試的模型案例會包含資料集中符合篩選條件的所有案例。
因此,多個模型 (即使是以相同的採礦結構為基礎) 可以擁有不同的篩選,所以可以針對培訓和測試使用不同的資料。如果在建立精確度圖表時選取 [使用採礦模型測試案例] 選項,您應該了解在進行測試的模型中,其測試集及定型集內的總案例數可能會有很大的差異。
[!附註]
如果在現有的採礦模型中新增篩選,或者變更篩選的條件,則您必須重新處理採礦模型才能看到篩選的效果。
若要檢閱使用的實際培訓案例,可以建立類似以下的 DMX 內容查詢:
SELECT * from <model>.CASES WHERE IsTrainingCase()
或:
SELECT * from <model>.CASES WHERE IsTestCase()
若要將這些案例與結構中的案例進行比較,請建立下列的 DMX 內容查詢:
SELECT * FROM <structure>.CASES WHERE IsTestCase()
[!附註]
若要在模型案例上執行內容查詢,必須在模型上啟用 Drillthough。
如需有關可套用的篩選類型以及如何評估篩選運算式的詳細資訊,請參閱<模型篩選語法和範例 (Analysis Services - 資料採礦)>。
選擇圖表類型及檢視圖表
根據您選擇的圖表類型而定,您將能夠進一步設定選項、瀏覽圖表,或是將圖表複製到剪貼簿,然後在 Excel 中處理資料。
注意:圖表和圖表的定義都不會儲存起來。如果將包含圖表的視窗關閉,則必須再次建立圖表。
增益圖
在設定模型及測試資料的選項後,請按一下 [增益圖] 索引標籤來檢視結果。您也可以將圖表複製到剪貼簿,或是在 [採礦圖例] 中檢視個別趨勢線或資料點的詳細資料。
如需詳細資訊,請參閱<增益圖 (Analysis Services - 資料採礦)>和<增益圖索引標籤 (採礦精確度圖表檢視)>。
收益圖
在設定模型及測試資料的選項後,請按一下 [增益圖] 索引標籤,然後從 [圖表類型] 清單中選取 [收益圖] 來設定收益圖選項,再按一下 [確定] 檢視結果。您可以盡量使用 [收益圖設定] 對話方塊,嘗試不同的成本選項及重新顯示圖表。採礦圖例會包含有關每一個模型之預估收益的詳細資訊。您也可以將圖表和 [採礦圖例] 的內容複製到剪貼簿,在 Excel 中進行處理。
如需詳細資訊,請參閱<收益圖 (Analysis Services - 資料採礦)>和<收益圖表設定對話方塊 (採礦精確度圖表檢視)>。
散佈圖
如果您選取了適當的模型類型,則當您按一下 [增益圖] 索引標籤時,圖表類型會自動設定為 [散佈圖],然後顯示散佈圖。將無法進行進一步的組態設定。您也可以將圖表複製到剪貼簿,然後以圖形的形式將圖表複製到 Excel 或另一個應用程式中。
如需詳細資訊,請參閱<散佈圖 (Analysis Services - 資料採礦)>。
分類矩陣
如果是分類矩陣,請使用 [輸入選擇] 索引標籤來選擇模型及測試資料,然後按一下 [分類矩陣] 索引標籤來檢視結果。所有模型類型的分類矩陣內容都相同且無法設定。您也可以將圖表中的資料複製到剪貼簿,然後在 Excel 中進行處理。
如需詳細資訊,請參閱<分類矩陣 (Analysis Services - 資料採礦)>或<分類矩陣索引標籤 (採礦精確度圖表檢視)>。
交叉驗證報表
如果是交叉驗證報表,當您在 [方案總管] 中選取採礦結構或採礦模型之後,請按一下 [交叉驗證] 索引標籤、設定所有相關的選項,然後按一下 [取得結果] 來產生報表。將無法進行進一步的組態設定。所有模型類型的交叉驗證報表格式都相同,且無法設定。但是,報表的內容會因您分析的模型類型以及可預測屬性的資料類型而異。您也可以將報表的結果複製到剪貼簿,然後在 Excel 中處理資料。
如需詳細資訊,請參閱<交叉驗證 (Analysis Services - 資料採礦)>或<交叉驗證報表 (Analysis Services - 資料採礦)>。