python資料分析回歸演算法

2022-03-21 10:13:01 字數 2370 閱讀 8130

1,線性回歸,多元回歸,邏輯回歸

回歸即用乙個函式**資料之間的關係。線性回歸指用線性函式的方式來研究變數之間關係。多元回歸是指線性函式中變數有多個。邏輯回歸是線性回歸的拓展,資料分析中有兩類問題:回歸和分類。回歸的問題採用回歸的方法,分類的問題採用分類的方法。邏輯回歸是用線性回歸的方法來**分類問題。

舉乙個例子:

**房價跟房屋面積和樓層之間的關係:

"""

面積 樓層 房價

100 8 20000

120 6 19000

80 20 15000

60 23 14000

150 10 18000

150 20 17000

90 20 17000

"""class

house_predict():

def__init__

(self):

x=np.mat([[100,8],[120,6],[80,20],[60,23],[150,10],[150,20],[90,20]])

self.x=np.hstack((x,np.ones((x.shape[0],1))))#

新增常數項

self.y=np.mat([[20000],[19000],[15000],[14000],[18000],[17000],[17000]])

#根據多元回歸公式,w=(xtx)-1xty

self.w=np.linalg.inv(self.x.t*self.x)*(self.x.t)*self.y

defpredict(self,data):

return self.w.t*(np.mat(data).reshape(3,1))

#評估一下資料方差

defdata_variance(self):

sum=0

for i in

range(self.x.shape[0]):

sum+= (self.x[[i],:]*self.w-self.y[[i],[0]])**2

return sum

2.梯度下降法。

採用最小二乘法計算線性回歸,是一種較方便的方法。在資料分析中,如果資料無法求導,則採用梯度下降法進行迭代求回歸係數。其係數隨著迭代次數的增加,逼近最小二乘法的係數。

#

梯度下降法

class

house_predict1():

def__init__

(self):

x = np.mat([[100, 8], [120, 6], [80, 20], [60, 23], [150, 10], [150, 20], [90, 20]])

self.x = np.hstack((x, np.ones((x.shape[0], 1)))) #

新增常數項

self.y = np.mat([[20000], [19000], [15000], [14000], [18000], [17000], [17000]])

self.error_list =

defgra_near(self):

length =self.x.shape[0]

thea0, thea1, thea2 =0, 0, 0

max_count = 500000 #

最大迭代次數

error_near = 0.1 #

誤差閾值

grad = 0.0001 #

步長 thea_array = np.mat([[thea1], [thea2], [thea0]]).astype(float) #

thea0為常數項

error =0

for i in

range(max_count):

thea_array+= ((self.y - self.x * thea_array).t * self.x * grad /length).t

error_temp = np.mean((self.y - self.x * thea_array).t * (self.y - self.x *thea_array))

if np.abs(error - error_temp) < error_near:#

判定誤差小於閾值,表示結束迭代

break

error =error_temp

defplt_line(self):

plt.plot(list(range(len(self.error_list))), self.error_list)

plt.show()

Python金融大資料分析 回歸分析

回歸分析是金融中乙個繞不過的話題,其實最好的工具應該是r語言,但是pandas其實也是能夠勝任絕大部分工作的。這裡我們就簡單介紹一下。import pandas as pd import numpy as np import matplotlib.pyplot as plt noise np.ran...

Python資料分析 線性回歸

python資料分析學習筆記,今天分享下利用python對業務進行資料預處理,並利用線性回歸進行資料 壹 資料匯入 多人學習python,不知道從何學起。很多人學習python,掌握了基本語法過後,不知道在 尋找案例上手。很多已經做案例的人,卻不知道如何去學習更加高深的知識。qq群 10570343...

線性回歸資料分析

首先,什麼是回歸,回歸分析研究的是多個變數之間的關係。它是一種 性的建模技術,它研究的是因變數 目標 和自變數 器 之間的關係。這種技術通常用於 分析,時間序列模型以及發現變數之間的因果關係。其次,回歸分析的好處比較多,主要有以下幾點 1 它表明自變數和因變數之間的顯著關係 2 它表明多個自變數對乙...