Microsoft神經網絡是迄今爲止最強大、最複雜的算法。要想知道它有多複雜,請看SQL Server聯機叢書對該算法的說明:「這個算法經過創建多層感知神經元網絡,創建分類和迴歸挖掘模型。與Microsoft決策樹算法相似,在給定了可預測屬性的每一個狀態時, Microsoft神經網絡算法計算輸入屬性每一個可能狀態的機率。而後能夠用這些機率根據輸入屬性預測被預測屬性的輸出。」
何時用這個算法呢?推薦在其餘算法沒法得出有意義的結果時再用,如提高圖輸出的結果。咱們常常把Microsoft神經網絡做爲「壓箱底」的最後一招,在其餘算法處理巨大而複雜的數據集沒法獲得有意義的結果時才使用它。這個算法能夠接受Discrete或Continuous數據類型做爲輸入。在大型數據源上使用Microsoft神經網絡以前,必定要用生產級別的負載好好測試,由於處理這類模型的開支太大了。同其餘算法同樣,在「算法參數」對話框中也有多個參數能夠配置。同其餘一些開支比較大的算法同樣,只有在業務理由很是充分的狀況下才有必要修改默認值。
Microsoft神經網絡算法的一個變體是Microsoft邏輯迴歸算法。算法
下面咱們進入主題,一樣咱們繼續利用上次的解決方案,依次步驟以下:
數據源視圖:
sql
鍵:序列
輸入:統率、武力、智力、政治、魅力
可預測:身分
網絡
數據內容類型:
Continuous(連續型):統率、武力、智力、政治、魅力
Discrete(離散型):身分測試
建模完成,產生數據挖掘結構接口包含Mining Structure(挖掘結構)、Mining Models(挖掘模型)、Mining Model Viewer(挖掘模型查看器)、Mining Accuracy Chart(挖掘精確度圖表)以及Mining Model Prediction(挖掘模型預測);其中在Mining Structure(挖掘結構)中,主要是呈現數據間的關聯性以及分析的變量。blog
挖掘模型:
在Mining Models(挖掘模型)中,主要是列出所創建的挖掘模型,也能夠新增挖掘模型,並調整變量,變量使用情況包含Ignore(忽略)、Input(輸入變量)、Predict(預測變量、輸入變量)以及Predict Only(預測變量),如圖所示。
在挖掘模型上點擊鼠標右鍵,選擇「設置算法參數...」可修改模型參數設置,如圖所示
接口
其中包含:
HIDDEN_NODE_RATIO:指定用於判斷隱藏層中的節點數目。隱藏層內的節點數計算公式爲:HIDDEN_NODE_RATIO *sqrt({輸入節點的數目} * {輸出節點的數目})。
HOLDOUT_PERCENTAGE:指定用於計算測試組預測錯誤的百分比,做爲中止準則的一部分。
HOLDOUT_SEED:指定用於隨機產生測試組的種子數據。若是未指定,算法會依據模型名稱產生隨機種子,以保證在從新處理模型時保持測試組相同。
MAXIMUM_INPUT_ATTRIBUTES:指定算法可處理的最大輸入變量數目。將此值設置爲0,會停用輸入變量。
MAXIMUM_OUTPUT_ATTRIBUTES:指定算法可處理的最大輸出變量數目。將此值設置爲0,會停用輸出變量。
MAXIMUM_STATES:指定算法所支持變量取值狀態的最大數目。若是屬性狀態數大於該值,算法會截取最經常使用的狀態,並將超過最大值的其他狀態視爲遺漏。
SAMPLE_SIZE:指定用來訓練模型的案例數目。算法會取小於如下二者:SAMPLE_SIZE或total_cases *(1-HOLDOUT_PERCENTAGE/100)。get
挖掘模型查看器:
「挖掘模型查看器」展現該挖掘模型的結果,經過經過柱狀圖表示某一變量的取值狀態對預測變量影響的方向和大小。
提高圖:
分類矩陣:
數據挖掘
參考文獻:
Microsoft 神經網絡算法
http://msdn.microsoft.com/zh-cn/library/ms174941(v=sql.105).aspxio