SQL SERVER 數(shù)據(jù)挖掘之理解內(nèi)容類型
SQL SERVER數(shù)據(jù)挖掘中的內(nèi)容類型分為:Continuous(連續(xù)),Discretized(離散化)和Discreted(離散的)。它們的區(qū)別在哪里呢?該怎樣理解呢,本文介紹了這一過程,現(xiàn)在我們開始介紹。
這是對于在數(shù)據(jù)挖掘結(jié)構(gòu)中,對于內(nèi)容類型設(shè)置的幾個(gè)常用的值,如下圖所示
【備注】其實(shí)除了這三個(gè),還有其他好多個(gè)不同的ContentType,具體的請參考http://msdn.microsoft.com/zh-cn/library/ms174572.aspx。
我的理解是這樣的:
首先,這個(gè)ContentType是指定在挖掘模型中將如何這些屬性,而并非說這個(gè)屬性本身是連續(xù)的或者離散的。
其次,不同的挖掘算法對于ContentType的支持是不一樣的。例如貝葉斯算法就不支持連續(xù)的類型。其他一些算法也或多或少會有些自己的限制等
如果使用“連續(xù)(Continuous)”,則表示這一列的數(shù)據(jù),最終可以在分析的時(shí)候,按照一定的規(guī)則劃分一些范圍,而不是單一的某個(gè)值。典型的連續(xù)類型,例如年收入,年齡等。因?yàn)槟晔杖氲闹悼赡苁呛芏嗟?,如果每一個(gè)值都作為一個(gè)分析的個(gè)體去做,那么會導(dǎo)致太過細(xì)枝末節(jié)。我們通常在分析的時(shí)候,習(xí)慣將收入分段,例如1000~30000之間當(dāng)做一個(gè)個(gè)體。如果要實(shí)現(xiàn)這樣的效果,那么年收入就要設(shè)置為“連續(xù)”。下圖是在決策樹中看到的一個(gè)效果。
那么什么是“離散(Discreted)”的內(nèi)容類型呢?和“連續(xù)”正好相反,它表示將每個(gè)數(shù)據(jù)都作為單一的個(gè)體進(jìn)行分析,如果數(shù)據(jù)包含有限的幾個(gè)可選值,則很適合用這種類型。例如性別,職業(yè)等等。下圖是在貝葉斯算法中看到的一個(gè)效果。除了第一個(gè)屬性“Age”之外,其他的其實(shí)都是離散的。
那么,什么是離散化(Discretized)的呢?其實(shí)上面這個(gè)圖中看到的Age就是離散化的。為什么這么說呢?首先它肯定不是連續(xù)的,因?yàn)樨惾~斯不支持連續(xù)的內(nèi)容類型,其次它又不是離散的,離散的是將每個(gè)數(shù)據(jù)作為個(gè)體,而這里的Age其實(shí)是有范圍的意思。那么,這樣你就大致理解了為什么會有“離散化”這么一個(gè)類型了吧?就是說,在某些算法里面,既不支持連續(xù)的內(nèi)容類型,而且你分析的時(shí)候,又不希望用離散的內(nèi)容類型進(jìn)行分析(因?yàn)閭€(gè)體可能很多),那么可以選擇將這些數(shù)據(jù)轉(zhuǎn)換為離散的,這個(gè)過程叫離散化。我們來看看是怎么做到的?
首先,設(shè)置為Discretized,
然后一定要設(shè)置另外兩個(gè)屬性:DiscretizationBucketCount,和DiscretizationMethod,第一個(gè)屬性表示分成多少組(最多),第二個(gè)屬性表示要用什么方法分組。這個(gè)Method有下面三種選擇
相信通過上面的比較,大家應(yīng)該就能較好地理解SQL SERVER數(shù)據(jù)挖掘中這三種內(nèi)容類型的區(qū)別了。本文就介紹到這里,下一篇我們介紹:SQL SERVER數(shù)據(jù)挖掘之理解列的用法。
【編輯推薦】