數據採礦概念
適用於: SQL Server 2019 和舊版 Analysis Services Azure Analysis Services Fabric/Power BI Premium
重要
SQL Server 2017 Analysis Services 中已淘汰數據採礦,現在已在 SQL Server 2022 Analysis Services 中停止。 檔不會更新為已淘汰和已停止的功能。 若要深入瞭解,請參閱 Analysis Services 回溯相容性。
數據採礦是從大量數據集中探索可採取動作信息的程式。 數據採礦會使用數學分析來衍生存在於數據的模式和趨勢。 一般而言,傳統數據探索無法探索這些模式,因為關聯性太複雜,或因為數據太多。
這些模式和趨勢可以收集並定義為 資料採礦模型,。 採礦模型可以套用至特定案例,例如:
預測:估計銷售、預測伺服器負載或伺服器停機時間
風險和機率:選擇最適合目標郵件的客戶、判斷風險案例的可能斷點、指派診斷機率或其他結果
建議:判斷哪些產品可能一起銷售,產生建議
尋找序列:分析購物車中的客戶選擇,預測下一個可能的事件
群組:將客戶或事件分成相關專案的叢集、分析和預測同構型
建置採礦模型是較大程式的一部分,其中包含從詢問數據相關問題和建立模型以回答這些問題到將模型部署至工作環境等所有專案。 您可以使用下列六個基本步驟來定義此程式:
下圖說明程式中每個步驟之間的關聯性,以及可用來完成每個步驟之 SQL Server Microsoft 技術。
圖表中所說明的程式是週期性的,這表示建立數據採礦模型是動態且反覆的程式。 探索數據之後,您可能會發現數據不足以建立適當的採礦模型,因此您必須尋找更多數據。 或者,您可以建置數個模型,然後意識到模型無法適當地回答您定義的問題,因此您必須重新定義問題。 您可能需要在部署模型之後更新模型,因為有更多數據可供使用。 程式中的每個步驟可能需要重複多次,才能建立良好的模型。
Microsoft SQL Server 數據採礦提供整合式環境,可用來建立和使用數據採礦模型。 此環境包含 SQL Server Development Studio,其中包含數據採礦演算法和查詢工具,可讓您輕鬆地為各種專案建置完整的解決方案,以及包含流覽模型和管理數據採礦物件的工具 SQL Server Management Studio。 如需詳細資訊,請參閱使用 SQL Server Data Tools 建立多維度模型。
如需如何將 SQL Server 工具套用至商務案例的範例,請參閱 基本數據採礦教學課程。
定義問題
如下圖所示,數據採礦程式的第一個步驟是清楚定義問題,並考慮如何使用數據來提供問題的解答。
此步驟包括分析商務需求、定義問題的範圍、定義要評估模型的計量,以及定義數據採礦專案的特定目標。 這些工作會轉譯成下列問題:
你在找什麼? 您嘗試尋找哪種類型的關聯性?
您嘗試解決的問題會反映商務的原則或程式嗎?
您要從數據採礦模型進行預測,還是只尋找有趣的模式和關聯?
您要嘗試預測哪些結果或屬性?
您擁有何種數據,以及每個數據行中的資訊種類為何? 如果有多個數據表,數據表如何相關? 您需要執行任何清理、匯總或處理,讓數據可供使用嗎?
數據如何散發? 數據是季節性的嗎? 數據是否準確地代表商務程式?
若要回答這些問題,您可能必須進行數據可用性研究,以調查商務使用者對於可用數據的需求。 如果數據不支援使用者的需求,您可能必須重新定義專案。
您也需要考慮模型結果可以納入用來測量商務進度的關鍵效能指標 (KPI) 中的方式。
準備數據
如下圖所示,數據採礦程式的第二個步驟是合併和清除 定義問題 步驟中所識別的數據。
數據可以散佈在公司中,並以不同的格式儲存,或可能包含不一致的情況,例如不正確或遺漏的專案。 例如,數據可能顯示客戶在產品上市前購買了產品,或者客戶經常在離家2000英里處的商店購物。
數據清除不只是移除不正確的數據或插補遺漏值,而是要尋找數據中的隱藏相互關聯、識別最精確的數據源,以及判斷哪些數據行最適合用於分析。 例如,您應該使用出貨日期或訂單日期嗎? 最佳銷售影響因素是數量、總價格還是折扣價格? 未完成的數據、錯誤的數據和輸入會以您不預期的方式影響模型的結果,但實際上與數據完全相互關聯。
因此,在開始建置採礦模型之前,您應該先找出這些問題,並判斷要如何修正它們。 針對數據採礦,您通常會使用非常大的數據集,且無法檢查每個交易的數據品質:因此,您可能需要使用某種形式的數據分析和自動化數據清理和篩選工具,例如 Integration Services 中提供的數據、Microsoft SQL Server 2012 Master Data Services 或 SQL Server Data Quality Services,以探索數據並找出不一致之處。 如需詳細資訊,請參閱下列資源:
請務必注意,您用於數據採礦的數據不需要儲存在在線分析處理 (OLAP) Cube 中,或甚至儲存在關係資料庫中,不過您可以使用這兩者作為數據源。 您可以使用已定義為 SQL Server Analysis Services 數據源的任何數據源來執行數據採礦。 這些可以包含文本檔、Excel 活頁簿,或來自其他外部提供者的數據。 如需詳細資訊,請參閱 支援的數據來源 (SSAS - 多維度)。
探索數據
如下圖所示,數據採礦程式的第三個步驟是探索備妥的數據。
您必須了解數據,才能在建立採礦模型時做出適當的決策。 探索技術包括計算最小值和最大值、計算平均值和標準偏差,以及查看數據的分佈。 例如,您可以檢閱數據不代表客戶或商務程式的最大、最小值和平均值來判斷,因此您必須取得更平衡的數據,或檢閱您預期基礎的假設。 標準偏差和其他分佈值可以提供有關結果穩定性和精確度的實用資訊。 大型標準偏差可能表示新增更多數據可能有助於改善模型。 與標準分佈有強烈偏離的數據可能會扭曲,或可能代表真實生活中問題的準確圖片,但難以將模型放入數據。
藉由根據您對商務問題的瞭解來探索數據,您可以決定數據集是否包含有缺陷的數據,然後您可以設計一個策略來修正問題,或更深入瞭解您企業的典型行為。
您可以使用 Master Data Services 之類的工具來畫布可用的數據源,並判斷數據採礦的可用性。 您可以使用 SQL Server Data Quality Services 或 Integration Services 中的數據分析工具等工具來分析數據的分佈,並修復錯誤或遺失數據等問題。
定義來源之後,您可以使用 SQL Server Data Tools 中的數據源檢視設計工具,將它們結合在數據源檢視中。 如需詳細資訊,請參閱多維度模型中 數據源檢視。 此設計工具也包含一些可用來探索數據的工具,並確認其適用於建立模型。 如需詳細資訊,請參閱 在數據源檢視中探索數據。
請注意,當您建立模型時,SQL Server Analysis Services 會自動建立模型中所含數據的統計摘要,您可以查詢以用於報表或進一步分析。 如需詳細資訊,請參閱 資料採礦查詢。
建置模型
如下圖所示,數據採礦程式的第四個步驟是建置採礦模型或模型。 您將使用您在 Exploring Data 步驟中取得的知識,以協助定義和建立模型。
您可以藉由建立採礦結構來定義您想要使用的資料行。 採礦結構會連結至數據源,但在您處理數據之前,實際上不會包含任何數據。 當您處理採礦結構時,SQL Server Analysis Services 會產生匯總和其他可用於分析的統計數據。 任何以 結構為基礎的採礦模型都可以使用這項資訊。 如需採礦結構與採礦模型相關的詳細資訊,請參閱 邏輯架構(Analysis Services - 資料採礦)。
在處理結構和模型之前,數據採礦模型也只是一個容器,指定用於輸入的數據行、您要預測的屬性,以及告訴演算法如何處理數據的參數。 處理模型通常稱為 定型。 定型是指將特定數學演算法套用至 結構中的數據以擷取模式的程式。 您在定型程式中找到的模式取決於選取定型數據、您選擇的演算法,以及您設定演算法的方式。 SQL Server 2017 包含許多不同的演算法、每個演算法都適合不同類型的工作,以及每個建立不同類型的模型。 如需 SQL Server 2017 中提供的演算法清單,請參閱 數據採礦演算法(Analysis Services - 數據採礦)。
您也可以使用參數來調整每個演算法,而且您可以將篩選套用至定型數據,以便只使用數據子集,以建立不同的結果。 將數據傳遞至模型之後,採礦模型物件會包含可查詢或用於預測的摘要和模式。
您可以使用 SQL Server Data Tools 中的數據採礦精靈,或使用數據採礦延伸模組 (DMX) 語言來定義新的模型。 如需如何使用數據採礦精靈的詳細資訊,請參閱 數據採礦精靈 (Analysis Services - 數據採礦)。 如需如何使用 DMX 的詳細資訊,請參閱 數據採礦延伸模組 (DMX) 參考。
請務必記住,每當數據變更時,您必須同時更新採礦結構和採礦模型。 當您藉由重新處理採礦結構來更新採礦結構時,SQL Server Analysis Services 會從來源擷取數據,包括動態更新來源時的任何新數據,以及重新填入採礦結構。 如果您有以 結構為基礎的模型,您可以選擇更新以 結構為基礎的模型,這表示這些模型會重新定型於新的數據,或者您可以將模型保留為正向。 如需詳細資訊,請參閱 處理需求和考慮(資料採礦)。
探索和驗證模型
如下圖所示,數據採礦程式的第五個步驟是探索您已建置並測試其有效性的採礦模型。
將模型部署至生產環境之前,您會想要測試模型的執行程度。 此外,當您建置模型時,通常會建立具有不同組態的多個模型,並測試所有模型,以查看哪一個會產生問題和數據的最佳結果。
SQL Server Analysis Services 提供的工具可協助您將數據分成定型和測試數據集,以便準確評估相同數據上所有模型的效能。 您可以使用定型數據集來建置模型,以及測試數據集,藉由建立預測查詢來測試模型的精確度。 建置採礦模型時,可以自動完成此數據分割。 如需詳細資訊,請參閱 測試和驗證 (資料採礦)。
您可以使用 SQL Server Data Tools 中數據採礦設計師中的檢視者,探索演算法探索的趨勢和模式。 如需詳細資訊,請參閱
如果您在建置模型 建立模型 步驟中建立的模型都無法正常執行,您可能必須返回程式中的上一個步驟,並重新定義問題,或重新配置原始數據集中的數據。
部署和更新模型
如下圖所示,數據採礦程序的最後一個步驟是將執行最佳模型的部署至生產環境。
採礦模型存在於生產環境中之後,您可以根據需求執行許多工作。 以下是您可以執行的一些工作:
使用模型來建立預測,然後您可以使用這些預測來做出商務決策。 SQL Server 提供 DMX 語言,可讓您用來建立預測查詢,以及預測查詢產生器來協助您建置查詢。 如需詳細資訊,請參閱 資料採礦延伸模組 (DMX) 參考。
建立內容查詢,從模型擷取統計數據、規則或公式。 如需詳細資訊,請參閱 資料採礦查詢。
將數據採礦功能直接內嵌至應用程式。 您可以包含 Analysis Management Objects (AMO),其中包含一組物件,您的應用程式可用來建立、改變、處理和刪除採礦結構和採礦模型。 或者,您可以將 XML for Analysis (XMLA) 訊息直接傳送至 SQL Server Analysis Services 的實例。 如需詳細資訊,請參閱 開發 (Analysis Services - 數據採礦)。
使用 Integration Services 建立封裝,其中採礦模型用來以智慧方式將傳入數據分成多個數據表。 例如,如果資料庫與潛在客戶持續更新,您可以搭配 Integration Services 使用採礦模型,將數據分割成可能購買產品的客戶,以及可能不購買產品的客戶。 如需詳細資訊,請參閱 Integration Services的一般用法。
建立報表,讓使用者直接查詢現有的採礦模型。 如需詳細資訊,請參閱 SQL Server Data Tools Reporting Services。
在檢閱和分析之後更新模型。 任何更新都需要您重新處理模型。 如需詳細資訊,請參閱 處理資料採礦物件。
動態更新模型,因為更多數據進入組織,並不斷變更以改善解決方案的有效性應該是部署策略的一部分。 如需詳細資訊,請參閱 數據採礦方案和物件管理