手把手教你做線性迴歸分析,實用且通俗易懂!
線性迴歸分析是資料探勘裡一個非常重要的方法,相信大家以前在高中或者大學時都學過一點點線性迴歸的概念。在統計學中,線性迴歸(Linear Regression)是利用稱為線性迴歸方程的最小平方函式對一個或多個 和 之間關係進行建模的一種 。聽著有點複雜,簡單來說,就是看一組零散的資料是否存在相關性。線性迴歸分析涉及到的數學理論知識比較複雜,本文不會涉及到這些數學理論知識,僅是介紹應用場景以及製作方法,請大家放心食用。
一、應用場景:
在開始之前,我們先來了解一下線性迴歸分析有什麼用。線性迴歸分析在日常工作中運用非常廣泛,透過線性迴歸,我們可以用模型去描述兩組資料中是否存在相關性。例如在分析銷售資料時,我們經常要對廣告費用以及銷售額的關係進行判斷,評估廣告費用對銷售額的作用到底有多大,公司應不應該加大廣告費投入,如果未來投入一定的廣告費用,預測銷售額可以達到多少…這一系列問題都可以透過線性迴歸分析去得出答案。
只要存在兩組以上的資料,我們都可以利用線性迴歸的方法去對其進行檢驗。下面我利用Python去對線性迴歸分析的方法和過程進行詳細的描述,力求以最簡潔語言帶你走進資料探勘的神秘大門。
二、Python實現過程:
第一步:資料匯入
首先要做的就是把本地的EXCEL或者CSV檔案讀取到Python裡,我們可以引用pandas庫去讀取資料:
讀取成功後,我們先來列印看一下資料是否和EXCEL裡的是一致的:
第二步:計算相關係數
上面我們說過了,只要存在兩組資料,我們就可以檢驗其是否存在相關性,在數學上通常是用皮爾遜相關係數來進行檢驗,這個數值越接近1,就代表兩組資料越具有相關性,我們可以用corr這個函式來對廣告費以及銷售額進行檢驗:
接下來我們列印一下data1,大家可以看到相關係數的值已經算出來了,達到了0.93,非常接近1,說明這兩組資料具有非常高的相關性:
第三步:畫圖
為了更加直觀地對這兩組資料進行呈現,我們可以畫一個散點圖,這時要引入另外一個庫:matplotlib,首先把廣告費用設定為X軸,把銷售額設定為Y軸,然後再利用plot()函式進行畫圖,最後再利用利用show()進行圖表呈現:
列印一下,我們看看圖形的效果,從圖中可以看中,這個散點圖裡面所有點的排列基本是在一條直線上的,擬合的非常緊密,說明廣告費用與銷售額是呈正相關的,廣告費用越多,銷售額也會隨之增長,這也對我們上面計算出來的相關係數提供了一個非常好的佐證:
第四步:建立線性迴歸模型
線性迴歸的方程我們可以用y=ks+b這個公式來表示,其中x是自變數,y是因變數,k是斜率,b是直線在軸上的截距。接下來我們就可以對上面的這組資料去建立線性迴歸模型,這裡要引用的是sklearn庫,這個庫是的主要作用是進行機器學習。首先先定義一個線性迴歸的物件LinearRegression(),然後再利用fit()函式對X、Y的值進行模型訓練,最後要輸出兩個資料,一個是coef_,代表k值,另一個是intercept_,代表b值:
輸出後的資料如下,k是17.3,b是291.9:
這裡我們可以檢驗一下模型的擬合程度,這裡可以用score()函式進行驗證,這個代表的意思是,數值越接近1,代表這個模型的擬合程度就越好:
結果算出來是0.879,說明模型的擬合程度非常好,可信度非常高,也就是可以投入到實際應用中去使用:
第五步:資料預測
從上面的步驟中我們得知了k和b的值,只要有x的值,那麼就可以算出y的值是多少了,通常我們可以利用這個原理去對資料進行預測。這裡可以利用predict()函式接入一個引數對資料進行預測,例如下面我們看看廣告費在20萬的時候,銷售額預計會有多少:
最後算出來的銷售額是
638
萬:
三、後續建議
從python的實現過程來看,雖然透過寫程式碼的形式可以把整個線性迴歸分析完美地實現了,但是畢竟大部分小夥伴都沒有接觸過這門程式語言,如果真要用python去做的話可能會難度比較大。那麼有沒有更加簡潔一點的方法呢?答案是肯定的,下面我開始嘗試用smartbi這個工具對上面的流程進行簡化。
進入資料探勘的介面後,可以看到左邊的工具欄上有很多元件,這個就是ETL的工作介面。ETL在資料清洗上運用比較廣泛,可以把很多複雜、不規則的資料來源治理的井然有序。如果把ETL和資料探勘結合起來,必然可以大幅提高資料分析的效率。
第一步要做的是先把資料來源讀取到ETL的介面裡,我們可以把EXCEL檔案這個元件拖拽進來,並把上面的廣告費用的EXCEL檔案讀取進來:
如果EXCEL檔案中存在著多個sheet,還需要把讀取Excel sheet這個元件拖拽進來,並讀取您的目標sheet:
讀取完成後,可以先對資料來源進行預覽:
我們先來計算一下廣告費用與銷售額的相關係數怎麼算出來的,在統計分析中我們可以看到相關性分析的元件,把它拖拽進來,並與上面的元件進行相連:
滑鼠選中相關係分析,在右邊的待選列裡把銷售額和廣告費用選中,並移動到右邊
最後我們看一下執行後的輸出效果,點選廣告費用與銷售額中間的區域,可以看到相關性係數是0.94,這個資料和我們上面用Python算出來的結果是一致的:
由於篇幅有限,散點圖、資料預測等其他功能實現的方法就不多做介紹了,有興趣的小夥伴可以自行去研究一下。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69980489/viewspace-2782214/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料分析:線性迴歸
- 線性迴歸實戰
- 線性迴歸-如何對資料進行迴歸分析
- 機器學習——多元線性迴歸分析(multiple regression)及應用機器學習
- 線性迴歸
- Java: 實現自迴歸分析/線性迴歸分析/基金各項指標計算等Java指標
- python實現線性迴歸之簡單迴歸Python
- TensorFlow實現線性迴歸
- 【機器學習】線性迴歸sklearn實現機器學習
- 機器學習實戰(一)—— 線性迴歸機器學習
- pytorch實現線性迴歸PyTorch
- 機器學習-線性迴歸機器學習
- 1.3 - 線性迴歸
- 機器學習:線性迴歸機器學習
- 機器學習 | 線性迴歸與邏輯迴歸機器學習邏輯迴歸
- 線性迴歸 go 語言實現Go
- 【機器學習】線性迴歸python實現機器學習Python
- 分享2個超實用的線性迴歸分析操作教程,有手就會!
- 機器學習之線性迴歸機器學習
- 多元線性迴歸模型模型
- 機器學習整理(線性迴歸)機器學習
- 線性迴歸總結
- 4-線性迴歸
- Pytorch 實現簡單線性迴歸PyTorch
- 機器學習--線性迴歸--梯度下降的實現機器學習梯度
- 利用TensorFlow實現多元線性迴歸
- 利用TensorFlow實現線性迴歸模型模型
- spss迴歸分析的基本步驟 spss線性迴歸怎麼做SPSS
- 【機器學習】--線性迴歸從初識到應用機器學習
- 線性迴歸演算法演算法
- 【機器學習】線性迴歸預測機器學習
- PRML 迴歸的線性模型模型
- 機器學習5-線性迴歸機器學習
- 線性迴歸原理小結
- 線性迴歸-程式碼庫
- 採用線性迴歸實現訓練和預測(Python)Python
- 機器學習之線性迴歸(純python實現)機器學習Python
- 線性迴歸:最小二乘法實現