0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用Python進(jìn)行線(xiàn)性回歸 用Python中的mlxtend包實(shí)現(xiàn)關(guān)聯(lián)規(guī)則挖掘

冬至子 ? 來(lái)源:yvonxin ? 作者:yvonxin ? 2023-08-09 14:37 ? 次閱讀

1.簡(jiǎn)單線(xiàn)性回歸

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

2.多元線(xiàn)性回歸

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

3.關(guān)聯(lián)規(guī)則挖掘

讀取Case3.csv,試挖掘出支持度>=0.02,置信度>=0.35的關(guān)聯(lián)規(guī)則。

4.梯度下降法實(shí)現(xiàn)多元線(xiàn)性回歸(選做)

自行實(shí)現(xiàn)梯度下降法,實(shí)現(xiàn)多元線(xiàn)性回歸中的參數(shù)計(jì)算。記錄自己實(shí)現(xiàn)的梯度下降法的運(yùn)算時(shí)間,與statsmodels中的方法進(jìn)行比較。

5.Apriori算法實(shí)現(xiàn)關(guān)聯(lián)規(guī)則挖掘(選做)

自行實(shí)現(xiàn)Apriori算法,實(shí)現(xiàn)關(guān)聯(lián)規(guī)則挖掘。記錄自己實(shí)現(xiàn)的Apriori算法的運(yùn)算時(shí)間,與mlxtend中的方法進(jìn)行比較。

三、實(shí)驗(yàn)過(guò)程及步驟

1.一元線(xiàn)性回歸&多元線(xiàn)性回歸

1.0實(shí)現(xiàn)思路

一元線(xiàn)性回歸近似于用一條直線(xiàn)來(lái)擬合數(shù)據(jù)和結(jié)果,y = a·x + b。我們會(huì)希望數(shù)據(jù)的分布和擬合曲線(xiàn)之間的誤差越小而且符合正態(tài)分布。

1.1基于Statsmodels.OLS的一元線(xiàn)性回歸

在進(jìn)行多元回歸的時(shí)候需要將excel中多列參數(shù)值讀到stark中,然后再調(diào)用相關(guān)函數(shù)。

1.2 DIY一元線(xiàn)性回歸

定義矩陣乘法函數(shù)J(梯度下降函數(shù))和對(duì)矩陣求導(dǎo)的函數(shù)dj,求導(dǎo)的結(jié)果決定了x的方向。

圖片

具體實(shí)現(xiàn):使用numpy包中的dot函數(shù)實(shí)現(xiàn)點(diǎn)乘

2.相關(guān)分析

2.1將數(shù)據(jù)庫(kù)中數(shù)據(jù)讀成購(gòu)物清單的格式

圖片

圖二 格式轉(zhuǎn)換

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

2.3假定支持度是0.2,計(jì)算每個(gè)商品的支持度(出現(xiàn)的頻率),如果支持度超過(guò)0.2則放入L1層;

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

圖片

圖三 實(shí)驗(yàn)結(jié)果效果圖

四、實(shí)驗(yàn)結(jié)果及分析

1.出現(xiàn)的問(wèn)題

·在使用自己寫(xiě)得多元線(xiàn)性回歸遞歸的時(shí)候出現(xiàn)梯度越來(lái)越大的問(wèn)題。

圖片

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

當(dāng)我修改eta從0.01至0.000001后下降的數(shù)據(jù)恢復(fù)正常,在迭代后逐漸減小。

圖片

圖五 在修改公式中的eta后數(shù)據(jù)恢復(fù)正常

2.結(jié)果時(shí)間對(duì)比

圖片

圖六 結(jié)果時(shí)間對(duì)比

3.結(jié)果評(píng)估

在回歸任務(wù)(對(duì)連續(xù)值的預(yù)測(cè))中,常見(jiàn)的評(píng)估指標(biāo)(Metric)有:平均絕對(duì)誤差(Mean Absolute Error,MAE)、均方誤差(Mean Square Error,MSE)、均方根誤差(Root Mean Square Error,RMSE)和平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE),其中用得最為廣泛的就是MAE和MSE。

圖片

圖七 一元線(xiàn)性回歸summary

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

殘差自由度 (DF Residuals,殘差指的是實(shí)際觀(guān)察值與估計(jì)值之間的差)為22,;

參數(shù)數(shù)量(DF Residuals)為1;

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

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

圖片

圖八 使用Statsmodels.OLS的一元線(xiàn)性回歸結(jié)果可視化

從圖片中來(lái)看,Const 和 wt 分別意味截距和斜率。

圖片

圖九 DIY一元線(xiàn)性回歸結(jié)果

圖片

圖十 多元線(xiàn)性回歸summary

圖片

圖十一 多元線(xiàn)性回歸參數(shù)列表

圖片

圖十二 根據(jù)DIY多元數(shù)據(jù)模型預(yù)測(cè)出出來(lái)的房?jī)r(jià)(部分)

圖片

圖十三 DIY多元數(shù)據(jù)評(píng)估指標(biāo)

對(duì)比來(lái)看,DIY模型效果不是很好呀,這里的R2即左邊多元線(xiàn)性回歸summary中的R-squared,R2 是多元回歸中的回歸平方和占總平方和的比例,它是度量多元回歸方程中擬合程度的一個(gè)統(tǒng)計(jì)量,反映了在因變量y的變差中被估計(jì)的回歸方程所解釋的比例。R2 越接近1,表明回歸平方和占總平方和的比例越大,回歸線(xiàn)與各觀(guān)測(cè)點(diǎn)越接近,用x的變化來(lái)解釋y值變差的部分就越多,回歸的擬合程度就越好。

圖片

圖十二 基于mlxtend.frequent_patterns的關(guān)聯(lián)分析

圖片

圖十三 DIY關(guān)聯(lián)分析(部分)

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SSR
    SSR
    +關(guān)注

    關(guān)注

    0

    文章

    72

    瀏覽量

    17667
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84080
  • MSE
    MSE
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    6554
  • 線(xiàn)性回歸
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    4277
  • SST仿真
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    1025
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    python數(shù)據(jù)分析基礎(chǔ)之使用statasmodels進(jìn)行線(xiàn)性回歸

    python 數(shù)據(jù)分析基礎(chǔ) day16-使用statasmodels進(jìn)行線(xiàn)性回歸
    發(fā)表于 06-19 11:22

    基于用戶(hù)興趣導(dǎo)向的關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘

    本文在針對(duì)關(guān)聯(lián)規(guī)則的Apriori 算法的基礎(chǔ)上,為了提高用戶(hù)數(shù)據(jù)挖掘的人機(jī)交互性能,解決關(guān)聯(lián)規(guī)則挖掘
    發(fā)表于 08-26 11:41 ?11次下載

    關(guān)聯(lián)規(guī)則挖掘在數(shù)據(jù)錄入、校對(duì)系統(tǒng)的應(yīng)用

    本文介紹了關(guān)聯(lián)規(guī)則挖掘在數(shù)據(jù)錄入、校對(duì)系統(tǒng)的設(shè)計(jì)思路、體系結(jié)構(gòu)和實(shí)現(xiàn)要點(diǎn)。關(guān)鍵詞:數(shù)據(jù)挖掘關(guān)聯(lián)
    發(fā)表于 09-03 11:55 ?6次下載

    基于最大模式的關(guān)聯(lián)規(guī)則挖掘算法研究

    提出了一種基于最大模式的關(guān)聯(lián)規(guī)則挖掘算法,探討了它的實(shí)現(xiàn)步驟,最后通過(guò)實(shí)例說(shuō)明它是數(shù)據(jù)挖掘中一種有效的關(guān)
    發(fā)表于 09-16 10:44 ?12次下載

    基于MapReduce的并行關(guān)聯(lián)規(guī)則挖掘算法

    挖掘、分類(lèi)、聚集、離群點(diǎn)檢測(cè)等。關(guān)聯(lián)規(guī)則挖掘是最重要的數(shù)據(jù)挖掘任務(wù)之一,由Agrawal等人提出,其目的是發(fā)現(xiàn)事務(wù)(項(xiàng))之間存在的隱含
    發(fā)表于 01-10 15:22 ?1次下載
    基于MapReduce的并行<b class='flag-5'>關(guān)聯(lián)</b><b class='flag-5'>規(guī)則</b><b class='flag-5'>挖掘</b>算法

    8種Python實(shí)現(xiàn)線(xiàn)性回歸的方法對(duì)比分析_哪個(gè)方法更好?

    說(shuō)到如何用Python執(zhí)行線(xiàn)性回歸,大部分人會(huì)立刻想到sklearn的linear_model,但事實(shí)是,Python至少有8種執(zhí)行
    的頭像 發(fā)表于 06-28 09:53 ?4286次閱讀

    Python做幾個(gè)表情

    今天制作表情用到的技術(shù)還是之前提到的Turtle庫(kù),可以從之前的文章除了畫(huà)佩奇我們還要玩點(diǎn)更高級(jí)的,去學(xué)習(xí)Turtle的常用語(yǔ)法,然后就是PIL庫(kù),之前通過(guò)這篇文章:Python騷操作|P
    的頭像 發(fā)表于 02-11 11:13 ?5059次閱讀

    Logistic回歸數(shù)學(xué)推導(dǎo)以及python實(shí)現(xiàn)

    Logistic回歸數(shù)學(xué)推導(dǎo)以及python實(shí)現(xiàn)
    發(fā)表于 02-25 14:48 ?7次下載

    Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)

    Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的方法說(shuō)明。
    發(fā)表于 06-01 11:55 ?21次下載

    在Anaconda安裝pythonseaborn

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

    Python學(xué)習(xí)科學(xué)編程

    Python學(xué)習(xí)科學(xué)編程,Python經(jīng)典教材。
    發(fā)表于 03-09 15:00 ?0次下載

    python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)

    python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí) Python是一個(gè)非常流行的編程語(yǔ)言,被廣泛用于數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)領(lǐng)域。在本篇文章,我們將探討
    的頭像 發(fā)表于 08-17 16:29 ?1193次閱讀

    Python SDK的使用

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

    線(xiàn)性回歸模型的基礎(chǔ)知識(shí)

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

    python變量命名規(guī)則

    Python是一種高級(jí)編程語(yǔ)言,廣泛應(yīng)用于軟件開(kāi)發(fā)、數(shù)據(jù)分析和科學(xué)計(jì)算等領(lǐng)域。在Python,變量是用來(lái)存儲(chǔ)數(shù)據(jù)的容器,它們具有名稱(chēng)以及與之關(guān)聯(lián)的值。然而,變量的命名并不是隨意的,而
    的頭像 發(fā)表于 11-23 15:44 ?1025次閱讀