CREATE MINING MODEL (DMX)
適用於:SQL Server Analysis Services
在資料庫中建立新的採礦模型和採礦結構。 您可以在語句中定義新的模型,或使用預測模型標記語言 (PMML) 來建立模型。 第二個選項僅適用於進階使用者。
採礦結構是藉由將 「_structure」 附加至模型名稱來命名,這可確保結構名稱與模型名稱是唯一的。
若要建立現有採礦結構的採礦模型,請使用 ALTER MINING STRUCTURE (DMX) 語句。
語法
CREATE [SESSION] MINING MODEL <model>
(
[(<column definition list>)]
)
USING <algorithm> [(<parameter list>)] [WITH DRILLTHROUGH]
CREATE MINING MODEL <model> FROM PMML <xml string>
引數
model
模型的唯一名稱。
數據行定義清單
以逗號分隔的數據行定義清單。
algorithm
數據採礦演算法的名稱,如目前提供者所定義。
注意
您可以使用 DMSCHEMA_MINING_SERVICES Rowset 來擷取目前提供者支援的演算法清單。 若要檢視 Analysis Services 目前實例中支援的演算法,請參閱 數據採礦屬性。
參數清單
選擇性。 演算法的提供者定義參數逗號分隔清單。
XML 字串
(僅供進階使用。)XML 編碼模型 (PMML)。 字串必須以單引號括住 (')。
SESSION 子句可讓您建立採礦模型,此模型會在連接關閉或會話逾時時自動從伺服器移除。 SESSION 採礦模型很有用,因為它們不需要使用者成為資料庫管理員,而且只要連線開啟,他們只會使用磁碟空間。
WITH DRILLTHROUGH子句可對新的採礦模型進行鑽研。 您只能在建立模型時啟用鑽研。 對於某些模型類型,需要鑽研才能在自定義查看器中流覽模型。 預測或使用一般內容樹視圖器Microsoft流覽模型不需要鑽研。
CREATE MINING MODEL 語句會根據數據行定義清單、演算法和演算法參數清單,建立新的採礦模型。
數據行定義清單
您可以定義使用資料列定義清單的模型結構,方法是包含每個資料行的下列資訊:
名稱 (必要項)
資料型態 (必要)
發佈
模型旗標清單
內容類型(必要)
預測要求,這個要求會向演算法指出預測這個數據行,由 PREDICT 或 PREDICT_ONLY 子句表示
與屬性數據行的關聯性(只有在適用時才強制),由 RELATED TO 子句表示
針對資料列定義清單使用下列語法來定義單一資料列:
<column name> <data type> [<Distribution>] [<Modeling Flags>] <Content Type> [<prediction>] [<column relationship>]
針對資料列定義清單使用下列語法來定義巢狀資料表資料列:
<column name> TABLE [<prediction>] ( <non-table column definition list> )
除了模型旗標之外,您只能使用來自特定群組的一個子句來定義數據行。 您可以定義資料列的多個模型旗標。
如需可用來定義資料行的數據類型、內容類型、數據行散發和模型旗標清單,請參閱下列主題:
您可以將 子句新增至 語句,以描述兩個數據行之間的關聯性。 Analysis Services 支援使用下列 <Column 關聯> 性子句。
與
此表單表示值階層。 RELATED TO 資料行的目標可以是巢狀數據表中的索引鍵數據行、案例數據列中的離散值數據行,或是具有 RELATED TO 子句的另一個數據行,表示更深層階層。
使用預測子句來描述預測數據行的使用方式。 下表描述兩個可能子句。
<prediction> 子句 | 描述 |
---|---|
PREDICT | 此數據行可由模型預測,而且可以在輸入案例中提供,以預測其他可預測數據行的值。 |
PREDICT_ONLY | 此數據行可由模型預測,但其值不能用於輸入案例中來預測其他可預測數據行的值。 |
參數定義清單
您可以使用參數清單來調整採礦模型的效能和功能。 參數清單的語法如下所示:
[<parameter> = <value>, <parameter> = <value>,...]
如需與每個演算法相關聯的參數清單,請參閱數據採礦演算法(Analysis Services - 數據採礦)。
備註
如果您想要建立具有內建測試數據集的模型,您應該使用語句 CREATE MINING STRUCTURE,後面接著 ALTER MINING STRUCTURE。 不過,並非所有模型類型都支援鑒效組數據集。 如需詳細資訊,請參閱 CREATE MINING STRUCTURE (DMX) 。
如需如何使用 CREATEMODEL 語句建立採礦模型的逐步解說,請參閱 時間序列預測 DMX 教學課程。
貝氏機率分類範例
下列範例會使用 Microsoft貝氏機率分類演算法來建立新的採礦模型。 Bike Buyer 資料行定義為可預測的屬性。
CREATE MINING MODEL [NBSample]
(
CustomerKey LONG KEY,
Gender TEXT DISCRETE,
[Number Cars Owned] LONG DISCRETE,
[Bike Buyer] LONG DISCRETE PREDICT
)
USING Microsoft_Naive_Bayes
關聯模型範例
下列範例會使用Microsoft關聯演算法來建立新的採礦模型。 語句利用使用數據表數據行在模型定義內巢狀數據表的能力。 使用 MINIMUM_PROBABILITY 和 MINIMUM_SUPPORT 參數來修改模型。
CREATE MINING MODEL MyAssociationModel (
OrderNumber TEXT KEY,
[Products] TABLE PREDICT (
[Model] TEXT KEY
)
)
USING Microsoft_Association_Rules (Minimum_Probability = 0.1, MINIMUM_SUPPORT = 0.01)
時序叢集範例
下列範例會使用Microsoft時序群集演算法來建立新的採礦模型。 兩個索引鍵可用來定義模型。 OrderNumber 數據行會當做案例索引鍵使用,並指定個別訂單。 LineNumber 資料行會當做巢狀數據表索引鍵使用,並指定專案加入順序的順序。
CREATE MINING MODEL BuyingSequence (
[Order Number] TEXT KEY,
[Products] TABLE
(
[Line Number] LONG KEY SEQUENCE,
[Model] TEXT DISCRETE PREDICT
)
)
USING Microsoft_Sequence_Clustering
時間序列範例
下列範例會使用 Microsoft 時間序列演算法,使用 ARTxp 演算法建立新的採礦模型。 ReportingDate 是時間序列的索引鍵數據行,ModelRegion 是數據序列的索引鍵數據行。 在此範例中,假設數據的週期性每 12 個月一次。 因此, PERIODICITY_HINT 參數會設定為12。
注意
您必須使用大括號字元來 指定PERIODICITY_HINT 參數。 此外,因為值是字串,所以必須以單引弧括住:“{<numeric value>}”。
CREATE MINING MODEL SalesForecast (
ReportingDate DATE KEY TIME,
ModelRegion TEXT KEY,
Amount LONG CONTINUOUS PREDICT,
Quantity LONG CONTINUOUS PREDICT
)
USING Microsoft_Time_Series (PERIODICITY_HINT = '{12}', FORECAST_METHOD = 'ARTXP')
另請參閱
數據採礦延伸模組 (DMX) 資料定義語句
數據採礦延伸模組 (DMX) 數據操作語句
資料採礦延伸模組 (DMX) 陳述式參考