採礦模型是藉由將演算法套用至數據來建立,但它不僅僅是演算法或元數據容器:它是一組可套用至新數據的數據、統計數據和模式,以產生預測並推斷關聯性。
本節說明數據採礦模型是什麼,以及其用途:模型和結構的基本架構、採礦模型的屬性,以及建立和使用採礦模型的方式。
採礦模型架構
數據採礦模型會從採礦結構取得數據,然後使用數據採礦演算法分析該數據。 採礦結構和採礦模型是不同的物件。 採礦結構會儲存定義數據源的資訊。 採礦模型會儲存衍生自數據統計處理的資訊,例如分析結果所找到的模式。
採礦模型是空的,直到採礦結構所提供的數據經過處理和分析為止。 處理採礦模型之後,它會包含元數據、結果和系結回到採礦結構。
元數據會指定模型的名稱和儲存所在的伺服器,以及模型的定義,包括用於建置模型之採礦結構的數據行、處理模型時所套用之任何篩選的定義,以及用來分析數據的演算法。 所有這些選擇-數據行及其數據類型、篩選和演算法,都會對分析結果產生強大的影響。
例如,您可以使用相同的數據來建立多個模型,或許是使用群集演算法、決策樹演算法和朴素貝氏演算法。 每個模型類型都會建立一組不同的模式、專案集、規則或公式,您可以用來進行預測。 一般而言,每個演算法都會以不同的方式分析數據,因此產生的模型 內容 也會以不同的結構組織。 在一種類型的模型中,數據與模式可能會分組在 叢集中;在另一種類型的模型中,數據可能會組織成樹狀結構、分支,以及分割和定義它們的規則。
模型也會受到您定型數據的影響:如果您以不同方式篩選數據或在分析期間使用不同的種子,即使是在相同採礦結構上定型的模型也會產生不同的結果。 不過,實際數據並不儲存在模型本身中,而是只儲存摘要統計數據,實際數據儲存在採礦結構中。 如果您在定型模型時已針對數據建立篩選,篩選定義也會與模型物件一起儲存。
此模型包含一組系結,指向採礦結構中快取的數據。 如果數據已在數據結構中快取,而且在處理之後尚未清除,這些系結可讓您從結果深入探查支持結果的案例。 不過,實際數據會儲存在結構快取中,而不是儲存在模型中。
定義數據採礦模型
您可以遵循下列一般步驟來建立數據採礦模型:
建立基礎採礦結構,並包含可能需要的數據欄。
選取最適合分析工作的演算法。
從結構中選擇要在模型中使用的數據行,並指定應該如何使用這些數據行,其中哪一個數據行包含您想要預測的結果、哪些數據行僅供輸入等等。
選擇性地設定參數以微調算法的處理。
藉由處理結構和模型來填充模型中的數據。
Analysis Services 提供下列工具來協助您管理採礦模型:
數據採礦精靈可協助您建立結構和相關的採礦模型。 這是最簡單的使用方法。 精靈會自動建立必要的採礦結構,並協助您設定重要的設定。
DMX CREATE MODEL 語句可用來定義模型。 必要結構會自動建立為程式的一部分;因此,您無法使用此方法重複使用現有的結構。 如果您已經確切知道要建立的模型,或是想要編寫模型腳本,請使用這個方法。
DMX ALTER STRUCTURE ADD MODEL 語句可用來將新的採礦模型新增至現有的結構。 如果您想要試驗以相同數據集為基礎的不同模型,請使用此方法。
您也可以使用 AMO 或 XML/A,或使用其他用戶端,例如 Excel 的數據採礦用戶端,以程式設計方式建立採礦模型。 如需詳細資訊,請參閱下列主題:
採礦模型屬性
每個採礦模型都有定義模型及其元數據的屬性。 其中包括名稱、描述、模型上次處理的日期、模型的許可權,以及用於定型之數據的任何篩選。
每個採礦模型也有衍生自採礦結構的屬性,以及描述模型所使用的數據行。 如果模型使用的任何數據行是巢狀數據表,數據行也可以套用個別的篩選。
此外,每個採礦模型都包含兩個特殊屬性: Algorithm 和 Usage。
Algorithm 屬性 指定用來建立模型的演算法。 可用的演算法取決於您所使用的提供者。 如需 SQL Server Analysis Services 隨附的演算法清單,請參閱數據採礦演算法(Analysis Services - 數據採礦)。 屬性
Algorithm適用於採礦模型,而且每個模型只能設定一次。 您可以稍後變更演算法,但如果您選擇的演算法不支援這些數據行,採礦模型中的某些數據行可能會變成無效。 您必須一律在變更此屬性之後重新處理模型。Usage 屬性 定義模型如何使用每個欄位。 您可以將資料列使用方式
Input定義為、Predict、Predict Only或Key。 屬性Usage適用於個別採礦模型數據行,而且必須針對模型中包含的每一個數據行個別設定。 如果結構包含您未在模型中使用的資料列,則使用方式會設定為Ignore。 您可能包含在採礦結構但未用於分析的數據範例可能是客戶名稱或電子郵件位址。 如此一來,您稍後就可以查詢它們,而不需要在分析階段包含它們。
建立採礦模型之後,您可以變更採礦模型屬性的值。 不過,即使是採礦模型名稱的任何變更,都需要重新處理模型。 重新處理模型之後,您可能會看到不同的結果。
挖掘模型欄位
採礦模型包含從採礦結構中定義的欄位所取得的資料。 您可以選擇要在模型中使用的採礦結構中的數據行,而且您可以建立採礦結構數據行的複本,然後重新命名或變更其使用方式。 在模型建置程式中,您也必須依模型定義數據行的使用方式。 此類資訊包括該數據行是否為索引鍵、是否用於預測,或演算法是否可以忽略該數據行。
當您建置模型,而不是自動新增可用的每一個數據行時,建議您仔細檢閱結構中的數據,並只包含那些對分析有意義的數據行。 例如,您應該避免包含多個重複相同數據的數據行,而且您應該避免使用具有大部分唯一值的數據行。 如果您認為不應該使用數據行,就不需要從採礦結構或採礦模型中刪除它;相反地,您可以在數據行上設定旗標,指定在建置模型時應該忽略它。 這表示此欄會保留在礦業結構中,但不會用於礦業模型中。 如果您已從模型啟用深入查詢至探勘結構,您可以稍後從欄位擷取資訊。
根據您選擇的演算法,採礦結構中的某些數據行可能會與特定模型類型不相容,或可能會讓您產生不良結果。 例如,如果您的數據包含連續數值數據,例如 Income 數據行,而您的模型需要離散值,您可能需要將數據轉換成離散範圍,或從模型中移除它。 在某些情況下,演算法會自動轉換或量化數據,但結果可能不一定是您想要或預期的結果。 考慮製作欄位的額外複本,並嘗試不同的模型。 您也可以在個別數據行上設定旗標,以指出需要特殊處理的位置。 例如,如果您的數據包含 Null,您可以使用模型旗標來控制處理。 如果您想要將特定資料行視為模型中的回歸變數,您可以使用模型標誌來做到這一點。
建立模型之後,您可以進行變更,例如新增或移除數據行,或變更模型的名稱。 不過,即使是模型元數據的任何變更,都需要重新處理模型。
處理採礦模型
數據採礦模型在未處理之前為空的物件。 當您處理模型時,如果模型中已定義篩選條件,結構所快取的數據會通過篩選,並由演算法進行分析。 演算法會計算一組摘要統計數據來描述數據、識別數據內的規則和模式,然後使用這些規則和模式來填入模型。
處理之後,採礦模型會包含透過分析所找到之數據和模式的豐富資訊,包括統計數據、規則和回歸公式。 您可以使用自定義查看器來流覽這項資訊,或者您可以建立數據採礦查詢來擷取這項資訊,並將其用於分析和呈現。
檢視和查詢採礦模型
處理模型之後,您可以使用 SQL Server Data Tools (SSDT) 和 SQL Server Management Studio 中提供的自定義查看器來探索模型。 為了
您也可以針對採礦模型建立查詢來進行預測,或擷取模型元數據或模型所建立的模式。 您可以使用資料採礦延伸模組 (DMX) 建立查詢。
相關內容
| 主題 | 連結 |
|---|---|
| 瞭解如何建置可支援多個採礦模型的採礦結構。 瞭解模型中欄位的使用方式。 |
採礦結構欄位 採礦模型數據行 內容類型 (資料採礦) |
| 瞭解不同的演算法,以及演算法的選擇如何影響模型內容。 |
採礦模型內容 (Analysis Services - 數據採礦) 資料採礦演算法 (Analysis Services - 數據採礦) |
| 現在,您可以設定影響其組合和行為的模型屬性。 |
採礦模型屬性 模型旗標 (資料採礦) |
| 了解數據採礦的可程式化介面。 |
使用分析管理物件進行開發 (AMO) 數據採礦延伸模組 (DMX) 參考 |
| 瞭解如何在 Analysis Services 中使用自定義數據採礦查看器。 | 數據採礦模型查看器 |
| 檢視可用於數據採礦模型之不同查詢類型的範例。 | 數據採礦查詢 |
相關工作
使用下列連結來取得使用數據採礦模型的相關更具體資訊
| 任務 | 連結 |
|---|---|
| 新增和刪除採礦模型 |
將採礦模型新增至現有的採礦結構 從採礦結構中刪除採礦模型 |
| 使用採礦模型欄位 |
從採礦模型排除數據行 為模型欄位建立別名 變更採礦模型中數據行的離散化 指定要在模型中作為回歸變數的欄位 |
| 改變模型屬性 |
變更採礦模型的屬性 將篩選套用至採礦模型 從採礦模型刪除篩選 啟用採礦模型的鑽取功能 檢視或變更演算法參數 |
| 複製。 移動或管理模型 |
製作採礦模型的複本 複製採礦模型視圖 EXPORT (DMX) IMPORT (DMX) |
| 使用數據填入模型,或更新模型中的數據 | 處理採礦模型 |
| 使用 OLAP 模型 | 建立數據採礦維度 |