機器學習 線性回歸

2021-09-02 23:14:05 字數 3371 閱讀 1584

line_fitter = linearregression()  建立模型

line_fitter.fit(temperature, sales)  傳入引數

sales_predict = line_fitter.predict(temperature) **模型

**直線 直線上會有loss

計算loss時 要使用平方距離 如下圖 a的loss是 9(3^2) b的loss是1(1^2)

總loss=10 如果發現一條線路使loss小於10 那麼這條線路會成為更好的線路

for i in range(len(y)):

total_loss+=(y_predicted[i]-y[i])**2

找到一點斜率向下的方向說明可以減少損失,所以應該漸變向下

得到合適的梯度

def get_gradient_at_b(x, y, b, m):

n = len(x)

diff = 0

for i in range(n):

x_val = x[i]

y_val = y[i]

diff += (y_val - ((m * x_val) + b))

b_gradient = -(2/n) * diff

return b_gradient

def get_gradient_at_m(x, y, b, m):

n = len(x)

diff = 0

for i in range(n):

x_val = x[i]

y_val = y[i]

diff += x_val * (y_val - ((m * x_val) + b))

m_gradient = -(2/n) * diff

return m_gradient

#your step_gradient function here

def step_gradient(x, y, b_current, m_current):

b_gradient = get_gradient_at_b(x, y, b_current, m_current)

m_gradient = get_gradient_at_m(x, y, b_current, m_current)

b = b_current - (0.01 * b_gradient)

m = m_current - (0.01 * m_gradient)

return [b, m]

months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

revenue = [52, 74, 79, 95, 115, 110, 129, 126, 147, 146, 156, 184]

# current intercept guess:

b = 0

# current slope guess:

m = 0

b, m = step_gradient(months, revenue, b, m)

print(b, m)

機器學習 線性回歸

可以說基本上是機器學習中最簡單的模型了,但是實際上其地位很重要 計算簡單 效果不錯,在很多其他演算法中也可以看到用lr作為一部分 先來看乙個小例子,給乙個 線性回歸是什麼 的概念。圖來自 2 假設有乙個房屋銷售的資料如下 面積 m 2 銷售價錢 萬元 123 250 150 320 87 160 1...

機器學習(線性回歸)

在機器學習中,回歸 分類和標註共同構成了監督學習技術。監督學習 supervised learning 是機器學習在工業界應用最廣的乙個領域分支。在學術界中也是研究最多的領域之一。大家都知道的資料探勘十大經典演算法中,監督學習技術佔據6席。方法 自變數 特徵 因變數 結果 關係 回歸演算法是試圖採用...

機器學習 線性回歸

線性回歸演算法的核心在於 結果為連續型變數,可以從代數和矩陣兩種角度理解線性回歸。這裡給大家分享的是矩陣角度的線性回歸。線性回歸是機器學習中最簡單的回歸演算法,多元線性回歸指的就是乙個樣本有多個特徵的線性回歸問題,所以多元其實指的是多個特徵。對於乙個有 n個特徵的樣本 i而言,它的回歸結果可以寫作乙...