精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用Python進行線性回歸 用Python中的mlxtend包實現關聯規則挖掘

冬至子 ? 來源:yvonxin ? 作者:yvonxin ? 2023-08-09 14:37 ? 次閱讀

1.簡單線性回歸

讀取Case1.csv,其中wt列為病人體重,volume列為病人腎臟容積,試建立回歸方程,用病人體重預測病人腎臟容積。

2.多元線性回歸

讀取Case2.csv,其中CRIM列為城鎮人均犯罪率,ZN為住宅用地超過25,000平方英尺以上的比例,INDUS為城鎮非零售商用土地的比例(即工業或農業等用地比例),CHAS為查爾斯河虛擬變量(邊界是河,則為1;否則為0),NOX為一氧化氮濃度(百萬分之幾),RM為每個住宅的平均房間數,AGE為1940 年之前建成的自用房屋比例,DIS為到波士頓五個中心區域的加權距離(與繁華鬧市的距離,區分郊區與市區),RAD為高速公路通行能力指數(輻射性公路的靠近指數),TAX為每10,000美元的全額財產稅率,PTRATIO為按鎮劃分的城鎮師生比例,B為1000(Bk-0.63)^2其中Bk是城鎮黑人比例,LSTAT為人口中地位低下者的百分比,MEDV為自有住房的中位數價值(單位:千美元)。以MEDV為因變量(預測目標),建立回歸方程,預測房價,并評價模型性能。

3.關聯規則挖掘

讀取Case3.csv,試挖掘出支持度>=0.02,置信度>=0.35的關聯規則。

4.梯度下降法實現多元線性回歸(選做)

自行實現梯度下降法,實現多元線性回歸中的參數計算。記錄自己實現的梯度下降法的運算時間,與statsmodels中的方法進行比較。

5.Apriori算法實現關聯規則挖掘(選做)

自行實現Apriori算法,實現關聯規則挖掘。記錄自己實現的Apriori算法的運算時間,與mlxtend中的方法進行比較。

三、實驗過程及步驟

1.一元線性回歸&多元線性回歸

1.0實現思路

一元線性回歸近似于用一條直線來擬合數據和結果,y = a·x + b。我們會希望數據的分布和擬合曲線之間的誤差越小而且符合正態分布。

1.1基于Statsmodels.OLS的一元線性回歸

在進行多元回歸的時候需要將excel中多列參數值讀到stark中,然后再調用相關函數。

1.2 DIY一元線性回歸

定義矩陣乘法函數J(梯度下降函數)和對矩陣求導的函數dj,求導的結果決定了x的方向。

圖片

具體實現:使用numpy包中的dot函數實現點乘

2.相關分析

2.1將數據庫中數據讀成購物清單的格式

圖片

圖二 格式轉換

2.2遍歷得到所有商品,放到C1中;

2.3假定支持度是0.2,計算每個商品的支持度(出現的頻率),如果支持度超過0.2則放入L1層;

2.4將L1層中商品進行兩兩組合,得到C2,計算C2中每個組合的支持度,將支持度大于0.02的組合放入L2層;最終得到的L就類似是一個柜子,如下圖所示,最后通過遍歷可以得到支持度大于0.2的組合;

圖片

圖三 實驗結果效果圖

四、實驗結果及分析

1.出現的問題

·在使用自己寫得多元線性回歸遞歸的時候出現梯度越來越大的問題。

圖片

圖四 每次迭代之后梯度反而上升

當我修改eta從0.01至0.000001后下降的數據恢復正常,在迭代后逐漸減小。

圖片

圖五 在修改公式中的eta后數據恢復正常

2.結果時間對比

圖片

圖六 結果時間對比

3.結果評估

在回歸任務(對連續值的預測)中,常見的評估指標(Metric)有:平均絕對誤差(Mean Absolute Error,MAE)、均方誤差(Mean Square Error,MSE)、均方根誤差(Root Mean Square Error,RMSE)和平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE),其中用得最為廣泛的就是MAE和MSE。

圖片

圖七 一元線性回歸summary

從圖中我們可以看出樣本數量(No.Observation)為24;

殘差自由度 (DF Residuals,殘差指的是實際觀察值與估計值之間的差)為22,;

參數數量(DF Residuals)為1;

確定系數 (R-squared,說明估計的準確性“確定系數”是通過數據的變化來表征一個擬合的好壞。由上面的表達式可以知道“確定系數”的正常取值范圍為[0 1],越接近1,表明方程的變量對y的解釋能力越強,這個模型對數據擬合的也較好)為0.986,確定系數與SSR(Sum of squares of the regression,即預測數據與原始數據均值之差的平方和)和SST(Total sum of squares,即原始數據和均值之差的平方和)相關,R-squared = SSR/SST;

修正確定系數( Adj.R-squared)為0.981,這里修正確定系數公式為,p為模型中變量的個數,當引入新的變量時可以提高確定系數,我們引入修正系數相當于給變量個數的增加添加懲罰項。

圖片

圖八 使用Statsmodels.OLS的一元線性回歸結果可視化

從圖片中來看,Const 和 wt 分別意味截距和斜率。

圖片

圖九 DIY一元線性回歸結果

圖片

圖十 多元線性回歸summary

圖片

圖十一 多元線性回歸參數列表

圖片

圖十二 根據DIY多元數據模型預測出出來的房價(部分)

圖片

圖十三 DIY多元數據評估指標

對比來看,DIY模型效果不是很好呀,這里的R2即左邊多元線性回歸summary中的R-squared,R2 是多元回歸中的回歸平方和占總平方和的比例,它是度量多元回歸方程中擬合程度的一個統計量,反映了在因變量y的變差中被估計的回歸方程所解釋的比例。R2 越接近1,表明回歸平方和占總平方和的比例越大,回歸線與各觀測點越接近,用x的變化來解釋y值變差的部分就越多,回歸的擬合程度就越好。

圖片

圖十二 基于mlxtend.frequent_patterns的關聯分析

圖片

圖十三 DIY關聯分析(部分)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SSR
    SSR
    +關注

    關注

    0

    文章

    81

    瀏覽量

    17728
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84453
  • MSE
    MSE
    +關注

    關注

    0

    文章

    5

    瀏覽量

    6566
  • 線性回歸
    +關注

    關注

    0

    文章

    41

    瀏覽量

    4300
  • SST仿真
    +關注

    關注

    0

    文章

    2

    瀏覽量

    1030
收藏 人收藏

    評論

    相關推薦

    python數據分析基礎之使用statasmodels進行線性回歸

    python 數據分析基礎 day16-使用statasmodels進行線性回歸
    發表于 06-19 11:22

    基于用戶興趣導向的關聯規則數據挖掘

    本文在針對關聯規則的Apriori 算法的基礎上,為了提高用戶數據挖掘的人機交互性能,解決關聯規則挖掘
    發表于 08-26 11:41 ?11次下載

    關聯規則挖掘在數據錄入、校對系統的應用

    本文介紹了關聯規則挖掘在數據錄入、校對系統的設計思路、體系結構和實現要點。關鍵詞:數據挖掘關聯
    發表于 09-03 11:55 ?6次下載

    基于最大模式的關聯規則挖掘算法研究

    提出了一種基于最大模式的關聯規則挖掘算法,探討了它的實現步驟,最后通過實例說明它是數據挖掘中一種有效的
    發表于 09-16 10:44 ?12次下載

    基于MapReduce的并行關聯規則挖掘算法

    挖掘、分類、聚集、離群點檢測等。關聯規則挖掘是最重要的數據挖掘任務之一,由Agrawal等人提出,其目的是發現事務(項)之間存在的隱含
    發表于 01-10 15:22 ?1次下載
    基于MapReduce的并行<b class='flag-5'>關聯</b><b class='flag-5'>規則</b><b class='flag-5'>挖掘</b>算法

    8種Python實現線性回歸的方法對比分析_哪個方法更好?

    說到如何用Python執行線性回歸,大部分人會立刻想到sklearn的linear_model,但事實是,Python至少有8種執行
    的頭像 發表于 06-28 09:53 ?4368次閱讀

    Python做幾個表情

    今天制作表情用到的技術還是之前提到的Turtle庫,可以從之前的文章除了畫佩奇我們還要玩點更高級的,去學習Turtle的常用語法,然后就是PIL庫,之前通過這篇文章:Python騷操作|P
    的頭像 發表于 02-11 11:13 ?5164次閱讀

    Logistic回歸數學推導以及python實現

    Logistic回歸數學推導以及python實現
    發表于 02-25 14:48 ?7次下載

    Python寫網絡爬蟲

    Python寫網絡爬蟲的方法說明。
    發表于 06-01 11:55 ?21次下載

    在Anaconda安裝pythonseaborn

    在Anaconda安裝pythonseaborn(現代電源技術題庫)-在Anaconda安裝python
    發表于 09-18 15:01 ?5次下載
    在Anaconda<b class='flag-5'>中</b>安裝<b class='flag-5'>python</b><b class='flag-5'>包</b>seaborn

    Python學習科學編程

    Python學習科學編程,Python經典教材。
    發表于 03-09 15:00 ?0次下載

    python數據挖掘與機器學習

    python數據挖掘與機器學習 Python是一個非常流行的編程語言,被廣泛用于數據挖掘和機器學習領域。在本篇文章,我們將探討
    的頭像 發表于 08-17 16:29 ?1285次閱讀

    Python SDK的使用

    之前,你要確保Python和pip已經成功安裝在電腦上,如果沒有,可以訪問這篇文章: 超詳細Python安裝指南 進行安裝。 (可選1) 如果你P
    的頭像 發表于 10-30 15:51 ?723次閱讀
    <b class='flag-5'>Python</b> SDK<b class='flag-5'>包</b>的使用

    線性回歸模型的基礎知識

    詳細Python安裝指南 進行安裝。 **(可選1) **如果你Python的目的是數據分析,可以直接安裝Anaconda: Python
    的頭像 發表于 10-31 10:54 ?522次閱讀
    <b class='flag-5'>線性</b><b class='flag-5'>回歸</b>模型的基礎知識

    python變量命名規則

    Python是一種高級編程語言,廣泛應用于軟件開發、數據分析和科學計算等領域。在Python,變量是用來存儲數據的容器,它們具有名稱以及與之關聯的值。然而,變量的命名并不是隨意的,而
    的頭像 發表于 11-23 15:44 ?1221次閱讀