日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据挖掘】挖掘建模-回归分析(1)

發布時間:2024/7/5 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据挖掘】挖掘建模-回归分析(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=1X),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=1X)=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=0X)=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) 模型應用:輸入自變量的取值得到預測變量的值。

    filename = "../data/bankloan.xls" data = pd.read_excel(filename) x = data.iloc[:, :8].as_matrix() y = data.iloc[:, 8].as_matrix() rlr = RLR() rlr.fit(x, y) rlr_support = rlr.get_support() support_col = data.drop('違約', axis=1).columns[rlr_support] print("rlr_support_columns: {columns}".format(columns=','.join(support_col))) x = data[support_col].as_matrix() lr = LR() lr.fit(x, y) print("lr: {score}".format(score=lr.score(x, y)))

    【這里存在一個問題沒有解決:from sklearn.linear_model import RandomizedLogisticRegression as RLR找不到RandomizedLogisticRegression,后按照網上教程import stability_selection.randomized_lasso import RandomizedLogisticRegression as RLR,這時RLR可以成功導入,但是這個類沒有get_support()方法,暫時還不知道怎么解決這個問題。】

    總結

    以上是生活随笔為你收集整理的【数据挖掘】挖掘建模-回归分析(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。