【数据挖掘】挖掘建模-回归分析(1)
參考文獻:《Python數據分析與挖掘實戰》
分類與預測
一、實現過程
學習:通過歸納分析訓練樣本集來建立分類模型得到分類規則。
分類:用已知的測試樣本集評估分類規則的準確率,若結果可接受則用樣本集進行預測。
通過訓練集建立預測數值型屬性的函數模型。
在模型通過檢驗后進行預測或控制。
二、常用的分類和預測算法
| 回歸分析 | 預測數值型屬性(線性回歸、非線性回歸、邏輯回歸、嶺回歸、主成分回歸、偏最小二乘回歸) |
| 決策樹 | 自頂向下的遞歸方式,內部節點進行屬性值比較,根據不同屬性值從節點向下分支,最終得到的葉節點為學習劃分的類 |
| 人工神經網絡 | 反映神經網絡的輸入和輸出變量之間關系的模型 |
| 貝葉斯網絡 | 不確定知識表達和推理領域最有效的理論模型 |
| 支持向量機 | 通過某種非線性映射,把低維的非線性可分轉化為高維的線性可分,在高維空間進行線性分析的算法 |
回歸分析
一、常用回歸模型
| 線性回歸 | 因變量和自變量是線性關系 |
| 非線性回歸 | 因變量和自變量不都是線性關系 |
| 邏輯回歸 | 因變量有0/1兩種取值 |
| 嶺回歸 | 參與建模的自變量之間有多重共線性 |
| 主成分回歸 | 參與建模的自變量之間有多重共線性 |
二、邏輯回歸模型
邏輯函數
假設有n個獨立的自變量,x1,x2,...,xnx_1,x_2,...,x_nx1?,x2?,...,xn?
假設y=1的概率p(y=1)=p=P(y=1∣X)p(y=1)=p=P(y=1|X)p(y=1)=p=P(y=1∣X),y=0的概率是p(y=0)=1-p
則概率之比為p1?p\frac{p}{1-p}1?pp?,取自然對數得到邏輯變換Logit(p)=ln(p1?p)Logit(p) = ln(\frac{p}{1-p})Logit(p)=ln(1?pp?)。
令Logit§=z,則p=11+e?zp=\frac{1}{1+e^{-z}}p=1+e?z1?即為邏輯函數
邏輯回歸模型
定義:建立ln(p1?p)ln(\frac{p}{1-p})ln(1?pp?)與自變量的線性回歸模型,即:
ln(p1?p)=β0+β1xi+......+βnxn+?ln(\frac{p}{1-p})=\beta_0+\beta_1x_i+......+\beta_nx_n+\epsilonln(1?pp?)=β0?+β1?xi?+......+βn?xn?+?
記g(x)=β0+β1xi+......+βnxng(x)=\beta_0+\beta_1x_i+......+\beta_nx_ng(x)=β0?+β1?xi?+......+βn?xn?,則有:
p=P(y=1∣X)=11+e?g(x)p=P(y=1|X)=\frac{1}{1+e^{-g(x)}}p=P(y=1∣X)=1+e?g(x)1?
1?p=P(y=0∣X)=1?11+e?g(x)=11+eg(x)1-p=P(y=0|X)=1-\frac{1}{1+e^{-g(x)}}=\frac{1}{1+e^{g(x)}}1?p=P(y=0∣X)=1?1+e?g(x)1?=1+eg(x)1?
3.邏輯回歸建模步驟
(1) 設置自變量和因變量,收集數據,篩選特征。
(2) 用p1?p\frac{p}{1-p}1?pp?和自變量列出線性回歸方程,估計出模型中的回歸系數。
(3) 進行模型檢驗(正確率、混淆矩陣、ROC、KS)
(4) 模型應用:輸入自變量的取值得到預測變量的值。
【這里存在一個問題沒有解決:from sklearn.linear_model import RandomizedLogisticRegression as RLR找不到RandomizedLogisticRegression,后按照網上教程import stability_selection.randomized_lasso import RandomizedLogisticRegression as RLR,這時RLR可以成功導入,但是這個類沒有get_support()方法,暫時還不知道怎么解決這個問題。】
總結
以上是生活随笔為你收集整理的【数据挖掘】挖掘建模-回归分析(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法工程师笔试 -剑指offer-习题详
- 下一篇: Dataset、IterableData