一文看懂線性迴歸(3個優缺點+8種方法評測)

本文首發自 產品經理的 AI 知識庫python

原文地址:《一文看懂線性迴歸(3個優缺點+8種方法評測)算法

一文看懂線性迴歸

線性迴歸是很基礎的機器學習算法,本文將通俗易懂的介紹線性迴歸的基本概念,優缺點,8 種方法的速度評測,還有和邏輯迴歸的比較。機器學習

什麼是線性迴歸?

線性迴歸的位置

線性迴歸的位置如上圖所示,它屬於機器學習 - 監督學習 - 迴歸 - 線性迴歸。函數

擴展閱讀:學習

一文看懂機器學習!(3種學習方法+7個實操步驟+15種常見算法)3d

一文看懂監督學習(基本概念+4步流程+9個典型算法)code

什麼是迴歸?cdn

迴歸的目的是爲了預測,好比預測明天的天氣溫度,預測股票的走勢...blog

迴歸之因此能預測是由於他經過歷史數據,摸透了「套路」,而後經過這個套路來預測將來的結果。ip

迴歸的底層邏輯

什麼是線性?

「越...,越...」符合這種說法的就多是線性個關係:

「房子」越大,「租金」就越高

「漢堡」買的越多,花的「錢」就越多

杯子裏的「水」越多,「重量」就越大

......

可是並不是全部「越...,越...」都是線性的,好比「充電越久,電量越高」,他就相似下面的非線性曲線:

充電時間和電量是非線性關係

線性關係不單單隻能存在 2 個變量(二維平面)。3 個變量時(三維空間),線性關係就是一個平面,4 個變量時(四維空間),線性關係就是一個體。以此類推...

線性關係能夠是多個變量

什麼是線性迴歸?

線性迴歸原本是是統計學裏的概念,如今常常被用在機器學習中。

若是 2 個或者多個變量之間存在「線性關係」,那麼咱們就能夠經過歷史數據,摸清變量之間的「套路」,創建一個有效的模型,來預測將來的變量結果。

通俗解釋線性迴歸

線性迴歸的優缺點

線性迴歸的優缺點

優勢:

  1. 建模速度快,不須要很複雜的計算,在數據量大的狀況下依然運行速度很快。
  2. 能夠根據係數給出每一個變量的理解和解釋

缺點:不能很好地擬合非線性數據。因此須要先判斷變量之間是不是線性關係。

爲何在深度學習大殺四方的今天還使用線性迴歸呢?

一方面,線性迴歸所可以模擬的關係其實遠不止線性關係。線性迴歸中的「線性」指的是係數的線性,而經過對特徵的非線性變換,以及廣義線性模型的推廣,輸出和特徵之間的函數關係能夠是高度非線性的。另外一方面,也是更爲重要的一點,線性模型的易解釋性使得它在物理學、經濟學、商學等領域中佔據了難以取代的地位。

8 種Python線性迴歸的方法的速度評測

  1. Scipy.polyfit( ) or numpy.polyfit( )
  2. Stats.linregress( )
  3. Optimize.curve_fit( )
  4. numpy.linalg.lstsq
  5. Statsmodels.OLS ( )
  6. 簡單的乘法求矩陣的逆
  7. 首先計算x的Moore-Penrose廣義僞逆矩陣,而後與y取點積
  8. sklearn.linear_model.LinearRegression( )

8 種線性迴歸方法速度評測結果

結果:使人驚訝的是,與普遍被使用的scikit-learnlinear_model相比,簡單矩陣的逆求解的方案反而更加快速。

詳細評測能夠查看原文《Data science with Python: 8 ways to do linear regression and measure their speed

線性迴歸 VS 邏輯迴歸

線性迴歸和邏輯迴歸是 2 種經典的算法。常常被拿來作比較,下面整理了一些二者的區別:

線性迴歸和邏輯迴歸的區別

  1. 線性迴歸只能用於迴歸問題,邏輯迴歸雖然名字叫回歸,可是更多用於分類問題(關於迴歸和分類的區別能夠看看這篇文章《一文看懂監督學習(基本概念+4步流程+9個典型算法)》)
  2. 線性迴歸要求因變量是連續性數值變量,而邏輯迴歸要求因變量是離散的變量
  3. 線性迴歸要求自變量和因變量呈線性關係,而邏輯迴歸不要求自變量和因變量呈線性關係
  4. 線性迴歸能夠直觀的表達自變量和因變量之間的關係,邏輯迴歸則沒法表達變量之間的關係

注:

自變量:主動操做的變量,能夠看作「因變量」的緣由

因變量:由於「自變量」的變化而變化,能夠看作「自變量」的結果。也是咱們想要預測的結果。

什麼是自變量、因變量
相關文章
相關標籤/搜索