挖掘建模算法
算法名稱
|
算法描述
|
---|---|
迴歸分析 | 迴歸分析是肯定預測屬性(數值型)與其餘變量之間相互依賴的定量關係最經常使用的統計學方法,包括線性迴歸,非線性迴歸,Logistic迴歸,嶺迴歸,主成分迴歸,偏最小二乘迴歸等模型 |
決策樹 | 決策樹採用自頂向下的傳遞方式,在內部節點機型屬性值的比較,並根據不一樣的屬性值,從該節點向下分支,最終獲得的葉節點是學習劃分的類 |
人工神經網絡 | 人工神經網絡是一種模仿大腦神經網絡結構和功能而創建的信息處理系統,表示神經網絡的輸入輸出變量之間關係模型 |
貝葉斯網絡 | 貝葉斯網絡又稱信度網絡,是bayes方法的擴展,是目前不肯定是指表達和推理領域最有效的理論模型之一 |
支持向量機 | 支持向量機是一種經過某種非線性映射,把低維的非線性可轉化爲高維的線性可分,在高維空間進行線性分析的算法 |
迴歸分析:網絡
迴歸模型名稱
|
使用條件
|
算法模型
|
---|---|---|
線性迴歸 | 因變量與自變量是線性關係 | 對一個或多個自變量和因變量之間的線性關係進行建模,可用最小二乘法求解模型係數 |
非線性迴歸 | 因變量與自變量之間都是線性關係 | 對一個或多個自變量和因變量之間的非線性關係進行建模.若是非線性關係能夠經過簡單的函數變換轉化成線性關係,用線性迴歸的思想求解;若是不能轉化,用非線性最小二乘方法求解 |
Logistic迴歸 | 因變量通常有1和0(是否)兩種取值 | 是廣義線性迴歸模型的特例,利用Logistic函數將因變量的取值範圍控制在0和1之間,表示取值爲1的機率 |
嶺迴歸 | 參與建模的自變量之間具備多重共線性 | 是一種改進最小二乘估計的方法 |
主成分迴歸 | 參與建模的自變量之間具備多重共線性 | 主成分迴歸是根據主成分分析思想提出來的,是對最小二乘法的一種改進,它是參數估計的一種有偏估計.能夠消除自變量之間的多重共線 |
# -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf-8") """ 邏輯迴歸,自動建模 """ import pandas as pd data = pd.read_csv("./bankloan.csv") x = data.iloc[:,:8].as_matrix() print("x",x) y = data.iloc[:5].as_matrix() print("y",y) from sklearn.linear_model import LogisticRegression as LR # 爲何???? from sklearn.linear_model import RandomizedLogisticRegression as RLR rlr = RLR() # 創建隨機邏輯迴歸模型, 篩選變量 rlr.fit(x, y) # 訓練模型(這是把x,y這兩個參數進行訓練) rlr._get_support_mask() # 獲取篩選特徵結果,也能夠經過.scores_方法獲取各個特徵的分數 print(u'經過隨機邏輯迴歸模型篩選特徵結束') print(u'有效特徵爲:%s' % ",".join(data.columns[rlr._get_support_mask()])) x = data[data.columns[rlr._get_support_mask()]].as_matrix() # 篩選好特徵 lr = LR() # 創建邏輯迴歸模型 lr.fit(x, y) # 用篩選好後的特徵數據來訓練模型 print(u'邏輯迴歸模型訓練結束.') print(u'模型的平均正確率爲:%s' % lr.score(x, y)) # 給出模型的平均正確率