SQL Server數據挖掘中的幾個問題之理解列的用法
最近與一個客戶的開發團隊探討和學習SQL Server的數據挖掘及其應用。有幾個比較有意思的問題,整理出來
關于數據挖掘的基本知識和學習資料,可以參考http://msdn.microsoft.com/zh-cn/library/bb510517.aspx
上一篇: SQL Server數據挖掘中的幾個問題之理解內容類型
這是一個小的細節問題,我們在定義挖掘模型的時候,會指定不同的列的用法,基本上有如下幾種
- Ignore(忽略)
- Input(輸入)
- Predict(預測)
- PredictOnly(僅預測)
前面兩個很容易理解,“忽略”就是說這個列不在當前算法中使用,例如某些列在某些算法里面不受支持。而“輸入”則是最常見的一種用法,就是說這個列作為算法作為預測分析的輸入數據。
關鍵在于如何理解“預測”與“僅預測”
- 預測:這種列的意思是,該列既作為輸入列(輸入的數據),也作為輸出列(預測的結果)
- 僅預測:該列只作為輸出列,不能作為輸入列。也就是說它不會作為對其他因素做分析或者預測的因素。
這里面有兩個主要層面的意思
- 如果是選擇“預測”這種用法,那么這種列可以作為“輸入”的性質,對其他列(尤其是其他預測列)產生影響。而“僅預測”這種則是說自己只是僅僅作為預測的目的存在,它本身不能作為預測其他列的前提。
- 所以,如果有多個預測列(這在有的時候也是可能的),那么對于某些列,設置為“預測”而不是“僅預測”應該是很有必要的;而對于在模型中只有***的預測目標列時,可以設置為“僅預測”來提高模型的準確性和效率。
- 在對新數據做預測的時候,我們也可以看到這樣的意思
在這種情況下,Bike Buyer這個列,也可以作為輸入進行映射
原文鏈接:http://www.cnblogs.com/chenxizhang/archive/2011/07/24/2115304.html
【編輯推薦】