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