1.簡單線性回歸
讀取Case1.csv,其中wt列為病人體重,volume列為病人腎臟容積,試建立回歸方程,用病人體重預(yù)測病人腎臟容積。
2.多元線性回歸
讀取Case2.csv,其中CRIM列為城鎮(zhèn)人均犯罪率,ZN為住宅用地超過25,000平方英尺以上的比例,INDUS為城鎮(zhèn)非零售商用土地的比例(即工業(yè)或農(nóng)業(yè)等用地比例),CHAS為查爾斯河虛擬變量(邊界是河,則為1;否則為0),NOX為一氧化氮濃度(百萬分之幾),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ù)測目標(biāo)),建立回歸方程,預(yù)測房價(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)多元線性回歸(選做)
自行實(shí)現(xiàn)梯度下降法,實(shí)現(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)過程及步驟
1.一元線性回歸&多元線性回歸
1.0實(shí)現(xiàn)思路
一元線性回歸近似于用一條直線來擬合數(shù)據(jù)和結(jié)果,y = a·x + b。我們會(huì)希望數(shù)據(jù)的分布和擬合曲線之間的誤差越小而且符合正態(tài)分布。
1.1基于Statsmodels.OLS的一元線性回歸
在進(jìn)行多元回歸的時(shí)候需要將excel中多列參數(shù)值讀到stark中,然后再調(diào)用相關(guān)函數(shù)。
1.2 DIY一元線性回歸
定義矩陣乘法函數(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ù)庫中數(shù)據(jù)讀成購物清單的格式
圖二 格式轉(zhuǎn)換
2.2遍歷得到所有商品,放到C1中;
2.3假定支持度是0.2,計(jì)算每個(gè)商品的支持度(出現(xiàn)的頻率),如果支持度超過0.2則放入L1層;
2.4將L1層中商品進(jìn)行兩兩組合,得到C2,計(jì)算C2中每個(gè)組合的支持度,將支持度大于0.02的組合放入L2層;最終得到的L就類似是一個(gè)柜子,如下圖所示,最后通過遍歷可以得到支持度大于0.2的組合;
圖三 實(shí)驗(yàn)結(jié)果效果圖
四、實(shí)驗(yàn)結(jié)果及分析
1.出現(xiàn)的問題
·在使用自己寫得多元線性回歸遞歸的時(shí)候出現(xià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ù)測)中,常見的評(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。
圖七 一元線性回歸summary
從圖中我們可以看出樣本數(shù)量(No.Observation)為24;
殘差自由度 (DF Residuals,殘差指的是實(shí)際觀察值與估計(jì)值之間的差)為22,;
參數(shù)數(shù)量(DF Residuals)為1;
確定系數(shù) (R-squared,說明估計(jì)的準(zhǔn)確性“確定系數(shù)”是通過數(shù)據(jù)的變化來表征一個(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ù)測數(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的一元線性回歸結(jié)果可視化
從圖片中來看,Const 和 wt 分別意味截距和斜率。
圖九 DIY一元線性回歸結(jié)果
圖十 多元線性回歸summary
圖十一 多元線性回歸參數(shù)列表
圖十二 根據(jù)DIY多元數(shù)據(jù)模型預(yù)測出出來的房價(jià)(部分)
圖十三 DIY多元數(shù)據(jù)評(píng)估指標(biāo)
對(duì)比來看,DIY模型效果不是很好呀,這里的R2即左邊多元線性回歸summary中的R-squared,R2 是多元回歸中的回歸平方和占總平方和的比例,它是度量多元回歸方程中擬合程度的一個(gè)統(tǒng)計(jì)量,反映了在因變量y的變差中被估計(jì)的回歸方程所解釋的比例。R2 越接近1,表明回歸平方和占總平方和的比例越大,回歸線與各觀測點(diǎn)越接近,用x的變化來解釋y值變差的部分就越多,回歸的擬合程度就越好。
圖十二 基于mlxtend.frequent_patterns的關(guān)聯(lián)分析
圖十三 DIY關(guān)聯(lián)分析(部分)
-
SSR
+關(guān)注
關(guān)注
0文章
83瀏覽量
17781 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84786 -
MSE
+關(guān)注
關(guān)注
0文章
6瀏覽量
6580 -
線性回歸
+關(guān)注
關(guān)注
0文章
41瀏覽量
4309 -
SST仿真
+關(guān)注
關(guān)注
0文章
2瀏覽量
1058
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論