python機器學習 線性回歸

2021-08-20 07:02:11 字數 1373 閱讀 2702

要理解線性回歸,首先得對線性和回歸的基本概念進行回顧。

線性:兩個變數之間存在一次方函式關係即一階導數為常數的函式。

回歸:確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法。回歸分析按照涉及的變數的多少,分為一元回歸和多元回歸分析。

分類與回歸的區別:

分類:輸出為離散資料;目的:尋找決策邊界;評價標準:精度(accurency)

回歸:輸出為連續資料;目的:尋找最優擬合;評價標準:mse

一、線性回歸演算法的基本流程

研究機器學習問題的一般方法為:

為了實現上述過程,通常採用最小二乘法和梯度下降法來求解損失函式,使得loss值最小,以得到最大準確率(accurency)。

1、最小二乘法

2、梯度下降法

這裡對上述兩種方法的求解過程暫且略去不表。

二、sklearn中的線性回歸函式呼叫

1、scikit-learn的線性回歸演算法使用的是最小二乘法來實現的。linearregression將方程分為兩個部分存放,coef_存放回歸係數,intercept_則存放截距,因此要檢視方程,就是檢視這兩個變數的取值。**段如下:

'''

#from sklearn.linear_model import linearregression

'''from sklearn import linear_model

linreg = linear_model.linearregression()

linreg = linear_model.lasso() #l1 lasso回歸

linreg = linear_model.ridge() #l2 ridge()回歸

linreg.fit(x_train, y_train)

print linreg.intercept_

print linreg.coef_

2、模型評價

我們需要評估我們的模型的好壞程度,對於線性回歸來說,我們一般用均方差(mean squared error, mse)或者均方根差(root mean squared error, rmse)在測試集上的表現來評價模型的好壞。**段如下:

y_pred = linreg.predict(x_test)

from sklearn import metrics

# 用scikit-learn計算mse

print "mse:",metrics.mean_squared_error(y_test, y_pred)

# 用scikit-learn計算rmse

print "rmse:",np.sqrt(metrics.mean_squared_error(y_test, y_pred))

回歸 好壞 機器學習 python機器學習線性回歸

線性回歸是最簡單的機器學習模型,其形式簡單,易於實現,同時也是很多機器學習模型的基礎。對於乙個給定的訓練集資料,線性回歸的目的就是找到乙個與這些資料最吻合的線性函式。一般情況下,線性回歸假設模型為下,其中w為模型引數 線性回歸模型通常使用mse 均方誤差 作為損失函式,假設有m個樣本,均方損失函式為...

機器學習 線性回歸

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

機器學習(線性回歸)

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