国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

SQL Server 2008中使用數(shù)據(jù)挖掘模型

瀏覽:130日期:2023-10-28 13:24:58

為一個數(shù)據(jù)挖掘模型定型后,可以通過使用 SQL Server Management Studio 或 Business Intelligence Development Studio 中提供的自定義查看器來瀏覽此模型。但是,如果您希望進行預(yù)測或者從模型中獲取更深入的或更具體的信息,則必須依據(jù)此數(shù)據(jù)挖掘模型創(chuàng)建一個查詢。在以下情況下,查詢可幫助您更好地理解和處理模型中的信息:

進行單個預(yù)測和批預(yù)測。

了解有關(guān)模型發(fā)現(xiàn)的模式的更多信息。

查看有關(guān)模型的特定模式或子集的詳細信息或定型事例。

在挖掘模型中鉆取到事例的詳細信息。

提取有關(guān)全部或部分模型和數(shù)據(jù)的公式、規(guī)則或統(tǒng)計信息。

SQL Server Analysis Services 提供用于創(chuàng)建查詢的圖形設(shè)計界面,以及一種稱為數(shù)據(jù)挖掘擴展插件 (DMX) 的查詢語言,這種語言對于創(chuàng)建自定義預(yù)測和復(fù)雜查詢很有用。若要生成 DMX 預(yù)測查詢,可以使用 SQL Server Management Studio 和 Business Intelligence Development Studio 中均提供的查詢生成器。SQL Server Management Studio 中還提供了一組 DMX 查詢模板。

有關(guān)如何使用查詢生成器的詳細信息,請參閱使用預(yù)測查詢生成器創(chuàng)建 DMX 預(yù)測查詢。

有關(guān)如何使用 DMX 查詢模板的詳細信息,請參閱在 SQL Server Management Studio 中創(chuàng)建 DMX 查詢或如何在 SQL Server Management Studio 中使用模板。

預(yù)測查詢

許多數(shù)據(jù)挖掘項目的主要目標(biāo)是使用挖掘模型來進行預(yù)測。例如,您可能要在十二月期間預(yù)測公司明年銷售的產(chǎn)品數(shù)量,或者可能要預(yù)測在某個廣告活動后潛在客戶是否會購買產(chǎn)品。

創(chuàng)建預(yù)測時,通常會提供一些新數(shù)據(jù),并要求模型基于新數(shù)據(jù)生成一個預(yù)測??梢酝ㄟ^在“預(yù)測聯(lián)接”中將模型映射到一個外部數(shù)據(jù)源來以批方式進行預(yù)測?;蛘?,可以通過創(chuàng)建一個“單獨”查詢一次提供一個值。

單獨預(yù)測查詢和批預(yù)測查詢都使用 PREDICTION JOIN 語法來定義新數(shù)據(jù):不同之處在于預(yù)測聯(lián)接輸入端的指定方式。在單獨查詢中,數(shù)據(jù)是作為查詢的一部分內(nèi)聯(lián)提供的。在批查詢中,數(shù)據(jù)來自使用 OPENQUERY 語法指定的外部數(shù)據(jù)源。有關(guān)詳細信息,請參閱 OPENQUERY (DMX)。

此外,使用時序模型可以僅僅基于模型來進行預(yù)測,即不需要提供任何新數(shù)據(jù),而僅僅基于現(xiàn)有序列來請求預(yù)測。

下面提供有關(guān)如何創(chuàng)建上述每一類查詢的信息:

查詢類型; 查詢選項; 單獨預(yù)測查詢 針對在查詢中鍵入的單個新事例或者多個新事例進行預(yù)測。 批預(yù)測 將外部數(shù)據(jù)源中的新事例映射到模型并進行預(yù)測。 時序預(yù)測 基于現(xiàn)有模型預(yù)測指定數(shù)目的將來步驟。

通過添加新數(shù)據(jù)來擴展現(xiàn)有模型,并基于組合序列來進行預(yù)測。

通過使用 REPLACE_MODEL_CASES 選項向新數(shù)據(jù)序列應(yīng)用現(xiàn)有模型。 除了預(yù)測特定值,例如,下個月的銷售額,或者要向客戶建議的產(chǎn)品,您還可以自定義預(yù)測查詢,以返回與預(yù)測有關(guān)的各種類型的信息。例如,知道預(yù)測正確的概率可能很有幫助,這樣您就可以決定是否向用戶提出建議。

若要自定義預(yù)測查詢所返回的信息,應(yīng)向查詢中添加“預(yù)測函數(shù)”。每個模型或查詢類型都支持特定的函數(shù)。例如,聚類分析模型支持特殊預(yù)測函數(shù),這些函數(shù)提供有關(guān)模型創(chuàng)建的分組的額外詳細信息。時序模型支持計算隨時間的變化的預(yù)測函數(shù)。還有可處理幾乎所有模型類型的通用預(yù)測函數(shù)。有關(guān)不同查詢類型支持的預(yù)測函數(shù)的列表,請參閱將函數(shù)映射到查詢類型 (DMX)。有關(guān)預(yù)測函數(shù)的完整列表,請參閱數(shù)據(jù)挖掘擴展插件 (DMX) 函數(shù)參考。

單獨查詢 如果要實時創(chuàng)建簡單預(yù)測,則單獨查詢很有用。例如,您可能通過使用網(wǎng)站從客戶那里獲取信息,然后使用這些數(shù)據(jù)返回預(yù)測,這些預(yù)測以特定于該客戶的建議信息的形式呈現(xiàn)?;蛘?,您也可能分析電子郵件的內(nèi)容,然后使用現(xiàn)有分類模型來對電子郵件進行分類,并相應(yīng)地傳送郵件。

單獨查詢不需要包含輸入的單獨表。只需將一行數(shù)據(jù)傳遞給模型,便會實時地返回一個預(yù)測。您還可以將單獨查詢擴展為進行多個預(yù)測,方法是鍵入包含單個事例的 SELECT 語句,再添加 UNION 運算符,然后鍵入另一個 SELECT 語句以指定另一個事例。

可以通過以下方式基于現(xiàn)有模型創(chuàng)建單獨查詢:

使用數(shù)據(jù)挖掘設(shè)計器。

使用單獨查詢模板。

以編程方式或者在另一個 Analysis Services 客戶端中創(chuàng)建 DMX 語句。

創(chuàng)建單獨查詢時,必須以 PREDICTION JOIN 的形式向模型提供新數(shù)據(jù)。這意味著即使不映射到實際表,也必須確保新數(shù)據(jù)與挖掘模型中的現(xiàn)有列匹配。如果新數(shù)據(jù)列與新數(shù)據(jù)完全匹配,則 Analysis Services 將自動映射列。這稱為“NATURAL PREDICTION JOIN”。但是,如果列不匹配,或者新數(shù)據(jù)在類型和量上與模型所包含的數(shù)據(jù)并不相同,則必須指定模型映射中的哪些列映射到新數(shù)據(jù),或者指定缺少的值。

批預(yù)測查詢 執(zhí)行預(yù)測聯(lián)接時,應(yīng)將模型映射到新數(shù)據(jù)源,之后 Analysis Services 將基于模型中的模式針對新數(shù)據(jù)中的每一行進行預(yù)測。如果表或其他外部數(shù)據(jù)源中有許多信息,并且您要使用經(jīng)過定型的模型來進行預(yù)測,則預(yù)測聯(lián)接很有用。

可以通過以下方式基于現(xiàn)有模型創(chuàng)建批預(yù)測查詢:

使用數(shù)據(jù)挖掘設(shè)計器。

使用模板。

以編程方式或者在另一個 Analysis Services 客戶端中創(chuàng)建 DMX 語句。

如果通過使用數(shù)據(jù)挖掘設(shè)計器來創(chuàng)建批預(yù)測查詢,則必須先將外部數(shù)據(jù)源定義為一個數(shù)據(jù)源視圖。

如果使用 DMX 來創(chuàng)建預(yù)測聯(lián)接,則可以通過使用 OPENQUERY、OPENROWSET 或 SHAPE 命令來指定外部數(shù)據(jù)源。DMX 模板中的默認數(shù)據(jù)訪問方法是 OPENQUERY。有關(guān)這些方法的信息,請參閱 <source data query>。

無論您如何定義外部數(shù)據(jù),指定的數(shù)據(jù)源都必須包含其數(shù)據(jù)與模型中的數(shù)據(jù)類似的列。但是,新的信息可以是不完整的。例如,您的客戶列表可能包含年齡列,但不包含有關(guān)收入的信息。即使在為模型定型時使用了收入數(shù)據(jù),仍可以將新數(shù)據(jù)映射到該模型并創(chuàng)建一個預(yù)測;但是,在某些情況下,缺少完整的信息可能會影響預(yù)測的質(zhì)量。

為獲得最佳結(jié)果,應(yīng)當(dāng)在新數(shù)據(jù)與模型之間聯(lián)接盡可能多的匹配列。但是,即使沒有匹配項,查詢也會成功。如果不聯(lián)接任何列,則查詢將返回邊緣預(yù)測,這與不含 PREDICTION JOIN 子句的語句 SELECT <predictable-column> FROM <model> 是等效的。

處理預(yù)測查詢的結(jié)果

預(yù)測查詢與關(guān)系數(shù)據(jù)庫中的查詢不同。您添加到查詢中的每個預(yù)測函數(shù)都返回它自己的行集。因此,當(dāng)您針對一個事例進行預(yù)測時,結(jié)果可能是一個預(yù)測的值,以及包含其他詳細信息的幾個嵌套表列。

只要在一個查詢中組合多個函數(shù),返回結(jié)果都將組合為一個分層行集。但是,如果提供程序無法處理分層的行集,則可以通過在預(yù)測查詢中使用 FLATTEN 關(guān)鍵字來對結(jié)果進行平展處理。

時序挖掘模型中的預(yù)測

在使用新數(shù)據(jù)和創(chuàng)建預(yù)測的方法這一方面,時序模型具有更高的靈活性。您既可以在需要創(chuàng)建預(yù)測時使用此模型,也可以向模型提供新數(shù)據(jù),以基于最近的趨勢更新預(yù)測。如果您添加新數(shù)據(jù),則可以指定新數(shù)據(jù)的使用方式,以擴展或更換模型事例。

擴展模型事例時,應(yīng)向時序模型添加新的事實數(shù)據(jù),從而使進一步的預(yù)測基于新的組合序列。更換模型事例時,應(yīng)保留定型后的模型,但將基礎(chǔ)事例更換為新的一組事例數(shù)據(jù)。

無論您使用那種方法,預(yù)測的起點都總是原始序列的終點。

例如,假定您有一個現(xiàn)有的時序模型,它的上一年銷售數(shù)據(jù)已定型。收集了幾個月的新銷售數(shù)據(jù)后,您決定更新今年的銷售預(yù)測。您可以添加新數(shù)據(jù)并擴展模型以進行新預(yù)測,從而創(chuàng)建更新模型的預(yù)測聯(lián)接。

或者,可以基于現(xiàn)有數(shù)據(jù)生成模型,然后創(chuàng)建將事例數(shù)據(jù)更換為新數(shù)據(jù)的預(yù)測聯(lián)接。這在某些情況下是很有用的,例如,當(dāng)一個存儲缺少很多數(shù)據(jù),并且您希望使用基于其他存儲數(shù)據(jù)生成的模型來進行預(yù)測時。有關(guān)如何在時序模型上創(chuàng)建預(yù)測聯(lián)接的詳細信息,請參閱“查詢時序模型”或 PredictTimeSeries (DMX)。

內(nèi)容查詢

內(nèi)容查詢是一種提取有關(guān)內(nèi)部統(tǒng)計信息以及挖掘模型結(jié)構(gòu)信息的一種方式。有時,內(nèi)容查詢可提供在查看器中不易查看的詳細信息。您還可以使用內(nèi)容查詢的結(jié)果以編程方式提取信息以供他用。例如,可以提取公式或概率進行自己的計算,或者檢索有關(guān)模型中的事例的可操作信息。

查詢類型; 查詢選項; SELECT FROM <模型>.CASES 查找用于定型或測試模型的事例。鉆取到數(shù)據(jù),包括基礎(chǔ)挖掘結(jié)構(gòu)中的列。 SELECT FROM <結(jié)構(gòu)>.CASES 查看結(jié)構(gòu)中包含的所有數(shù)據(jù),包括特定挖掘模型中不包括的列。 SELECT FROM <模型>.CONTENT 檢索有關(guān)模型中特定節(jié)點的詳細信息,包括規(guī)則和公式、支持和方差統(tǒng)計信息等。 SELECT FROM <模型>.DIMENSIONCONTENT 支持對數(shù)據(jù)挖掘維度的查詢。

此查詢類型主要供內(nèi)部使用。如果您開發(fā)自己的插件算法,則可使用此語法測試您的模型。

并非所有算法都支持此功能。是否支持將通過 MINING_SERVICES 架構(gòu)行集中的一個標(biāo)志來指示。 一些模型內(nèi)容在所有算法中都是標(biāo)準(zhǔn)的。但是,通常而言,每個模型的內(nèi)容都依賴于用來生成模型的算法。因此,在創(chuàng)建內(nèi)容查詢時,必須了解模型中哪些類型的信息是最有用的。

例如,如果創(chuàng)建一個使用 SELECT FROM <model>.CONTENT 語法的查詢,則根據(jù)模型是順序分析和聚類分析模型、決策樹模型還是時序模型,此查詢會返回差異很大的信息。對于關(guān)聯(lián)模型,您可能要檢索特定規(guī)則的說明,以便可以在自定義應(yīng)用程序中使用規(guī)則,而在時序或順序分析和聚類分析模型中,您可能要查找有關(guān)模型所檢測的時間模式的更多信息。

以下部分提供了一些示例,以說明可以從內(nèi)容查詢中獲得的信息的廣度和深度;但是,有關(guān)挖掘模型內(nèi)容以及特定于每種模型類型的內(nèi)容的信息,請參閱挖掘模型內(nèi)容(Analysis Services - 數(shù)據(jù)挖掘)。

示例 1:關(guān)聯(lián)模型中的內(nèi)容查詢 可以使用 SELECT FROM <模型>.CONTENT 語句來返回不同類型的內(nèi)容,具體取決于所查詢的模型的類型。對于關(guān)聯(lián)模型,表示規(guī)則的節(jié)點具有 NODE_TYPE 值 8,而項集則具有 NODE_TYPE 值 7。因此,下面的查詢將返回最前面的 10 個項集,這些項集按支持度排序(默認排序順序)。

SELECT TOP 10 NODE_DESCRIPTION, NODE_PROBABILITY, SUPPORT FROM <model>.CONTENT WHERE NODE_TYPE = 7下面的示例返回三個列:節(jié)點的 ID、完整規(guī)則以及項集右側(cè)的產(chǎn)品,也就是被預(yù)測將作為項集的一部分與其他某些產(chǎn)品關(guān)聯(lián)的產(chǎn)品。

FLATTENED 關(guān)鍵字表示嵌套行集應(yīng)轉(zhuǎn)換為平面表。表示規(guī)則右側(cè)產(chǎn)品的屬性包含在 NODE_DISTRIBUTION 表中;因此,我們通過添加長度大于 2 的要求來僅檢索包含屬性名的行。使用一個簡單的字符串函數(shù)從第三列中刪除模型的名稱。通常,模型名稱總是作為嵌套列的值的前綴。WHERE 子句指定 NODE_TYPE 的值應(yīng)當(dāng)為 8,這表示僅僅檢索規(guī)則。

SELECT FLATTENED NODE_UNIQUE_NAME , NODE_DESCRIPTION, (SELECT RIGHT(ATTRIBUTE_NAME, (LEN(ATTRIBUTE_NAME)-LEN('Association model name'))) FROM NODE_DISTRIBUTIONWHERE LEN(ATTRIBUTE_NAME)>2) AS RightSideProductFROM [Association model name].CONTENTWHERE NODE_TYPE = 8 ORDER BY NODE_SUPPORT DESC有關(guān)詳細信息,請參閱查詢關(guān)聯(lián)模型(Analysis Services – 數(shù)據(jù)挖掘)。

示例 2:決策樹模型的內(nèi)容查詢 查詢模型內(nèi)容非常重要的一種情況是:您想返回規(guī)則,說明預(yù)測該狀態(tài)的原因,從而對預(yù)測查詢執(zhí)行進一步的操作。例如,可以通過使用如下語法向查詢中添加預(yù)測函數(shù) PredictNodeId,以獲取包含規(guī)則的節(jié)點的 ID:

SELECT; Predict([College Plans]), PredictNodeID([College Plans]) FROM [College Plans Tree]PREDICTION JOIN <input rowset> 對于決策樹模型,標(biāo)題包含指向輸出的路徑的說明。因此,一旦您具有包含輸出的節(jié)點的 ID,就可通過創(chuàng)建如下所示的內(nèi)容查詢來檢索說明此預(yù)測的規(guī)則或路徑:

SELECT NODE_CAPTIONFROM [College Plans Tree] WHERE NODE_UNIQUE_NAME= '<node id>'

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 孙吴县| 科尔| 文昌市| 宜川县| 白河县| 新龙县| 兖州市| 西安市| 平果县| 诏安县| 乌拉特后旗| 平定县| 永靖县| 三穗县| 陈巴尔虎旗| 岳阳县| 家居| 博爱县| 陈巴尔虎旗| 潜山县| 怀来县| 保靖县| 大城县| 汽车| 罗平县| 曲周县| 杭锦后旗| 新津县| 江安县| 古丈县| 泉州市| 南阳市| 张北县| 沐川县| 武乡县| 山阴县| 梁山县| 牟定县| 福安市| 洛南县| 类乌齐县|