99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀使用 IBM SPSS Modeler 進(jìn)行數(shù)據(jù)挖掘之?dāng)?shù)據(jù)理解
使用 IBM SPSS Modeler 進(jìn)行數(shù)據(jù)挖掘之?dāng)?shù)據(jù)理解
2017-07-06
收藏

使用 IBM SPSS Modeler 進(jìn)行數(shù)據(jù)挖掘之?dāng)?shù)據(jù)理解

數(shù)據(jù)挖掘項(xiàng)目中,數(shù)據(jù)理解常常不被重視。但其實(shí)數(shù)據(jù)理解在整個(gè)數(shù)據(jù)挖掘項(xiàng)目中扮演著非常重要的角色,可以說(shuō)是整個(gè)項(xiàng)目的基石。在計(jì)算機(jī)領(lǐng)域有一句話,“Garbage in,garbage out.” 意思就是說(shuō),如果你的輸入數(shù)據(jù)沒(méi)有經(jīng)過(guò)科學(xué)的預(yù)處理,你所得到的結(jié)果必將是錯(cuò)誤的。通過(guò)數(shù)據(jù)理解,我們可以理解數(shù)據(jù)的特性和不足,進(jìn)而對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,使得將來(lái)得到的模型更加穩(wěn)定和精確。其次通過(guò)理解數(shù)據(jù)項(xiàng)之間的關(guān)系,我們可以為建模時(shí)輸入數(shù)據(jù)項(xiàng)和模型的選擇提供重要的信息。

首先,我們需要了解 CRISP-DM 模型,從而了解數(shù)據(jù)理解在數(shù)據(jù)挖掘工作的位置和作用。接著我們利用一個(gè)例子,分三個(gè)章節(jié)來(lái)介紹如何利用 Modeler 來(lái)理解和處理原始數(shù)據(jù)中的缺失值,異常值和各個(gè)數(shù)據(jù)項(xiàng)之間的內(nèi)在關(guān)系。

CRISP-DM 模型

數(shù)據(jù)挖掘是一項(xiàng)復(fù)雜的工程,為了讓整個(gè)項(xiàng)目便于控制和管理,我們必須遵從一定的標(biāo)準(zhǔn)流程。而 CRISP-DM 模型就是數(shù)據(jù)挖掘業(yè)界比較流行的一種模型。

圖 1. CRISP-DM 模型圖

CRISP-DM,即跨行業(yè)數(shù)據(jù)挖掘標(biāo)準(zhǔn)流程,這是一種業(yè)界認(rèn)可的用于指導(dǎo)數(shù)據(jù)挖掘工作的方法。作為一種方法,它包含工程中各個(gè)典型階段的說(shuō)明、每個(gè)階段所包含的任務(wù)以及這些任務(wù)之間的關(guān)系的說(shuō)明;作為一種流程模型,CRISP-DM 概述了數(shù)據(jù)挖掘的生命周期。圖 1 展示了 CRISP-DM 中定義的數(shù)據(jù)挖掘生命周期中的六個(gè)階段。

商業(yè)理解:了解進(jìn)行數(shù)據(jù)挖掘的業(yè)務(wù)原因和數(shù)據(jù)挖掘的目標(biāo)

數(shù)據(jù)理解:深入了解可用于挖掘的數(shù)據(jù)

數(shù)據(jù)準(zhǔn)備:對(duì)待挖掘數(shù)據(jù)進(jìn)行合并,匯總,排序,樣本選取等操作

建立模型:根據(jù)前期準(zhǔn)備的數(shù)據(jù)選取合適的模型

模型評(píng)估:使用在商業(yè)理解階段設(shè)立的業(yè)務(wù)成功標(biāo)準(zhǔn)對(duì)模型進(jìn)行評(píng)估

結(jié)果部署:使用挖掘后的結(jié)果提升業(yè)務(wù)的過(guò)程

下面,我們以某超市的市場(chǎng)推廣活動(dòng)為例,從商業(yè)理解開(kāi)始,一起來(lái)學(xué)習(xí)如何利用 Modeler 的強(qiáng)大功能來(lái)進(jìn)行數(shù)據(jù)理解。

商業(yè)理解:

現(xiàn)狀:

某超市新增加了體育服飾用品營(yíng)業(yè)部。開(kāi)業(yè)一段時(shí)間,由于體育服飾用品地處二樓,很多顧客還不知道,營(yíng)業(yè)額沒(méi)有達(dá)到預(yù)期。

商業(yè)目標(biāo):

經(jīng)理決定進(jìn)行一次促銷活動(dòng),具體活動(dòng)是向會(huì)員中的部分用戶郵寄打折優(yōu)惠卡??紤]到優(yōu)惠卡制作費(fèi)用,郵寄費(fèi)用,經(jīng)理希望能夠向那些最有購(gòu)買潛力的客戶郵寄優(yōu)惠卡。使這些潛在用戶了解本超市的體育品牌和刺激他們進(jìn)行消費(fèi)。

活動(dòng)計(jì)劃:

首先調(diào)取自體育用品部營(yíng)業(yè)來(lái)的所有銷售記錄,得到購(gòu)買體育用品的會(huì)員記錄,建立模型,對(duì)本超市所有會(huì)員進(jìn)行預(yù)測(cè),對(duì)那些最有可能購(gòu)買體育用品且尚未購(gòu)買的客戶郵寄優(yōu)惠卡。以刺激這些潛在客戶的消費(fèi)。

驗(yàn)證條件:

產(chǎn)生潛在客戶名單信息后,隨機(jī)抽取 100 名進(jìn)行電話調(diào)查,表示愿意接受優(yōu)惠券并且表示會(huì)來(lái)消費(fèi)的顧客比例高于 70%.

數(shù)據(jù)理解

經(jīng)理將這個(gè)任務(wù)交給小王來(lái)負(fù)責(zé),小王首先對(duì)超市內(nèi)現(xiàn)有的數(shù)據(jù)進(jìn)行分析:

會(huì)員基本信息:會(huì)員申請(qǐng)會(huì)員卡時(shí)登記的信息,其中包含了會(huì)員年齡,職業(yè),學(xué)歷,電話,工作,收入,住址等信息。

消費(fèi)信息:會(huì)員消費(fèi)的明細(xì)記錄。

了解了現(xiàn)有數(shù)據(jù)后,小王發(fā)現(xiàn)有以下問(wèn)題:

會(huì)員基本信息是會(huì)員提供的,里邊有很多值是缺失的,有的看起來(lái)是錯(cuò)誤的。

而消費(fèi)信息由于是每次消費(fèi)后電腦生成,信息是完整的,但是信息卻很龐雜,不利于分析。

可用的數(shù)據(jù)項(xiàng)非常多,到底用哪些數(shù)據(jù)項(xiàng)來(lái)進(jìn)行數(shù)據(jù)預(yù)測(cè)呢?

這幾個(gè)問(wèn)題都是數(shù)據(jù)理解需要解決的問(wèn)題,下邊我們就來(lái)看一下如何利用 Modeler 來(lái)幫助我們進(jìn)行數(shù)據(jù)理解:

使用 Modeler 進(jìn)行缺失值分析

什么是缺失值?

缺失值就是指數(shù)據(jù)文件中的某些數(shù)據(jù)項(xiàng)是未知的值。幾乎所有的商業(yè)數(shù)據(jù)挖掘中,都要遇到缺失值的問(wèn)題,有可能是數(shù)據(jù)采集中的失誤,有可能客戶不愿意提供某些信息,面對(duì)這樣的數(shù)據(jù),我們?cè)撊绾问呛? ? 使用這樣的數(shù)據(jù)可能會(huì)對(duì)我們后期的建模產(chǎn)生不可預(yù)料的影響。如果丟棄,這些數(shù)據(jù)中可能包含著寶貴的信息。下邊我們就來(lái)看一下如何利用 Modeler 來(lái)進(jìn)行缺失值分析:

缺失值示例

第一步我們需要利用 Modeler 來(lái)確定數(shù)據(jù)文件中缺失值的類型和數(shù)量。然后才能做進(jìn)一步的處理。

首先我們看一下我們例子中需要用到的數(shù)據(jù):

圖 2. 缺失值分析示例數(shù)據(jù)

從上圖中我們可以看到編號(hào)有些記錄的值是缺失的。

接下來(lái)我們打開(kāi) Modeler,新建 Stream,拖入一個(gè)“可變文件”節(jié)點(diǎn)到工作區(qū)。雙擊節(jié)點(diǎn)。選擇示例數(shù)據(jù)文件作為輸入。然后我們點(diǎn)擊“可變文件”節(jié)點(diǎn)的預(yù)覽按鈕。得到結(jié)果如圖:

圖 3. 原始數(shù)據(jù)預(yù)覽圖

從預(yù)覽圖里我們可以看出記錄 002 的年齡為 null,性別為空 , 這兩個(gè)值都可以被 Modeler 自動(dòng)識(shí)別為缺失值。這是 Modeler 針對(duì)不同類型的數(shù)據(jù)做了不同的處理。這里年齡被 Modeler 識(shí)別為整數(shù)類型,性別被識(shí)別為字符串類型。另外我們發(fā)現(xiàn) 005 的電話號(hào)碼依然為“無(wú)”,并沒(méi)有做任何替換。著我們這個(gè)示例里電話號(hào)碼“無(wú)”是一個(gè)語(yǔ)義上的缺失值,在很多數(shù)據(jù)文件中都可能含有這樣的信息,那么在 Modeler 里怎么定義這樣的缺失值呢?這個(gè)我們稍后會(huì)做介紹。

利用“數(shù)據(jù)審核”節(jié)點(diǎn)審核數(shù)據(jù)

“數(shù)據(jù)審核”節(jié)點(diǎn)可以提供給我們很多有用的信息,其中就包括數(shù)據(jù)缺失值信息。下邊,我們就將“數(shù)據(jù)審核”節(jié)點(diǎn)加入到我們的 stream 中來(lái),連接“可變文件”節(jié)點(diǎn)和“數(shù)據(jù)審核”節(jié)點(diǎn),運(yùn)行 Stream,我們可以得到下圖

圖 4. 數(shù)據(jù)審核結(jié)果圖

從上圖中我們可以看到很多有用的信息,數(shù)據(jù)的分布圖形,數(shù)據(jù)的類型,統(tǒng)計(jì)值等,在這里我們要關(guān)注的是最后一列有效數(shù)據(jù),這里我們發(fā)現(xiàn)年齡,性別,學(xué)歷,月收入的有效值都不是 30,這說(shuō)明 “數(shù)據(jù)審核”節(jié)點(diǎn)已經(jīng)成功的幫我們識(shí)別出了這兩列的缺失值。同時(shí)我們可以發(fā)現(xiàn)電話這一項(xiàng)的有效數(shù)據(jù)仍然是 30.

下邊我們就來(lái)看看如何在 Modeler 中定義缺失值。

缺失值定義

雙擊“可變文件”節(jié)點(diǎn),選擇類型頁(yè)。如下圖:

圖 5. “可變文件”節(jié)點(diǎn)類型頁(yè)

在類型頁(yè)里我們發(fā)現(xiàn)有一列名為“缺失”,我們?cè)陔娫掃@一列我們點(diǎn)擊缺失這以空白項(xiàng)。

圖 6. 指定缺失值

我們選擇指定…,會(huì)打開(kāi)一個(gè)新的頁(yè)面:

圖 7. 配置電話缺失值

如上圖,我們選擇“定義空白”,添加一個(gè)缺失值為“無(wú)”。然后點(diǎn)擊確定,關(guān)閉窗口。

接著我們?cè)賮?lái)運(yùn)行數(shù)據(jù)審核,得到如下結(jié)果:

圖 8. 數(shù)據(jù)審核結(jié)果圖

這次我們可以發(fā)現(xiàn)電話這一項(xiàng)的有效數(shù)據(jù)變成了 29. 說(shuō)明我們定義的缺失值成功了。

然后我們選擇“數(shù)據(jù)審核”節(jié)點(diǎn)的質(zhì)量頁(yè),如下圖 :

圖 9. 數(shù)據(jù)質(zhì)量結(jié)果圖

從上圖中可以看出完整的字段為 37.5%,完整的記錄為 83.33%,這時(shí)我們可以決定如何處理缺失值,如果我們完整的字段占的比例很高,那么我們一般應(yīng)該過(guò)濾掉包含缺失值的字段然后進(jìn)行建模。另一種情況,如果完整記錄所占比例較高那么我們應(yīng)該刪除那些含有缺失值的記錄然后進(jìn)行建模。

Modeler 考慮到這兩種情況,提供了非常實(shí)用的功能來(lái)幫助我們進(jìn)行數(shù)據(jù)的篩選。我們打開(kāi)數(shù)據(jù)審核結(jié)果,選擇質(zhì)量頁(yè)面,單擊工具條上的生成按鈕,里邊可以選擇生成列的過(guò)濾節(jié)點(diǎn),或者值的選擇節(jié)點(diǎn)。生成的節(jié)點(diǎn)可以幫助我們自動(dòng)過(guò)濾含有缺失值的行或者列。

上面所說(shuō)的對(duì)缺失值的處理是刪除含有缺失值的列或者行,還有一種辦法是我們可以對(duì)缺失值進(jìn)行填充,比如我們可以用缺失值所在列的平均值,隨機(jī)值來(lái)進(jìn)行填充,或者我們對(duì)該列進(jìn)行建模預(yù)測(cè),來(lái)達(dá)到填充缺失值的目的。

使用 Modeler 進(jìn)行異常值分析

什么是異常值

異常值就是數(shù)據(jù)文件中那些和其它值相比有明顯不同的值,它們可以通過(guò)觀察數(shù)據(jù)分布來(lái)確定。

在具體考慮異常值時(shí),我們需要注意異常值的類型,一般分為兩種,一種是可枚舉類型,比如超市里的商品名,商品名不可能有異常值。假如我們利用會(huì)員購(gòu)買的商品來(lái)預(yù)測(cè)他會(huì)不會(huì)購(gòu)買體育用品,因?yàn)樯唐泛芏?,使得?gòu)買相同商品的用戶數(shù)量很少,所建模型就會(huì)很不穩(wěn)定。這時(shí)我們應(yīng)該對(duì)商品進(jìn)行抽象,比如抽象為水果,零食,日用品,蔬菜,化妝品等,用這樣的數(shù)據(jù)進(jìn)行預(yù)測(cè),就會(huì)使模型可靠性提升。利用 Modeler 里的“分布”節(jié)點(diǎn)可以對(duì)這種可枚舉類型的數(shù)據(jù)進(jìn)行分組。

圖 10. 001 用戶消費(fèi)記錄

假如我們有上表這樣的數(shù)據(jù),我們?nèi)绾螌⑸唐愤M(jìn)行抽象分組呢?首先我們建立一個(gè) stream,用“可變文件節(jié)點(diǎn)”來(lái)讀取數(shù)據(jù)。然后連接一個(gè)“分布”節(jié)點(diǎn)。運(yùn)行分布節(jié)點(diǎn),得到下圖。

圖 11. 分布節(jié)點(diǎn)運(yùn)行結(jié)果

比如我們可以選擇梨,蘋果,然后右鍵選擇“組”,建立一個(gè)水果組。類似的建立一個(gè)化妝品組。然后我們可以選擇“生成”菜單,讓 Modeler 自動(dòng)幫我們生成一個(gè)分組節(jié)點(diǎn)。這樣,我們就可以用水果,化妝品這樣的具有一定抽象意義的值來(lái)代替原來(lái)具體的值。

另一種類型就是連續(xù)型數(shù)據(jù),比如用戶收入,用戶年齡等。對(duì)于連續(xù)型數(shù)據(jù),運(yùn)行數(shù)據(jù)審核節(jié)點(diǎn),在質(zhì)量頁(yè)面我們就可以查看離群值和極值。默認(rèn)情況下,Modeler 是根據(jù)平均值的標(biāo)準(zhǔn)差來(lái)確定離群值和極值的。在運(yùn)行“數(shù)據(jù)審核”結(jié)果頁(yè)面我們也可以設(shè)置離群值和極值的處理方法

圖 12. 處理異常值的設(shè)置

選擇工具條里的生成按鍵,選擇離群值和極值超節(jié)點(diǎn)。這時(shí),Modeler 會(huì)幫我們自動(dòng)生成一個(gè)過(guò)濾離群值和極值的超節(jié)點(diǎn)。我們連接“可變文件”節(jié)點(diǎn)和這個(gè)超節(jié)點(diǎn),Modeler 就會(huì)幫我們按照我們期望的處理方式來(lái)處理離群值和極值。

還有一種異常值是需要多個(gè)列組合才能看出來(lái)。比如某顧客每個(gè)月在超市消費(fèi)額都在 1000 以上,但是他的會(huì)員信息顯示他的月收入為 1000 元,這條記錄就可以被識(shí)別為異常值。需要進(jìn)一步分析。同樣 Modeler 也提供了相應(yīng)的功能來(lái)幫助我們識(shí)別這樣的聯(lián)合分布的異常值。

圖 13. 用戶收入消費(fèi)表

從上邊的數(shù)據(jù)中,我們很難發(fā)現(xiàn)哪條數(shù)據(jù)有異常,下邊我們就用 Modeler 里的“圖”節(jié)點(diǎn)來(lái)幫助我們分析數(shù)據(jù)。

我們將“可變文件”節(jié)點(diǎn)的數(shù)據(jù)文件指向示例數(shù)據(jù),添加一個(gè)“圖”節(jié)點(diǎn),并雙擊“圖”節(jié)點(diǎn),如圖:

圖 14. 設(shè)置圖節(jié)點(diǎn)

運(yùn)行圖節(jié)點(diǎn)。

圖 15. “圖”節(jié)點(diǎn)結(jié)果

這是我們能明顯看到左上角的一個(gè)異常值,鼠標(biāo)移動(dòng)到這個(gè)點(diǎn)上,我們可以看到這個(gè)點(diǎn)所代表的詳細(xì)信息。

使用 Modeler 觀察數(shù)據(jù)項(xiàng)之間聯(lián)系

對(duì)于數(shù)據(jù)挖掘來(lái)說(shuō)在進(jìn)行真正的建模之前,通過(guò)觀察數(shù)據(jù)項(xiàng)之間的關(guān)系,特別是輸入數(shù)據(jù)項(xiàng)和目標(biāo)數(shù)據(jù)項(xiàng)之間的關(guān)系,是非常有意義的,它能快速的讓我們對(duì)數(shù)據(jù)之間的關(guān)系有個(gè)大概了解,精簡(jiǎn)一些不必要的數(shù)據(jù)項(xiàng),提高建模速度和穩(wěn)定性。

下邊我們就以超市調(diào)查結(jié)果來(lái)看,其中已經(jīng)將會(huì)員消費(fèi)記錄整合成水果,蔬菜,日常用品,零食等,這些列的數(shù)字代表此項(xiàng)消費(fèi)在該會(huì)員所有消費(fèi)中所占的百分比。最后一列表示用戶是否對(duì)體育用品優(yōu)惠活動(dòng)感興趣。

圖 16. 用戶意向表

同樣我們新建一個(gè) Stream,加入一個(gè)“可變文件”節(jié)點(diǎn),修改文件路徑到示例數(shù)據(jù),然后,我們連接一個(gè)“均值”節(jié)點(diǎn)。雙擊“均值”節(jié)點(diǎn),進(jìn)入編輯:

圖 17. 均值節(jié)點(diǎn)

我們選擇接受為分組字段,年齡,月收入,水果,蔬菜,日常用品,零食為測(cè)試字段

然后,我們運(yùn)行“均值”節(jié)點(diǎn),得到下表:

圖 18. 均值節(jié)點(diǎn)結(jié)果

從統(tǒng)計(jì)數(shù)據(jù)來(lái)看,可以決定用戶是否對(duì)體育用品感興趣的重要因素為水果,日常用品,年齡,蔬菜。而零食和月收入對(duì)預(yù)測(cè)影響較小。

結(jié)束語(yǔ)

通過(guò)本文的描述,你應(yīng)該對(duì)數(shù)據(jù)理解所要做的工作,以及如何利用 Modeler 來(lái)幫助你完成相關(guān)工作有了一定的了解。本文所涉及的 Node 只是 Modeler 中可用于數(shù)據(jù)理解相關(guān) Node 的一部分。另外在 Modeler 中,通過(guò) Node 之間靈活多變的組合,可以完成更復(fù)雜的任務(wù)。這些就留給讀者自己去探索吧。


數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }