利用python實現簡單的線性回歸

2022-01-29 Python程式設計師

Python部落(python.freelycode.com)組織翻譯,禁止轉載,歡迎轉發。

             用python實現簡單的線性回歸

利用python實現簡單的線性回歸

今天,我們將純粹使用python來實現最流行和最直接的回歸技術-簡單的線性回歸。當我說純粹使用python。它指的是沒有使用任何python機器學習庫。

當我說簡單的線性回歸,你在想什麼?讓我猜猜:

當我說簡單線性回歸的時候,也許我以上的分析你都猜測過,也許上述假設在技術上是合理的。但有一個特別的理由稱之為簡單的線性回歸。首先,讓我們來了解為什麼我們稱之為簡單的線性回歸。然後我們可以開始我最喜歡的部分,在python中編寫簡單的線性回歸。

構建簡單的線性回歸,而不使用任何Python機器學習庫

什麼是簡單線性回歸?

在線性回歸分析文章中,我們主要集中在解釋線性回歸的概念。我們在描述線性回歸通用方程時使用下面的方程:

上述方程更可能是直線方程。

其中m是直線的斜率,c是常數值。如果我們比較上述兩個方程,我們可以感知這兩個方程的相似程度。他們只是在寫的方式不同,其他都是相同的。

在線性回歸中,m()值稱為回歸係數,c()值稱為常數。在上面的方程中,我們只有一個因變量,一個自變量。這就是我們只有一個係數的原因。

從屬變量 - > y或

自變量 - > x或 

如果我們有k個自變量。我們將得到k個係數值。如果我們有多個獨立變量來預測依賴值,那麼它被稱為線性回歸算法。當我們只有一個自變量來預測依賴值時,那麼它是簡單的線性回歸問題。

讓我給更多的例子認識線性回歸和簡單的線性回歸問題之間的區別。

簡單的線性回歸示例

使用房間的特徵數來預測房價。

考慮學生學習的時間,學生將得到預測分數百分比。

給定時間來預測房間外的溫度。

線性回歸示例

有了上述解釋,我希望我解決簡單線性回歸和線性回歸之間的差異。

簡言之:

簡單線性回歸:有一個自變量來預測因變量。

線性回歸:具有多個自變量以預測因變量。

現在讓我們在python中構建簡單的線性回歸,而不使用任何機器庫。

為了實現簡單的線性回歸,我們需要知道以下公式。

計算平均值的公式

用於計算方差值的公式

用於計算協方差的公式

計算W0和W1值的公式

我們將使用所有上面列出的公式在Python中實現簡單的線性回歸,而沒有任何機器學習庫。

在python中實現簡單線性回歸的過程中。我們將實現所有上述公式。然後我們將使用實現的函數來構建簡單的線性回歸模型。

之後,我們將使用python表格分析包來實現同樣簡單的線性回歸模型,只有少數幾行代碼。我們可以將其視為檢查前的實現。

讓我們開始按順序構建所需的函數。

平均值函數。

方差函數。

協方差函數。

計算W0和W1值的函數。

函數計算平均值

計算方差值的函數

使用cal_variance函數,我們將計算readings的方差。

使用已經實現的cal_mean函數,我們計算平均值。

然後我們計算readings中的每個readings與平均值之間的差值。之後,我們對計算的差值進行平方,並將平方差值存儲在   mean_difference_squared_readings中。

找到mean_difference_squared_readings的和,並返回方差和readings長度 -1的數的比率。

計算協方差值的函數

使用cal_covariance函數,我們將計算readings_1和readings_2之間的協方差。這裡我們指的是readings_1和readings_2之間的協方差。

使用已經實現的cal_mean函數計算readings_1和readings_2的平均值。

然後將讀數_1和讀數_2的平方差的乘積相加。

最後,返回協方差和(reads_size - 1)的比率。

使用上述函數,我們準備好計算簡單的線性回歸係數W0和W1值。一旦我們實現了這些,我們可以使用這些值來執行預測。

計算W0和W1的值

現在讓我們使用所有上面實現的函數來使用簡單的線性回歸技術來預測房價。

我們使用相同的房價數據用python實現線性回歸。

讓我們先加載數據集,看看數據集中有什麼特徵。要加載數據集,我們將使用python數據分析庫pandas。

我們給出了數據集所在的input_path。

使用input_path,我們將數據加載到pandas數據框架中。

接下來,使用加載的數據框架,我們調用simple_linear_regression模型。

在simple_linear_regression函數內部,現在我們只是得到頭名稱並嘗試列印頭名稱。

如果我們在我們的系統中準備好了pandas設置。我們可以期望下面的輸出。

腳本輸出

從腳本輸出,我們知道我們有一個獨立變量(square_feet)和一個因變量(price)。我們的目的是使用square_feet和價格讀數來計算簡單的線性回歸係數。然後我們將使用計算的簡單線性回歸係數來預測房價。

現在讓我們寫一個簡單的函數來顯示房子的價格如何隨著square_feet變化。我們將使用散點圖來可視化。

現在讓我們調用scatter_graph函數,將squre_feet讀數作為x參數,將價格讀數作為y參數。

現在,讓我們使用房價數據集來建模簡單的線性回歸。

在simple_linear_regression函數中。我們使用已經實現的cal_mean函數來計算square_feet和price的平均值。

接下來,我們使用已經實現的cal_variance函數來計算square_feet和price 的方差。

之後,我們計算W0和W1值。

我們正在使用W0和W1值來執行預測。這只是預測房價給square_feet價值。

查看下面的完整代碼:

慶祝下吧!這裡我們實現了簡單的線性回歸,並且沒有使用任何機器學習庫。

完整的代碼可以為我們的Github:簡單的線性回歸代碼

英文原文:http://dataaspirant.com/2017/02/15/simple-linear-regression-python-without-any-machine-learning-libraries/
譯者:winston

相關焦點

  • python|線性回歸問題
    線性回歸是利用數理統計中回歸分析,來確定兩種或兩種以上變量間相互依賴的定量關係的一種統計分析方法。可以解釋為,利用線性回歸方程的最小平方函數對一個或多個自變量和因變量之間的關係進行數學建模。這種函數是一個或多個稱為回歸係數的模型參數的線性組合。
  • 線性回歸:簡單線性回歸詳解
    【導讀】本文是一篇專門介紹線性回歸的技術文章,討論了機器學習中線性回歸的技術細節。線性回歸核心思想是獲得最能夠擬合數據的直線。
  • python線性回歸
    一.理論基礎1.回歸公式  對於單元的線性回歸,我們有:f(x) = kx + b 的方程(k代表權重,b代表截距)。
  • Python環境下的8種簡單線性回歸算法
    但是,由於該函數的目的是為了執行專門的任務,所以當我們遇到簡單的線性回歸分析時,這是最快速的方法之一。除了已擬合的係數和截距項(intercept term)外,它還會返回基本的統計學值如 R² 係數與標準差。
  • Python 機器學習:多元線性回歸
    python機器學習:線性回歸往下講,這篇文章要講解的多元線性回歸。1、什麼是多元線性回歸模型?當y值的影響因素不唯一時,採用多元線性回歸模型。例如商品的銷售額可能不電視廣告投入,收音機廣告投入,報紙廣告投入有關係,可以有 sales =β0+β1*TV+β2* radio+β3*newspaper.
  • python數據分析--回歸函數及線性回歸分析
    1.常見的回歸函數2.工具數據分析有很多成熟的工具可以使用,如R、python、此處我們選用python進行分析。首先,我們需要安裝並導入python數據分析常用的庫。__version__)3.線性回歸分析Y= aX + b + e ,e表示殘差。
  • Python 實戰多元線性回歸模型,附帶原理+代碼
    來源 | 早起Python( ID:zaoqi-python )「多元線性回歸模型」非常常見,是大多數人入門機器學習的第一個案例,儘管如此,裡面還是有許多值得學習和注意的地方。其中多元共線性這個問題將貫穿所有的機器學習模型,所以本文會「將原理知識穿插於代碼段中」,爭取以不一樣的視角來敘述和講解「如何更好的構建和優化多元線性回歸模型」。主要將分為兩個部分:
  • 計量筆記 | 簡單線性回歸
    簡單線性回歸總體回歸函數(PRF)與樣本回歸函數(SRF)可使用蒙特卡洛法進行模擬,所謂「蒙特卡羅法」(Monte Carlo Methods,MC),是通過計算機模擬,從總體抽取大量隨機樣本的計算方法。
  • 使用sklearn實現多元線性回歸
    使用sklearn實現多元線性回歸多元線性回歸import pandas
  • 使用python+sklearn實現線性回歸示例
    ‍本示例僅使用diabetes數據集的第一個特徵,以說明此回歸技術的二維的圖
  • 利用R循環批量做線性回歸
    在做回歸的時候,我們通常要找出與因變量相關的自變量,但是有時候我們的自變量太多,通常需要進行很多次回歸。通常遇到這種重複多次操作情況的時候,我就會想到循環。當然了也有夥伴會選擇複製粘貼,但是當你的變量多達幾十上百種或者更多的時候,可想而知這代碼得多累贅,而且也不利於後面進行結果輸出,所以,用循環是極好的選擇。
  • Python數據科學 | 線性回歸診斷
    Python數據科學:線性回歸多元線性回歸的前提條件:/ 01 / 殘差分析殘差分析是線性回歸診斷的重要環節。殘差應服從的前提條件有三個:殘差方差齊性殘差獨立同分布殘差不能和自變量相關(不能檢驗)通過查看殘差圖來查看殘差情況。
  • 通過使用Python、pandas和statsmodels線性回歸預測房屋的價格
    通過使用Python、pandas和statsmodels線性回歸預測房屋的價格在這篇文章中,我們將逐步通過建立線性回歸模型來預測經濟活動導致的房屋價格。其中涵蓋的主題包括:1.    什麼是回歸2.    變量的選擇3.    利用pandas讀取數據4.    普通最小二乘假設5.    一元線性回歸6.
  • 多元線性回歸分析
    因變量與自變量存在線性關係,一般通過散點圖(簡單線性相關)或散點圖矩陣(多重線性回歸)來做出簡單的判斷。此外,殘差分析也可以考察線性趨勢,偏殘差圖是更為專業的判斷方法。如明顯不成線性關係,應進行變量變換修正或改用其他分析。(2)獨立性。因變量各觀測間相互獨立,即任意兩個觀測的殘差的協方差為0。可用Durbin-Watson檢驗是否存在自相關。(3)正態性。
  • 從零開始,用Python徒手寫線性回歸
    對於大多數數據科學家而言,線性回歸方法是他們進行統計學建模和預測分析任務的起點。這種方法已經存在了 200 多年,並得到了廣泛研究,但仍然是一個積極的研究領域。由於良好的可解釋性,線性回歸在商業數據上的用途十分廣泛。當然,在生物數據、工業數據等領域也不乏關於回歸分析的應用。另一方面,Python 已成為數據科學家首選的程式語言,能夠應用多種方法利用線性模型擬合大型數據集顯得尤為重要。
  • Python實現多元線性回歸及畫圖——建立技術創新對企業績效的影響的模型並進行分析預測和畫圖
    我實現下來並記錄一下,今天是初步的demo。線性回歸介紹線性回歸是利用數理統計中回歸分析,來確定兩種或兩種以上變量間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。其表達形式為y = w'x+e,e為誤差服從均值為0的正態分布。
  • 回歸分析之Python實現
    回歸分析  Python實現      在統計學中,回歸分析(regression analysis)指的是確定兩種或兩種以上變量間相互依賴的定量關係的一種統計分析方法。回歸分析按照涉及的變量的多少,分為二元回歸和多元回歸分析;按照因變量的多少,可分為簡單回歸分析和多重回歸分析;按照自變量和因變量之間的關係類型,可分為線性回歸分析和非線性回歸分析。本文只探討線性回歸分析。---
  • 在 Python 中使用線性回歸預測數據
    這部分沒有實戰例子,不過我會教你怎麼去用線性回歸替換這些值。所以,讓我們投入編程吧(馬上)在動手之前,去把我以前的文章(Python Packages for Data Mining)中的程序包安裝了是個好主意。
  • 一元(多元)線性回歸分析之R語言實現
    上篇介紹了《一元(多元)線性回歸分析之Excel實現》,本篇來探討一下回歸分析在R語言中的實現,我們將從更專業的角度對模型進行一些解讀。
  • sklearn機器學習心得—線性回歸|粉絲投稿1
    ,也是重要的算法之一,基本上第一次接觸的機器學習算法就是線性回歸了。因為相對其他算法而言,我覺得線性回歸是相對比較容易的算法,從某種意義上來說,在學習函數的時候已經開始接觸線性回歸了,只不過那個時候並沒有涉及到誤差項,其實在中學的時候就有接觸了,學習的最小二乘法就是啦~~1).對於坐標系中給定的點,我們希望用一條線或是一個類似於:f(x)=θ0+θ1*x1+θ2*x2_...θn*xn 方程來擬合這寫數據點,這就是我們說的回歸了2).這次我們要用的是