版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本章將回顧Analysis Services工具集,同時(shí)介紹有效創(chuàng)建挖掘模型和分析挖掘模型的技巧。在學(xué)習(xí)本章之前,讀者應(yīng)該已經(jīng)熟悉了第3章介紹的模型構(gòu)建的概念,而且對挖掘結(jié)構(gòu)、挖掘模型、挖掘模型列、事例表和嵌套表的概念也有了較深入的理解。對于初學(xué)者來說,本章可以幫助他們?nèi)腴T,對于有一定SQL Server數(shù)據(jù)挖掘經(jīng)驗(yàn)的用戶來說,本章可以為他們提供一些技術(shù),以幫助他們最有效地發(fā)揮該工具集的作用。但是這并不意味著本章可以取代產(chǎn)品的幫助文檔中優(yōu)秀的幫助和教程。更確切地說,本章講述如何使用Analysis Services提供的通用工具,特別是用于數(shù)據(jù)挖掘的工具。本章將通過用戶界面來講述如何使用Ana
2、lysis Services的功能,并提供詳細(xì)的操作步驟來示范如何創(chuàng)建一組挖掘模型。本章還將穿插介紹相關(guān)的一些概念。如果您偏離這些操作太遠(yuǎn),則可以重新開始操作,也可以從本書的Web站點(diǎn)( data_mining_SQL_2008)上獲得完整的項(xiàng)目文件,以便隨時(shí)使用。本章將會使用附錄A描述的MovieClick數(shù)據(jù)庫來舉例說明工具的用法。本章將學(xué)習(xí): 使用Business Intelligence Development Studio(BI Dev Studio) 理解即時(shí)模式和脫機(jī)模式 創(chuàng)建及修改數(shù)據(jù)源、數(shù)據(jù)源視圖和數(shù)據(jù)挖掘?qū)ο?瀏覽數(shù)據(jù)和評估模型4.1 BI Dev Studio介紹在使用S
3、QL Server數(shù)據(jù)挖掘功能的過程中,大部分時(shí)間將會花費(fèi)在商業(yè)智能應(yīng)用程序開發(fā)工具集(Business Intelligence Development Studio,BI Dev Studio)上。BI Dev Studio環(huán)境已經(jīng)集成到Microsoft Visual Studio(VS)框架中,為商業(yè)智能操作提供了完整的開發(fā)環(huán)境。在使用Visual Studio時(shí),數(shù)據(jù)挖掘項(xiàng)目是一組項(xiàng)目中的一部分,這組項(xiàng)目也稱為解決方案。數(shù)據(jù)挖掘項(xiàng)目與應(yīng)用程序所要求的其他項(xiàng)目可以組合到一個(gè)解決方案中。例如,數(shù)據(jù)庫管理員(Database Administrator,DBA)可能創(chuàng)建一個(gè)Integrat
4、ion Services項(xiàng)目,這個(gè)項(xiàng)目從聯(lián)機(jī)事務(wù)處理(OLTP)系統(tǒng)中提取數(shù)據(jù),并且把這些數(shù)據(jù)轉(zhuǎn)換為適合于數(shù)據(jù)挖掘的形式。然后,分析員可以創(chuàng)建一個(gè)Analysis Services項(xiàng)目,這個(gè)項(xiàng)目包含瀏覽事務(wù)數(shù)據(jù)和分析事務(wù)數(shù)據(jù)的模型。最后,應(yīng)用程序開發(fā)人員可以創(chuàng)建一個(gè)Web服務(wù)和Web站點(diǎn),在終端用戶應(yīng)用程序和商業(yè)化的服務(wù)中嵌入這些模型。所有這些項(xiàng)目都可以包含在一個(gè)解決方案中,這個(gè)解決方案包含所有相互合作完成的工作。而且,這些工作的所有方面都可以通過源控制系統(tǒng)中完整的版本歷史來獲得。4.1.1 用戶界面BI Dev Studio主要是為應(yīng)用程序開發(fā)人員設(shè)計(jì)的,有一個(gè)實(shí)現(xiàn)解決方案的非結(jié)構(gòu)化方法,該
5、方法與傳統(tǒng)的數(shù)據(jù)挖掘工具完全不一樣。該方法和BI Dev Studio開發(fā)環(huán)境的復(fù)雜性,使得那些熟悉其他數(shù)據(jù)挖掘工具集的用戶感到害怕。然而,開始使用這個(gè)工具時(shí),要處理Visual Studio中內(nèi)置的無數(shù)選項(xiàng)和窗口,一旦經(jīng)歷這一段的磨練之后,要?jiǎng)?chuàng)建和分析一個(gè)挖掘模型就是非常簡單的事。熟悉BI Dev Studio的第一步是理解用戶界面各個(gè)部分中哪些部分是重要的,并且理解各個(gè)部分的作用。圖4-1列出了BI Dev Studio的典型窗口布局,其中對各個(gè)重要的元素做了標(biāo)注。圖4-1 BI Dev StudioBI Dev Studio最重要的部分如下所示。 解決方案資源管理器:解決方案資源管理器窗
6、口用于管理解決方案和項(xiàng)目。在這個(gè)窗口中可以創(chuàng)建和管理所有的對象。要在項(xiàng)目中增加一個(gè)對象,可以右擊項(xiàng)目名,然后選擇“添加新項(xiàng)”,或者右擊一個(gè)特定文件夾,然后選擇“新建”。進(jìn)行上述操作之后,將會啟動(dòng)一個(gè)對話框或向?qū)В瑒?chuàng)建特定的對象了。 窗口選項(xiàng)卡:通過窗口選項(xiàng)卡可以在設(shè)計(jì)器窗口之間快速切換。每一個(gè)當(dāng)前打開的文件或者對象都有一個(gè)選項(xiàng)卡。如果打開的對象的數(shù)目超過了選項(xiàng)卡區(qū)域能夠容納的數(shù)目,則可以使用選項(xiàng)卡右邊的滑動(dòng)條來瀏覽其他的窗口。 設(shè)計(jì)窗口:設(shè)計(jì)窗口是編輯和分析對象的地方。創(chuàng)建一個(gè)新的對象或者在解決方案資源管理器中雙擊一個(gè)對象,將會打開該對象的特定設(shè)計(jì)窗口,以修改該對象,與該對象交互。 設(shè)計(jì)選項(xiàng)卡
7、:許多對象都有不同的方面,可以對它們進(jìn)行編輯或者與它們交互。這些方面在設(shè)計(jì)器窗口中是通過選項(xiàng)卡來給出的。 屬性窗口:屬性窗口是一個(gè)上下文相關(guān)的窗口,它顯示當(dāng)前選擇項(xiàng)的屬性。屬性窗口在Visual Studio中很常見,適用于該開發(fā)環(huán)境中所執(zhí)行的任何類型的操作。例如,如果在解決方案資源管理器中選擇一個(gè)對象,則在屬性窗口中將會顯示所選對象的屬性(比如對象ID、文件名等等)。如果在數(shù)據(jù)挖掘設(shè)計(jì)器窗口中選擇某一列,則在屬性窗口中將會顯示列的屬性(比如名稱和數(shù)據(jù)類型)。如果所選的項(xiàng)沒有屬性,則屬性窗口將是空的。 BI菜單:BI菜單位于主菜單欄的“調(diào)試”菜單和“工具”菜單之間,從中可以找到特定于Analy
8、sis Services對象的上下文相關(guān)的菜單。例如,如果打開數(shù)據(jù)源視圖(Data Source View,DSV)編輯器,則“格式”菜單和DSV菜單將會在這個(gè)區(qū)域中顯示。 輸出窗口:當(dāng)構(gòu)建和部署項(xiàng)目時(shí),輸出窗口將顯示相關(guān)的信息。如果項(xiàng)目有錯(cuò)誤,則可以在輸出窗口中查看關(guān)于該錯(cuò)誤的描述。注意:要使操作環(huán)境更適合自己的數(shù)據(jù)挖掘任務(wù),可以按照所喜歡的形式重新組織工作空間。單擊并且拖動(dòng)任何窗口的標(biāo)題欄,可以顯示窗口懸浮的圖標(biāo),以幫助懸浮和停靠窗口。甚至可以將這些窗口彼此疊放,這樣,可選擇的選項(xiàng)卡將會顯示在窗口的下面。在集成開發(fā)環(huán)境中選擇不同的選項(xiàng)時(shí),可能會顯示額外的窗口??梢躁P(guān)掉當(dāng)前不再使用的窗口不要
9、擔(dān)心,如果需要它們,總是可以從視圖菜單中打開它們。如果想使那些窗口易于使用,而且在屏幕空間上運(yùn)行短暫時(shí)間,則可以在窗口的標(biāo)題欄中單擊圖釘圖標(biāo),這樣,當(dāng)不使用這個(gè)窗口時(shí),該窗口將會自動(dòng)隱藏。4.1.2 脫機(jī)模式和即時(shí)模式BI Dev Studio有兩種工作模式:脫機(jī)模式和即時(shí)模式。具體使用哪一種工作模式有時(shí)基于個(gè)人的愛好,有時(shí)基于個(gè)人的需要。每一種模式都有各自的優(yōu)點(diǎn)和缺點(diǎn),重要的是,在使用BI Dev Studio時(shí)需要理解這兩種模式的區(qū)別。1. 即時(shí)模式對數(shù)據(jù)挖掘用戶來說,工作在即時(shí)模式下是很自然的。在即時(shí)模式下工作時(shí),就直接并持續(xù)地連接到Analysis Services服務(wù)器。當(dāng)打開一個(gè)對
10、象(比如挖掘結(jié)構(gòu))時(shí),是從服務(wù)器中打開該對象。當(dāng)改變了對象并且要保存它時(shí),該對象將直接在服務(wù)器上改變。在即時(shí)模式下,BI Dev Studio項(xiàng)目是一個(gè)到服務(wù)器上的數(shù)據(jù)庫的鏈接。在解決方案資源管理器中,可以看到數(shù)據(jù)庫中的當(dāng)前所有對象。如果關(guān)閉這個(gè)項(xiàng)目,然后重新打開它,將會自動(dòng)重新連接到該數(shù)據(jù)庫。如果上次打開該項(xiàng)目時(shí)數(shù)據(jù)庫中的對象已經(jīng)改變了,則再一次打開它時(shí),還能夠看到這些改變。雖然這種模式很直觀,也很容易理解,但是在使用時(shí)有一些因素還是應(yīng)該注意的。最重要的是,它是真正的“即時(shí)”。如果有一個(gè)現(xiàn)成的工作模型,需要修改并保存該模型,那么,這種改變立即進(jìn)行,并且該模型會變成是未處理的,任何針對該模型的
11、查詢都無法執(zhí)行。除此之外,如果已經(jīng)打開一個(gè)對象,其他用戶也可以修改它。如果已經(jīng)修改了一個(gè)對象并且試圖保存它,將會看到一個(gè)警告,因?yàn)楸4鎸ο髸r(shí)會覆蓋其他用戶已經(jīng)做出的修改。只有關(guān)閉對象并且重新打開它時(shí),在服務(wù)器上的對象改變才能在項(xiàng)目中反映出來。在數(shù)據(jù)庫中新建或者刪除一個(gè)對象后,只有在關(guān)閉項(xiàng)目并且重新打開它時(shí)才能看得到所進(jìn)行的改變。即時(shí)模式相對于脫機(jī)模式來說,一個(gè)最大的優(yōu)點(diǎn)是安全性高。如果在即時(shí)模式下工作,則該模式允許在單一數(shù)據(jù)庫限定的范圍工作,同時(shí)允許擁有數(shù)據(jù)庫管理員權(quán)限的用戶創(chuàng)建和修改對象。下一節(jié)將會講述為什么使用脫機(jī)模式要求用戶是服務(wù)器管理員。2. 在即時(shí)模式下使用BI Dev Studio
12、要在即時(shí)模式下開始使用BI Dev Studio,則按照下面步驟進(jìn)行操作:(1) 啟動(dòng)BI Dev Studio。(2) 在“文件”菜單中選擇“打開”,然后選擇Analysis Services數(shù)據(jù)庫,如圖4-2所示的對話框?qū)霈F(xiàn)。(3) 在對話框的相應(yīng)輸入框中輸入要連接的服務(wù)器名和數(shù)據(jù)庫名。(4) 單擊“確定”按鈕。如果有服務(wù)器管理員的權(quán)限,則也可以在服務(wù)器上創(chuàng)建新的數(shù)據(jù)庫,所需的操作是選擇“創(chuàng)建新數(shù)據(jù)庫”單選按鈕,然后指定服務(wù)器名和數(shù)據(jù)庫名。圖4-2 即時(shí)模式下連接到數(shù)據(jù)庫的對話框3. 脫機(jī)模式在脫機(jī)模式下工作時(shí),項(xiàng)目包含的文件存儲在客戶機(jī)上。在這種環(huán)境下修改對象時(shí),所作的修改以XML文
13、檔的格式存儲在硬盤上。在將一個(gè)模型或者對象部署到目標(biāo)服務(wù)器之前,所創(chuàng)建的模型和其他對象不會存儲在服務(wù)器上,而是存儲在客戶機(jī)上。這樣就允許數(shù)據(jù)挖掘開發(fā)人員或者分析員在將模型部署到真正的服務(wù)器之前進(jìn)行一些操作,設(shè)計(jì)和測試該模型。也可以將這些文件放到源控制系統(tǒng)中,以便跟蹤對象元數(shù)據(jù)的改變,并且在一個(gè)開發(fā)團(tuán)隊(duì)中實(shí)現(xiàn)共享。在解決方案資源管理器中右擊一個(gè)對象,然后選擇“查看代碼”,就可以查看和編輯這些文件的源代碼。當(dāng)部署一個(gè)項(xiàng)目時(shí),BI Dev Studio會對項(xiàng)目中的對象進(jìn)行驗(yàn)證,并且會創(chuàng)建一個(gè)部署腳本,將腳本發(fā)送到服務(wù)器。部署的基本單位是整個(gè)項(xiàng)目,代表整個(gè)Analysis Services數(shù)據(jù)庫。當(dāng)部
14、署一個(gè)項(xiàng)目時(shí),這些工具能夠部署增量更改。然而,如果在服務(wù)器上有一個(gè)與項(xiàng)目設(shè)置中的數(shù)據(jù)庫同名的數(shù)據(jù)庫,或者如果要部署來自不同計(jì)算機(jī)的項(xiàng)目,則該部署將會完全覆蓋已有的數(shù)據(jù)庫。幸運(yùn)的是,在覆蓋已有數(shù)據(jù)庫之前會彈出一個(gè)警告對話框。因?yàn)閿?shù)據(jù)庫是在部署時(shí)創(chuàng)建的,所以,只有服務(wù)器管理員才能將脫機(jī)模式下的項(xiàng)目部署到服務(wù)器上。4. 在脫機(jī)模式下使用BI Dev Studio要在BI Dev Studio中開始使用脫機(jī)模式,按照下面步驟進(jìn)行操作:(1) 啟動(dòng)BI Dev Studio。(2) 首先從“文件”菜單中選擇“新建”菜單,然后選擇“項(xiàng)目”,將會顯示如圖4-3所示的“新建項(xiàng)目”對話框。(3) 在“項(xiàng)目類型”
15、窗格中打開“其他語言”節(jié)點(diǎn)。(4) 選擇“商業(yè)智能項(xiàng)目”。(5) 從“模板”窗格中選擇Analysis Services項(xiàng)目。(6) 指定項(xiàng)目的名稱,然后單擊“確定”按鈕。(7) 首先選擇“生成”菜單,然后選擇“部署”,將項(xiàng)目部署到服務(wù)器,創(chuàng)建數(shù)據(jù)庫。圖4-3 “新建項(xiàng)目”對話框默認(rèn)情況下,項(xiàng)目會部署在local host服務(wù)器,也就是說,該服務(wù)器與工具在同一臺計(jì)算機(jī)上。為了改變目標(biāo)服務(wù)器,首先選擇“項(xiàng)目”,然后選擇“屬性”,以啟動(dòng)“配置屬性管理器”對話框。在這個(gè)對話框中,可以創(chuàng)建不同的部署配置,還可以為每一個(gè)可能的配置指定目標(biāo)服務(wù)器和數(shù)據(jù)庫的名稱,如圖4-4所示。圖4-4 項(xiàng)目屬性對話框在部
16、署的過程中需要注意的其他重要屬性是處理選項(xiàng)和部署模式。默認(rèn)情況下,部署功能自動(dòng)處理已經(jīng)創(chuàng)建的對象,或者由于項(xiàng)目的改變而變得無效的對象。處理選項(xiàng)屬性控制處理行為。同樣,默認(rèn)情況下只將來自這些工具的增量更改部署到服務(wù)器上。如果其他客戶已經(jīng)改變了該數(shù)據(jù)庫,或者在服務(wù)器上有一個(gè)同名數(shù)據(jù)庫,則默認(rèn)的部署方式會導(dǎo)致錯(cuò)誤。部署模式屬性可以控制這種行為。注意:可以設(shè)置一個(gè)屬性來改變默認(rèn)的部署服務(wù)器,默認(rèn)的部署服務(wù)器是每次創(chuàng)建一個(gè)新的脫機(jī)項(xiàng)目時(shí)設(shè)置的。如果要改變默認(rèn)的部署服務(wù)器,則需要選擇“工具”菜單上的“選項(xiàng)”選項(xiàng),進(jìn)入“選項(xiàng)”對話框。在“選項(xiàng)”對話框中,依次選擇“商業(yè)智能設(shè)計(jì)器”|“Analysis Ser
17、vice 設(shè)計(jì)器”|“常規(guī)”,然后將默認(rèn)的目標(biāo)服務(wù)器屬性設(shè)置為選定的服務(wù)器。這個(gè)設(shè)置只對新創(chuàng)建的項(xiàng)目起作用,所以仍然需要手動(dòng)修改之前創(chuàng)建的項(xiàng)目。5. 切換項(xiàng)目模式有時(shí)需要從一種模式切換為另一種模式,例如,要在另一臺計(jì)算機(jī)上快速更新一個(gè)以前部署的項(xiàng)目時(shí),或者要將一個(gè)數(shù)據(jù)庫的對象元數(shù)據(jù)保存到源控制中時(shí)。進(jìn)行這種切換是比較容易的。最容易的切換是將脫機(jī)模式切換為即時(shí)模式。只要按如下步驟操作:首先打開“文件”菜單,選擇“打開”|“Analysis Services數(shù)據(jù)庫”,然后選擇以前部署的數(shù)據(jù)庫。相反,如果要將即時(shí)模式切換為脫機(jī)模式,需要在“新建項(xiàng)目”對話框中創(chuàng)建一個(gè)新的項(xiàng)目,并且選擇“導(dǎo)入Analy
18、sis Services 2008數(shù)據(jù)庫”,如圖4-3所示。該操作將啟動(dòng)一個(gè)向?qū)?,在向?qū)е锌梢灾付ǚ?wù)器和源數(shù)據(jù)庫的名稱,并且可以將元數(shù)據(jù)提取到一個(gè)新的項(xiàng)目中。需要指出的是,如有必要,仍然需要設(shè)置部署選項(xiàng)來指出目標(biāo)服務(wù)器和數(shù)據(jù)庫的名稱。注意:查看解決方案資源管理器中項(xiàng)目的名稱,可以確定當(dāng)前是在即時(shí)模式下還是在脫機(jī)模式下。如果當(dāng)前是即時(shí)模式,則項(xiàng)目名稱后面的圓括號中會有服務(wù)器的名稱。除此之外,所有的窗口選項(xiàng)卡都會有文本(Online)跟在對象名字的后面。 創(chuàng)建數(shù)據(jù)挖掘?qū)ο蟠蜷_數(shù)據(jù)庫或者項(xiàng)目之后,不管選擇哪一種操作模式,在Analysis Services項(xiàng)目里執(zhí)行的操作都是相似的。如果要進(jìn)行數(shù)據(jù)
19、挖掘,則需要指定和描述源數(shù)據(jù),然后創(chuàng)建挖掘結(jié)構(gòu)和挖掘模型。4.2 設(shè)置數(shù)據(jù)源Analysis Services中的兩個(gè)對象數(shù)據(jù)源和數(shù)據(jù)源視圖(DSV)是數(shù)據(jù)的接口。數(shù)據(jù)源實(shí)際上是一個(gè)連接字符串,用于描述數(shù)據(jù)的位置,然而,DSV是一個(gè)抽象層,DSV能夠修改查看數(shù)據(jù)源的方式,甚至定義一個(gè)模式,在以后的某個(gè)時(shí)候切換實(shí)際數(shù)據(jù)源。本節(jié)討論如何設(shè)置這些對象,以便在數(shù)據(jù)挖掘中使用。4.2.1 數(shù)據(jù)源數(shù)據(jù)源是一個(gè)非常簡單的對象。它只包含一個(gè)連接字符串和一些描述如何連接的附加信息。但是,數(shù)據(jù)源的兩個(gè)問題可能會成為我們學(xué)習(xí)的絆腳石,如果不理解它們,則在以后學(xué)習(xí)的過程中很可能會受到挫折。由于允許在客戶端上創(chuàng)建對象,
20、因此這兩個(gè)問題都將出現(xiàn),當(dāng)部署對象時(shí),該對象不能正常工作。第一個(gè)問題是數(shù)據(jù)位置。與大多數(shù)數(shù)據(jù)挖掘產(chǎn)品不一樣,SQL Server數(shù)據(jù)挖掘是一個(gè)基于服務(wù)器的解決方案。這意味著在設(shè)置數(shù)據(jù)源時(shí),不但客戶端(這個(gè)客戶端是指創(chuàng)建模型的工具所在的計(jì)算機(jī))能夠訪問該數(shù)據(jù)源,而且服務(wù)器(這個(gè)服務(wù)器是用來處理模型的地方)也能訪問該數(shù)據(jù)源。例如,如果根據(jù)C:My DocumentsNorthwind.mdb中的Access數(shù)據(jù)庫構(gòu)建了一個(gè)模型,那么,除非這個(gè)文件位于服務(wù)器的同一個(gè)位置,否則模型將無法處理。即使這個(gè)文件恰好存在,也有可能出問題,因?yàn)闆]有辦法知道這個(gè)文件是否與本地版本包含同樣的數(shù)據(jù)或者同樣的模式。通常
21、,當(dāng)對本地?cái)?shù)據(jù)進(jìn)行挖掘時(shí),應(yīng)該使用SQL Server集成服務(wù)(SSIS)把當(dāng)前的數(shù)據(jù)移到SQL Server數(shù)據(jù)庫中,然后使用BI Dev Studio構(gòu)建挖掘模型。第二個(gè)問題是安全性。理解用戶憑證是非常重要的,用戶憑證用來控制從Analysis Services中訪問數(shù)據(jù)。當(dāng)設(shè)置連接時(shí),可以選擇使用集成的安全性,也就是說,使用賬戶憑證來訪問數(shù)據(jù)。也可以考慮選擇使用簡單的安全性,即要求使用一個(gè)指定的用戶名和口令來訪問數(shù)據(jù)。只要源數(shù)據(jù)庫支持集成的安全性,則Microsoft通常推薦使用集成的安全性。當(dāng)連接數(shù)據(jù)庫時(shí),不管源數(shù)據(jù)庫支持什么方法,數(shù)據(jù)源對象都包含附加信息,這些附加信息能夠準(zhǔn)確地告訴A
22、nalysis Services要使用或者模擬哪一種安全憑證。創(chuàng)建一個(gè)數(shù)據(jù)源對象有4種不同的模擬選項(xiàng)。 使用當(dāng)前用戶的憑證對于通過查詢語句來訪問的數(shù)據(jù)源而言,這種方法是最安全的。選擇該選項(xiàng),Analysis Services就使用當(dāng)前的用戶憑證訪問遠(yuǎn)程的數(shù)據(jù)。但是,在許多的實(shí)現(xiàn)方案中,Analysis Services必須將憑證委派給源數(shù)據(jù)庫計(jì)算機(jī)。為了讓委派能夠正常工作,需要域管理員對其進(jìn)行配置。參考有關(guān)Kerberos的Windows Server文檔可以了解這個(gè)問題的更多信息。這種方法不能用于在處理Analysis Services對象時(shí)用到的數(shù)據(jù)源,因?yàn)檫@種方法將會導(dǎo)致不同數(shù)據(jù)的訪問,
23、這取決于是由誰來處理對象。 使用帳戶當(dāng)不選擇“使用當(dāng)前用戶的憑證”選項(xiàng)時(shí),“使用帳戶”選項(xiàng)是次優(yōu)選擇。“使用帳戶”允許指定賬戶憑證,這個(gè)賬戶憑證將會在訪問數(shù)據(jù)源時(shí)使用。憑證包含一個(gè)用戶名和口令,存儲在Analysis Services上,所有對這些數(shù)據(jù)的訪問都使用這個(gè)憑證。如果不選擇委派,則這個(gè)方法是最安全的。 使用服務(wù)帳戶“使用服務(wù)帳戶”選項(xiàng)使得所有對這些數(shù)據(jù)的訪問都使用這個(gè)賬戶,該賬戶也是Analysis Services的賬戶。使用這種方法主要用于測試,而不用于產(chǎn)品。通常,Analysis Services應(yīng)該盡可能地在擁有最少權(quán)限的賬戶下運(yùn)行。 默認(rèn)值“默認(rèn)值”選項(xiàng)是指使用不同的憑證,
24、具體依賴于如何訪問數(shù)據(jù)源。如果是為了數(shù)據(jù)處理而進(jìn)行訪問,則應(yīng)使用服務(wù)賬戶憑證訪問數(shù)據(jù)。如果是為了數(shù)據(jù)查詢而進(jìn)行訪問,則應(yīng)使用當(dāng)前用戶憑證訪問數(shù)據(jù)。創(chuàng)建MovieClick數(shù)據(jù)源要?jiǎng)?chuàng)建一個(gè)指向MovieClick數(shù)據(jù)庫的數(shù)據(jù)源,則按如下步驟進(jìn)行:(1) 按照附錄A中的描述下載MovieClick數(shù)據(jù)庫,然后安裝它。(2) 在解決方案資源管理器或者對象資源管理器中右擊“數(shù)據(jù)源”文件夾,然后選擇“新建數(shù)據(jù)源”,以啟動(dòng)數(shù)據(jù)源向?qū)А?3) 跳過介紹頁,在第二頁中單擊“新建連接”按鈕,啟動(dòng)“數(shù)據(jù)鏈接”對話框。(4) 輸入用于安裝數(shù)據(jù)庫的服務(wù)器名稱,指定安全設(shè)置,然后選擇MovieClick數(shù)據(jù)庫。(5)
25、單擊“確定”按鈕,退出“數(shù)據(jù)鏈接”對話框,單擊“下一步”,轉(zhuǎn)到模擬信息頁。(6) 輸入用戶名和口令(當(dāng)訪問MovieClick數(shù)據(jù)庫時(shí),Analysis Services將會使用該用戶名和口令),然后單擊“完成”按鈕,關(guān)閉向?qū)А?.2.2 使用數(shù)據(jù)源視圖數(shù)據(jù)源視圖(Data Source View,DSV)是數(shù)據(jù)在客戶端的一個(gè)抽象視圖,這也是建模工作開始的地方。在DSV中,可以選擇、組織、瀏覽以及(在某種意義上來說)操作數(shù)據(jù)源中的數(shù)據(jù)。其實(shí),DSV是告訴Analysis Services希望如何查看數(shù)據(jù)源中的數(shù)據(jù)。因?yàn)閷ο蟠嬖谟贏nalysis Services服務(wù)器中,而不是關(guān)系數(shù)據(jù)源中,所
26、以即使對關(guān)系數(shù)據(jù)庫服務(wù)器只有讀的權(quán)限,也可以執(zhí)行這種類型的操作。為數(shù)據(jù)挖掘目的而創(chuàng)建一個(gè)DSV時(shí),要確定的最重要的表是事例表。事例表包含要分析的事例。除此之外,還需要引入一些關(guān)系表,比如嵌套表或者查找表,這些表包含事例的附加信息。1. 創(chuàng)建MovieClick數(shù)據(jù)源視圖要從MovieClick數(shù)據(jù)源中創(chuàng)建一個(gè)DSV,則按如下步驟進(jìn)行:(1) 在解決方案資源管理器或者對象資源管理器中右擊“數(shù)據(jù)源視圖”文件夾,然后選擇“新建數(shù)據(jù)源視圖”,以啟動(dòng)數(shù)據(jù)源視圖向?qū)А?2) 跳過介紹頁,然后在選擇數(shù)據(jù)源向?qū)ы撝校琈ovieClick數(shù)據(jù)源會默認(rèn)被選中;單擊“下一步”繼續(xù)。(3) 名稱匹配頁對于導(dǎo)入的數(shù)據(jù)源
27、不起作用,所以單擊“下一步”繼續(xù)。這一頁只有當(dāng)源數(shù)據(jù)庫中的關(guān)系沒有指定時(shí)才會顯示,并且允許基于表的鍵列來選擇如何自動(dòng)創(chuàng)建關(guān)系。因?yàn)閷?dǎo)入的MovieClick數(shù)據(jù)庫既沒有關(guān)系也沒有鍵,所以它使用的算法不起作用。(4) 在選擇表和視圖向?qū)ы撝校瑔螕?gt;>按鈕,將“可用對象”列表中的所有表移到“包含的對象”列表中。(5) 單擊“下一步”按鈕繼續(xù),然后單擊“完成”按鈕,退出DSV向?qū)?,以顯示DSV設(shè)計(jì)器。(6) 右擊MovieGenre表的Movie列,并選譯“設(shè)置邏輯主鍵”。(7) 將一個(gè)關(guān)系從Movies表的Movie列拖動(dòng)到MovieGenre表的Movies列。連接之后,在設(shè)計(jì)器窗口
28、中單擊右鍵,然后選擇“排列表”,把表排列整齊,更便于觀看。完成這些操作之后,DSV應(yīng)該如圖4-5所示。圖4-5 完整的MovieClick數(shù)據(jù)源視圖DSV設(shè)計(jì)器最初顯示的是包含在數(shù)據(jù)源中的表和這些表之間的關(guān)系。如果已經(jīng)熟悉了數(shù)據(jù),并且這些數(shù)據(jù)現(xiàn)在適合于進(jìn)行數(shù)據(jù)挖掘,就可以開始創(chuàng)建挖掘模型。但是,如果這些條件沒有達(dá)到(通常是這樣),則可以使用DSV設(shè)計(jì)器來瀏覽數(shù)據(jù),并且將這些數(shù)據(jù)改為模型所需要的形式。最初,可以在模式中對表和列進(jìn)行簡單的注釋,以便于理解。也可以為這些對象添加描述信息,甚至可以改變對象的名稱,使它更便于理解和支持。例如,如果有一個(gè)表NWSFY03,可以把它重命名為Fiscal Ye
29、ar 03 Northwest Sales,或者將列014重命名為Quantity。只要選擇對象,然后在屬性窗口中輸入描述和友好的名稱即可。除此之外,如果在源數(shù)據(jù)庫中還沒有指定表之間的關(guān)系,則可以在這里指定。只需從一個(gè)表的外鍵列,將一條關(guān)系線拖到另一個(gè)表的主鍵列,就可以完成關(guān)系的指定。所有這些修改只發(fā)生在DSV中,并且不會以任何方式影響源數(shù)據(jù)。注意:如果事例表和嵌套表之間的關(guān)系不存在于關(guān)系數(shù)據(jù)庫中,則必須在DSV中指定該關(guān)系,否則將無法將嵌套表添加到模型中。除了可以利用DSV對模式進(jìn)行注釋外,DSV還允許創(chuàng)建命名計(jì)算、命名查詢和視圖,并且在數(shù)據(jù)透視圖(pivot chart)中交互式地瀏覽數(shù)據(jù)
30、。2. 使用命名計(jì)算在DSV中,命名計(jì)算列是表中附加的虛列。這個(gè)功能可以在自己的數(shù)據(jù)中挖掘派生信息,而不需要改變源數(shù)據(jù)。命名計(jì)算列包含一個(gè)名稱、一個(gè)包含計(jì)算的SQL表達(dá)式和一個(gè)可選的描述。計(jì)算可以是任何有效的SQL表達(dá)式。如果對SQL表達(dá)式不熟悉,則可以學(xué)習(xí)下面的一些表達(dá)式類型,這些表達(dá)式在許多數(shù)據(jù)挖掘項(xiàng)目中都會用到。(1) 算術(shù)操作標(biāo)準(zhǔn)的SQL支持、×、/和%(取模)。例如,可以利用下面的公式來創(chuàng)建一個(gè)名為Profit的命名計(jì)算列:Sales Price Item Cost(2) 數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)是非常有用的,特別是當(dāng)列中的數(shù)據(jù)不遵循統(tǒng)一分布時(shí)。在所有的SQL函數(shù)中,ABS、LOG
31、、SIGN和SQRT用得特別多。下面有兩個(gè)示例。 要以對數(shù)的方法來規(guī)范化一個(gè)以指數(shù)級別增加的變量,可以使用如下函數(shù):LOG(Sales Quantity) 要?jiǎng)?chuàng)建一個(gè)標(biāo)志,來指出實(shí)際費(fèi)用是高于預(yù)算還是低于預(yù)算,可以使用如下函數(shù):SIGN(Actual Expenses Budgeted Expenses)(3) 組合表達(dá)式通常,想要測試的假設(shè)條件依賴于一個(gè)變量,這個(gè)變量是已有兩個(gè)變量的組合。例如,可能對一個(gè)人是否結(jié)婚或者是否有孩子不感興趣,但是這兩個(gè)屬性的組合可能提供很有價(jià)值的信息。針對這種情況的一個(gè)組合表達(dá)式如下所示:Marital Status + ' ' + Has Ch
32、ildren(4) CASE表達(dá)式在數(shù)據(jù)挖掘中,CASE表達(dá)式是一種非常靈活的方式,用于創(chuàng)建有意義的變量。CASE表達(dá)式允許根據(jù)對一個(gè)或者多個(gè)條件的評估來指派結(jié)果。運(yùn)用CASE可以達(dá)到下面的目的:改變值的標(biāo)簽,手動(dòng)離散化列,減少有效狀態(tài)的個(gè)數(shù),將一個(gè)屬性從一個(gè)嵌套表中轉(zhuǎn)換為一個(gè)事例級屬性。下面是幾個(gè)范例。 要改變值的標(biāo)簽,可以使用下面的表達(dá)式:CASE CategoryWHEN 1 THEN 'Food'WHEN 2 THEN 'Beverage'WHEN 3 THEN 'Goods'END CASE 要手動(dòng)離散化列,可以使用下面的表達(dá)式:CAS
33、EWHEN Age < 20 THEN 'Under 20'WHEN Age <= 30 THEN 'Between 20 and 30'WHEN Age <= 40 THEN 'Between 30 and 40'ELSE 'Over 40'END 要減少有效狀態(tài)的個(gè)數(shù),可以使用下面的表達(dá)式:CASE Marital StatusWHEN 'Married' THEN Marital StatusWHEN 'Never Married' THEN Marital StatusEL
34、SE 'Other'END 要將一個(gè)屬性從一個(gè)嵌套表轉(zhuǎn)換到事例表,可以使用下面的表達(dá)式:CASEWHEN EXISTS(SELECT Movie FROM MoviesWHERE Movie='Star Wars' ANDMovies.CustomerID=Customers.CustomerID)THEN 'True'ELSE 'False'END例如,要將一個(gè)嵌套表的屬性轉(zhuǎn)換為一個(gè)事例級屬性時(shí),就要執(zhí)行這個(gè)操作。需要指出的是,如果依舊希望在模型中使用嵌套表,則必須使用一個(gè)命名查詢來過濾來自嵌套表的屬性,如下一節(jié)所述。3. 在C
35、ustomers表上創(chuàng)建一個(gè)命名計(jì)算要?jiǎng)?chuàng)建一個(gè)命名計(jì)算來離散化并減少Num Bedrooms列中的狀態(tài),則進(jìn)行下面的操作:(1) 右擊Customers表,然后選擇“創(chuàng)建命名計(jì)算”,則會顯示一個(gè)對話框。(2) 在對話框中輸入計(jì)算列名Bedrooms,然后輸入描述,后面這項(xiàng)輸入是可選的。(3) 最后輸入下面的表達(dá)式:CASEWHEN Num Bedrooms = 1 THEN 'One'WHEN Num Bedrooms <= 3 THEN 'Two or Three'WHEN Num Bedrooms >= 4 THEN 'Four or m
36、ore'ELSE 'None'END(4) 關(guān)閉對話框。當(dāng)關(guān)閉上面的對話框時(shí),DSV設(shè)計(jì)器會驗(yàn)證表達(dá)式。如果輸入的表達(dá)式有錯(cuò)誤,將會彈出一個(gè)對話框。一旦成功地創(chuàng)建了一個(gè)計(jì)算列,則可以右擊該表,然后選擇“瀏覽數(shù)據(jù)”來查看計(jì)算結(jié)果。4. 使用命名查詢由于命名計(jì)算列是一個(gè)DSV表中附加的虛列,所以命名查詢是數(shù)據(jù)源的一個(gè)虛擬視圖,通過它可以改變正在挖掘的數(shù)據(jù),而不會改變原始的數(shù)據(jù)。即使可以對源數(shù)據(jù)進(jìn)行修改,在DSV中直接創(chuàng)建命名查詢既快又容易,并且允許在使用模型的地方同時(shí)保存這些視圖,數(shù)據(jù)庫不會被這種一次性對象“污染”?!皠?chuàng)建/編輯命名查詢”對話框提供了一種標(biāo)準(zhǔn)的查詢構(gòu)建器用戶
37、界面,這個(gè)構(gòu)建器用來輔助創(chuàng)建查詢,對于復(fù)雜的連接查詢很有用。注意,命名查詢只能作用于數(shù)據(jù)庫對象,不能作用于其他的DSV對象。對于數(shù)據(jù)挖掘來說,有用的典型查詢是過濾和連接。對挖掘結(jié)構(gòu)列使用內(nèi)置的case過濾可以完成簡單的行過濾,但更高級的過濾情況則需要使用命名查詢,如下面這些范例所示。 要從嵌套表中過濾掉不常見的項(xiàng),可使用這種命名查詢:SELECT CustomerID, Movie FROM MoviesWHERE Movie IN(SELECT DISTINCTMovieFROM Movies GROUP BY MovieHAVING COUNT(Movie) > 20) 要從一個(gè)外表
38、(foreign table)中連接信息,可使用這種命名查詢:SELECTCustomers.*, Education.Education LevelFROM Customers JOIN EducationON Customers.Education Id = Education.Education Id5. 基于Customers表創(chuàng)建一個(gè)命名查詢我們要基于DSV中的Customers表創(chuàng)建一個(gè)命名查詢,該Customers表只包含擁有房子的客戶。因?yàn)檫@個(gè)表包含一個(gè)命名計(jì)算,所以必須將命名計(jì)算手動(dòng)添加到這個(gè)查詢中。(1) 在Customers表中雙擊Bedrooms命名計(jì)算,打開“命名計(jì)算
39、”對話框,然后復(fù)制其中的SQL文本。(2) 在DSV設(shè)計(jì)器中右擊,然后選擇“新建命名查詢”。(3) 輸入查詢名Homeowners,然后輸入描述,描述也可以不輸入,是可選的。(4) 單擊“添加表”按鈕,選擇Customers表,然后關(guān)閉“添加表”對話框。(5) 在Customers表上選擇*(All Customers)復(fù)選框。(6) 增加計(jì)算列:a. 在查詢窗口中Customers.*的后面輸入一個(gè)逗號,然后將剪貼板中的內(nèi)容粘貼到Column列的第二行。b. 在粘貼文本之后,輸入asBedrooms。查詢將被擴(kuò)展,Customers.*將會被Customers表的所有列替換。(7) 對擁有房
40、子的客戶進(jìn)行過濾:a. 在網(wǎng)格控件中,找到Column列中包含Home Ownership的行。b. 在Output列的第二行中去除復(fù)選標(biāo)記。c. 在條件列中輸入=Own。(8) 進(jìn)行完上述操作之后,查詢最后應(yīng)如圖4-6所示。單擊“確定”按鈕關(guān)閉這個(gè)對話框。圖4-6 Homeowners命名查詢像其他的DSV表一樣,現(xiàn)在,通過瀏覽數(shù)據(jù),可以從上下文菜單中看到該命名查詢。注意:這一例子主要起示范作用,因?yàn)榛诹兄档暮唵芜^濾器如結(jié)構(gòu)中的模型過濾器一樣容易構(gòu)建。6. 組織DSV當(dāng)創(chuàng)建了一個(gè)命名查詢時(shí),任何在原表上的已有關(guān)系都不會出現(xiàn)在新創(chuàng)建的表上。這意味著,如果還要用這些關(guān)系,則必須重新創(chuàng)建它們:對
41、于表之間的每一條關(guān)系,從外鍵拖動(dòng)一條線到主鍵就可以創(chuàng)建這些關(guān)系了。在DSV中創(chuàng)建完很多交叉的關(guān)系線時(shí),這個(gè)圖將很難讀懂,如圖4-7所示。圖4-7 DSV設(shè)計(jì)器中包含許多關(guān)系的DSV使用DSV圖可以解決上述問題。DSV設(shè)計(jì)器允許創(chuàng)建許多圖,這些圖允許選擇DSV表的子集,然后重新排列它們以方便查看。要?jiǎng)?chuàng)建這些圖,只要單擊“新建關(guān)系圖”按鈕,對這個(gè)圖進(jìn)行命名,然后從左邊的列表中將表拖向它。也可以通過右擊一個(gè)已經(jīng)在視圖中的表,然后選擇“顯示相關(guān)表”來顯示相關(guān)的表,這樣就可以把相關(guān)的表添加到視圖中。在添加了表之后,可以在設(shè)計(jì)器視圖中單擊右鍵,然后選擇“排列表”,這樣就可以清除這些表的當(dāng)前布局。注意:命名
42、查詢和命名計(jì)算依賴于關(guān)系數(shù)據(jù)庫服務(wù)器的處理能力。處理生成的查詢所需的附加資源會對挖掘模型的初始處理時(shí)間產(chǎn)生影響。如果這種時(shí)間上的增加過于嚴(yán)重,并且需要頻繁地重復(fù)這些查詢,那么應(yīng)該考慮在關(guān)系數(shù)據(jù)庫服務(wù)器上物化這些視圖。7. 瀏覽數(shù)據(jù)在任何數(shù)據(jù)挖掘項(xiàng)目中,都有一部分是學(xué)習(xí)和理解數(shù)據(jù)的本質(zhì)。通過Office Web組件(Office Web Component,OWC)中的控件,DSV設(shè)計(jì)器提供了瀏覽數(shù)據(jù)的功能,并且有4種不同的方式。在DSV中右擊一個(gè)表,然后選擇“瀏覽數(shù)據(jù)”,就可以通過以下方式來瀏覽數(shù)據(jù):表、數(shù)據(jù)透視表、簡單圖和數(shù)據(jù)透視圖。默認(rèn)情況下,瀏覽數(shù)據(jù)組件會從數(shù)據(jù)中采樣5000個(gè)數(shù)據(jù)點(diǎn)。瀏
43、覽數(shù)據(jù)窗口左上角的選項(xiàng)按鈕允許將這個(gè)設(shè)置改為最大值20000數(shù)據(jù)點(diǎn),這取決于OWC控件的限制。表格式視圖允許對數(shù)據(jù)進(jìn)行簡單的瀏覽。通過多種不同的方式重新布局、分片或者聚集數(shù)據(jù)等,可以更巧妙地使用數(shù)據(jù)透視表,以更好地理解數(shù)據(jù)。例如,當(dāng)瀏覽Customers表的數(shù)據(jù)透視表時(shí),通過前面創(chuàng)建的Bedrooms列,將可以看到Age的平均值及其標(biāo)準(zhǔn)差(參見圖4-8)。之所以看到這些信息,是因?yàn)槲覀冋跒g覽的是DSV表,而不是原始數(shù)據(jù)中實(shí)際存在的源表。也可以使用完全一樣的方式在DSV中瀏覽命名查詢。圖4-8 使用數(shù)據(jù)透視表瀏覽數(shù)據(jù)圖形的瀏覽方式通過不同的頁面提供了簡單的柱形圖、餅圖、條形圖和一個(gè)數(shù)據(jù)透視圖。
44、使用簡單的圖,可以看到直方圖和各種屬性并排的餅圖。如果數(shù)據(jù)是連續(xù)的,則圖將會把連續(xù)的值分成10桶。相反,數(shù)據(jù)透視圖提供了大量的圖形控件來分析數(shù)據(jù),包括標(biāo)準(zhǔn)折線圖、條形圖、散點(diǎn)圖、柱形圖和餅圖,還有一些特殊類型的圖,比如圓環(huán)圖和雷達(dá)圖,如圖4-9所示。圖4-9 雷達(dá)圖通過Bedrooms和Home Ownership顯示Age數(shù)據(jù)透視表和數(shù)據(jù)透視圖有很多的配置選項(xiàng),以便用不同的方式分析數(shù)據(jù)。這些選項(xiàng)大部分可以通過上下文相關(guān)的“命令和選項(xiàng)”對話框進(jìn)行配置,該對話框可以從上下文菜單或者內(nèi)嵌的工具欄中打開。數(shù)據(jù)透視表和數(shù)據(jù)透視圖中的每一選項(xiàng)幾乎都是可以改變的,方法是在圖形環(huán)境下直接選擇該對象,或者使用
45、在對話框的“常規(guī)”選項(xiàng)卡中的選擇框。要講述OWC的所有功能集,需要一本書的篇幅,精通OWC控件最好的方式是多做練習(xí),有了經(jīng)驗(yàn)之后,就可以操作這些控件來找到合適的視圖。除此之外,因?yàn)閿?shù)據(jù)透視表和數(shù)據(jù)透視圖是相互連接的,所以可以在它們之間來回切換,進(jìn)行編輯,在編輯之后查看所進(jìn)行的改變是如何影響另一個(gè)視圖的。對于數(shù)據(jù)瀏覽功能來說,數(shù)據(jù)透視圖的另一個(gè)附加的重要功能是,它可以通過圖形化的方式來創(chuàng)建命名查詢。單擊工具欄中的“命名查詢”按鈕,可以使用圖的元素定義一個(gè)命名查詢。例如,在圖中,可以只選擇這些擁有房子的人(這些人有一間臥室)和出租房子的人(有4間或更多臥室),然后將他們添加到查詢中。這個(gè)命名查詢像
46、其他查詢一樣,可以用作一個(gè)瀏覽數(shù)據(jù)的來源。注意:雖然瀏覽數(shù)據(jù)窗口看起來像其他的文檔窗口,但實(shí)際上它是像解決方案資源管理器和屬性窗口一樣的工具窗口。右擊“窗口”選項(xiàng)卡,可以將瀏覽數(shù)據(jù)窗口變成一個(gè)浮動(dòng)的或可??康拇翱?。也可以在不同的DSV表上打開很多瀏覽數(shù)據(jù)窗口,來并排顯示圖和表。4.3 創(chuàng)建和編輯模型一旦組織、修改、選擇和理解了要分析的數(shù)據(jù),就可以開始創(chuàng)建數(shù)據(jù)挖掘?qū)ο罅?。第一步是運(yùn)行數(shù)據(jù)挖掘向?qū)?。使用該向?qū)?chuàng)建了數(shù)據(jù)挖掘?qū)ο笾?,就可以在?shù)據(jù)挖掘設(shè)計(jì)器中細(xì)化數(shù)據(jù)挖掘向?qū)?chuàng)建的結(jié)果。4.3.1 結(jié)構(gòu)和模型第3章曾提過,SQL Server Analysis Services有兩個(gè)主要的數(shù)據(jù)挖掘?qū)ο?/p>
47、:挖掘結(jié)構(gòu)和挖掘模型。挖掘結(jié)構(gòu)用來定義挖掘問題的域,而挖掘模型是挖掘算法對挖掘結(jié)構(gòu)中的數(shù)據(jù)的具體應(yīng)用。挖掘結(jié)構(gòu)包含一組結(jié)構(gòu)列,這些列綁定到數(shù)據(jù)源,并有數(shù)據(jù)類型和內(nèi)容類型,還包括一些可選的標(biāo)志,這些標(biāo)志用來控制如何對這些數(shù)據(jù)進(jìn)行建模。除此之外,挖掘結(jié)構(gòu)還包含了一組挖掘模型,這些挖掘模型的列都來自于挖掘結(jié)構(gòu)。挖掘模型的定義包括挖掘算法及其相關(guān)的參數(shù),還包括來自挖掘結(jié)構(gòu)的列。挖掘結(jié)構(gòu)中的每一個(gè)挖掘模型都可以使用不同的算法,或者使用相同的算法但使用不同的參數(shù),或者包含挖掘結(jié)構(gòu)中列的不同子集。對挖掘模型中的每一列,可以指定它在模型中的用法以及特定于算法的建模標(biāo)志。有這個(gè)功能的支持,就很容易對同一數(shù)據(jù)集測
48、試不同的假定。4.3.2 使用數(shù)據(jù)挖掘向?qū)?shù)據(jù)挖掘向?qū)Э梢詣?chuàng)建兩種對象:挖掘結(jié)構(gòu)和挖掘模型,其中挖掘模型是可選的。挖掘結(jié)構(gòu)描述用于挖掘的列和訓(xùn)練數(shù)據(jù),挖掘模型是從挖掘結(jié)構(gòu)中選擇一些列,然后使用某一個(gè)算法,并且為該算法定義每一列的用法。這個(gè)向?qū)⑦@兩個(gè)對象的創(chuàng)建過程包含在一組簡單的步驟中。這個(gè)向?qū)У牟襟E包括:(1) 選擇算法,或者只選擇一個(gè)結(jié)構(gòu)。(2) 選擇源表并且指定源表的用法。(3) 選擇表中的列并且指定這些列的用法。(4) 指定測試數(shù)據(jù)(holdout data)、命名結(jié)構(gòu)和模型。這時(shí),就可以直接處理和分析模型的結(jié)果了。使用Analysis Services很容易開始上述操作。向?qū)н€允許從
49、多維源(比如聯(lián)機(jī)分析處理(OLAP)中創(chuàng)建模型。OLAP將在第13章中介紹,現(xiàn)在我們只針對關(guān)系的(relational)源。向?qū)У氖褂煤芎唵?,因?yàn)樗拿恳粋€(gè)步驟都是基于所提供的輸入自動(dòng)執(zhí)行的。作為一個(gè)數(shù)據(jù)挖掘人員,理解這些步驟和所作的選擇何時(shí)及如何影響模型是很重要的。向?qū)У牡谝豁撌沁x擇定義方法,在此頁中,選擇創(chuàng)建模型的源是來自于關(guān)系源還是來自于多維源,如圖4-10所示。雖然最后從一個(gè)源創(chuàng)建的模型與從另一個(gè)源創(chuàng)建的模型是一樣的,但是創(chuàng)建的過程還是有一點(diǎn)不同,所以對于不同的選項(xiàng)有不同的向?qū)н^程。而且,某個(gè)特定的數(shù)據(jù)挖掘算法可能不支持從OLAP源創(chuàng)建模型,所以該向?qū)紫葧岢鲞@個(gè)問題。圖4-10 在
50、數(shù)據(jù)挖掘向?qū)е羞x擇模型定義方法向?qū)У牡诙撌莿?chuàng)建數(shù)據(jù)挖掘結(jié)構(gòu),在此頁中,系統(tǒng)會詢問使用哪種數(shù)據(jù)挖掘技術(shù)來創(chuàng)建最初的挖掘模型。算法的列表是由目標(biāo)服務(wù)器的功能決定的,并且或多或少地包含這本書講述的算法。選擇某一算法的理由和相關(guān)的過程將會在第15章講述。如果向?qū)н\(yùn)行時(shí)不能連接到服務(wù)器,那么可以從SQL Server數(shù)據(jù)挖掘提供的算法中獲得默認(rèn)的算法列表,如圖4-11所示。具體選擇什么算法主要取決于試圖解決的商業(yè)問題。我們將會把每一個(gè)算法的應(yīng)用放在后續(xù)的章節(jié)中講述。圖4-11 數(shù)據(jù)挖掘向?qū)е械膭?chuàng)建數(shù)據(jù)挖掘結(jié)構(gòu)頁面接下來的兩頁需要確定待挖掘的數(shù)據(jù)。首先選擇包含表的DSV,然后指定實(shí)際的表。當(dāng)選擇表時(shí),必
51、須指定每一個(gè)表是事例表還是嵌套表,如圖4-12所示。如第3章所述,事例表包含要分析的實(shí)體的事例,嵌套表包含每一事例附加的信息(通常是事務(wù)信息)。圖4-12 在數(shù)據(jù)挖掘向?qū)е兄付ū淼念愋妥⒁猓河袝r(shí)要決定哪一個(gè)表是事例表也比較困難。例如,如果要分析產(chǎn)品如何被一起購買,則可以將產(chǎn)品作為事例表。然而,實(shí)際上要分析的是由單一客戶所購買的一組產(chǎn)品。在這種情況下,該客戶變成了含有事務(wù)表的一個(gè)事例,而該事務(wù)表(作為嵌套表)包含產(chǎn)品購買信息。當(dāng)只有一個(gè)事務(wù)表時(shí),這個(gè)表既可以作為事例表也可以作為嵌套表,這可以通過指定事務(wù)ID作為事例鍵,其他的列作為嵌套表中的列來實(shí)現(xiàn)。在數(shù)據(jù)挖掘向?qū)Ш竺娴膬身撝?,指定要使用的列,?/p>
52、且指定數(shù)據(jù)挖掘算法如何使用每一列。首先,指定結(jié)構(gòu)和模型要使用哪些列,并指定列的用法類型 鍵、輸入和/或可預(yù)測。然后為每一列指定數(shù)據(jù)類型和內(nèi)容類型。如圖4-13所示,如果選中每列最左邊的復(fù)選框,但未選中“輸入”或“可預(yù)測”復(fù)選框,則相應(yīng)的列將顯示在挖掘結(jié)構(gòu)中,但不顯示在初始模型中。當(dāng)然,如果只創(chuàng)建結(jié)構(gòu),則不會顯示“輸入”和“可預(yù)測”復(fù)選框。圖4-13 在數(shù)據(jù)挖掘向?qū)е兄赋鋈绾问褂昧泻腿绾沃付ㄇ短祖I必須為模型中的事例表和每一個(gè)嵌套表指定一個(gè)鍵。要注意,在DMX中,嵌套表的鍵不是連接嵌套表與事例表的外鍵,而是嵌套表中的鍵。這個(gè)向?qū)б筮@個(gè)關(guān)系不能由外鍵建立,如果用戶沒有指定一個(gè)鍵,則向?qū)o用戶一個(gè)
53、警告。例如,有一個(gè)表示客戶購物車中的商品的嵌套表,這個(gè)表包含行ID、事務(wù)ID、產(chǎn)品名、數(shù)量和價(jià)格,其中行ID是鍵。在模型中,嵌套表只有產(chǎn)品、數(shù)量和價(jià)格列,因?yàn)樾蠭D對模型不重要,事務(wù)ID是事例表的外鍵。在這個(gè)縮減的嵌套表中,能夠看到產(chǎn)品的數(shù)量和價(jià)格,而產(chǎn)品列變成了嵌套表的鍵。對于鍵的指定,時(shí)序和序列聚類模型有特殊的規(guī)則。具體內(nèi)容請參見第8章和第10章。注意:當(dāng)確定合適的列作為嵌套鍵時(shí),需要考慮的一件事情是,數(shù)據(jù)挖掘算法通過分析事例之間的相似點(diǎn)和不同點(diǎn)來查找模式。如果選擇某一列作為嵌套鍵,那么在這個(gè)列中的值只會出現(xiàn)在單一事例中,于是數(shù)據(jù)挖掘算法將找不出有關(guān)這個(gè)列的模式。基于這個(gè)邏輯,得出這樣的結(jié)
54、論:不要將事務(wù)ID或行ID作為嵌套鍵。指定哪些列作為輸入列和可預(yù)測列取決于具體的商業(yè)問題,也依賴于正在測試的假設(shè)和所選擇的算法。通常,如果指定一列為輸入,則表明數(shù)據(jù)挖掘算法將會用此列來確定標(biāo)記為可預(yù)測或者輸出的列。因?yàn)槊恳粋€(gè)算法使用這些信息的方式是不一樣的,所以應(yīng)該熟悉每一個(gè)算法具體的語義,這將在以后每個(gè)算法章節(jié)中詳細(xì)描述。但是所有這些算法的一個(gè)共同點(diǎn)是,如果想通過一個(gè)PREDICTION JOIN語句對模型的列進(jìn)行選擇,則該列必須是可預(yù)測的。要預(yù)測一個(gè)嵌套表,則要選中鍵列旁的可預(yù)測列中的復(fù)選框。注意:如果表有很多列,則很難知道選擇哪些列作為輸入列。通??梢允褂盟辛校沁@會導(dǎo)致額外的處理開
55、銷,而且,根據(jù)具體的算法,也可能會使最終模型很難理解。單擊向?qū)У摹爸付ǘㄐ蛿?shù)據(jù)(Specify the Training Data)”頁面中的“建議(Suggest)”按鈕將會執(zhí)行一個(gè)基于熵(entropy-based)的快速分析,它可以指出哪些列對于所選擇的輸出列可以提供一些有用的信息,進(jìn)而可以在最終模型中減少列的數(shù)量。要注意,通過這個(gè)功能進(jìn)行分析時(shí),只對事例級列起作用,而且不能保證選擇的列會對目標(biāo)變量有影響,沒有選擇的列不會對目標(biāo)變量產(chǎn)生影響。下一步,在向?qū)е袑谐鲆呀?jīng)選擇的列和這些列的數(shù)據(jù)類型及內(nèi)容類型,如圖4-14所示。指定合適的內(nèi)容類型對模型的性能和精確度是至關(guān)重要的。例如,如果有
56、一個(gè)字段(比如Income)標(biāo)記為DISCRETE,則算法將會假定每一個(gè)可能的Income值是完全不同的類別,并且可能花費(fèi)額外的時(shí)間進(jìn)行處理,而無法得到真正有用的信息。相反,如果有一個(gè)分類類型的列,分類由標(biāo)記為CONTINUOUS的整型指定(例如,1藍(lán)色,2黃色,3紅色,4綠色,等等),數(shù)據(jù)挖掘算法將會假定:可以對這些分類進(jìn)行數(shù)學(xué)比較,并計(jì)算它們的間隔。此時(shí)就會得到古怪的邏輯,比如綠色(4)紅色(3)藍(lán)色(1)!圖4-14 在數(shù)據(jù)挖掘向?qū)е兄付▋?nèi)容類型和數(shù)據(jù)類型幸運(yùn)的是,數(shù)據(jù)挖掘向?qū)в心芰ψ詣?dòng)檢測出一個(gè)數(shù)值列是分類類型(離散)的列還是連續(xù)型的列。在向?qū)У摹爸付械膬?nèi)容和數(shù)據(jù)類型”頁中,單擊“檢
57、測”按鈕,該向?qū)Ь蜁蓸雍头治鲈磾?shù)據(jù),并且選擇一種合適的內(nèi)容類型。如果選擇了連續(xù)的內(nèi)容類型,但是所選擇的算法不支持連續(xù)的列,則內(nèi)容類型將會被指定為DISCRETIZED。在設(shè)計(jì)器中,可以設(shè)置離散化參數(shù),如下一節(jié)所述。在進(jìn)入向?qū)У南乱徊街?,?yīng)該確保為每一列都指定了正確的內(nèi)容類型,如果還沒有正確指定,則應(yīng)該修改。向?qū)У南乱豁撌恰皠?chuàng)建測試集”頁,如圖4-15所示,指定測試數(shù)據(jù)的百分比以及測試數(shù)據(jù)集中事例數(shù)的最大值,這一最大值將按照本章后文介紹的驗(yàn)證方法被隨機(jī)取消。強(qiáng)烈建議提供測試數(shù)據(jù),尤其是對于分類模型和回歸模型。目前,BI Dev Studio沒有提供任何工具用于評估包含可預(yù)測嵌套表的模型的準(zhǔn)確
58、性,因此為這樣的模型指定測試集就毫無意義,除非自己實(shí)現(xiàn)準(zhǔn)確性方法。圖4-15 指定測試集的事例數(shù)最多為500向?qū)У淖詈笠豁撊鐖D4-16所示,指定挖掘結(jié)構(gòu)和挖掘模型的名稱,并且如果所選擇的算法支持鉆取功能,則可以啟用鉆取功能。當(dāng)完成這些操作之后,向?qū)?chuàng)建包含一個(gè)挖掘模型的挖掘結(jié)構(gòu),并啟動(dòng)數(shù)據(jù)挖掘設(shè)計(jì)器。圖4-16 在數(shù)據(jù)挖掘向?qū)е忻麑ο?.3.3 創(chuàng)建MovieClick挖掘結(jié)構(gòu)和挖掘模型我們將創(chuàng)建一個(gè)挖掘結(jié)構(gòu)和挖掘模型,根據(jù)對客戶信息的了解,預(yù)測有房子的客戶擁有多少間臥室。按照下面的操作步驟,使用數(shù)據(jù)挖掘向?qū)韯?chuàng)建挖掘結(jié)構(gòu)和挖掘模型。(1) 在解決方案資源管理器或者對象資源管理器中右擊“挖掘結(jié)構(gòu)”文件夾,然后選擇“新建挖掘模型”。(2) 跳過描述頁,進(jìn)入“選擇定義方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 稅局誠信建設(shè)實(shí)施方案
- 衛(wèi)生院組織領(lǐng)導(dǎo)制度
- 實(shí)驗(yàn)室教室衛(wèi)生制度
- 衛(wèi)生機(jī)構(gòu)6S管理制度
- 職業(yè)衛(wèi)生及檔案制度
- 室內(nèi)外壞境衛(wèi)生保健制度
- 小賣部衛(wèi)生制度
- 預(yù)防性衛(wèi)生審查制度
- 學(xué)校衛(wèi)生監(jiān)督協(xié)制度
- 美甲店日常衛(wèi)生制度
- 2026貴州省黔晟國有資產(chǎn)經(jīng)營有限責(zé)任公司面向社會招聘中層管理人員2人備考考試試題及答案解析
- 2025年?duì)I養(yǎng)師考試練習(xí)題及答案
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會成熟人才招聘備考題庫及答案詳解一套
- 消費(fèi)者權(quán)益保護(hù)與投訴處理手冊(標(biāo)準(zhǔn)版)
- 南京航空航天大學(xué)飛行器制造工程考試試題及答案
- 陶瓷工藝品彩繪師改進(jìn)水平考核試卷含答案
- 2025廣東百萬英才匯南粵惠州市市直事業(yè)單位招聘急需緊缺人才31人(公共基礎(chǔ)知識)測試題附答案
- 粉塵防護(hù)知識課件
- 注塑模具調(diào)試員聘用協(xié)議
- (2025年)糧食和物資儲備局招聘考試題庫(答案+解析)
- 2026年樂陵市市屬國有企業(yè)公開招聘工作人員6名備考題庫及答案詳解一套
評論
0/150
提交評論