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
+關注
關注
0文章
81瀏覽量
17728 -
python
+關注
關注
56文章
4782瀏覽量
84453 -
MSE
+關注
關注
0文章
5瀏覽量
6566 -
線性回歸
+關注
關注
0文章
41瀏覽量
4300 -
SST仿真
+關注
關注
0文章
2瀏覽量
1030
發布評論請先 登錄
相關推薦
評論