Python數據科學:線性回歸

2021-01-14 極客網FromGeek

變量分析:

相關分析:一個連續變量與一個連續變量間的關係。

雙樣本t檢驗:一個二分分類變量與一個連續變量間的關係。

方差分析:一個多分類分類變量與一個連續變量間的關係。

卡方檢驗:一個二分分類變量或多分類分類變量與一個二分分類變量間的關係。

本次介紹:

線性回歸:多個連續變量與一個連續變量間的關係。

其中線性回歸分為簡單線性回歸多元線性回歸

/ 01 / 數據分析與數據挖掘

資料庫:一個存儲數據的工具。因為Python是內存計算,難以處理幾十G的數據,所以有時數據清洗需在資料庫中進行。

統計學:針對小數據的數據分析方法,比如對數據抽樣、描述性分析、結果檢驗。

人工智慧/機器學習/模式識別:神經網絡算法,模仿人類神經系統運作,不僅可以通過訓練數據進行學習,而且還能根據學習的結果對未知的數據進行預測。

/ 02 / 回歸方程

01 簡單線性回歸

簡單線性回歸只有一個自變量與一個因變量。

含有的參數有「回歸係數」「截距」「擾動項」。

其中「擾動項」又稱「隨機誤差」,服從均值為0的正態分布。

線性回歸的因變量實際值與預測值之差稱為「殘差」。

線性回歸旨在使殘差平方和最小化。

下面以書中的案例,實現一個簡單線性回歸。

建立收入月均信用卡支出的預測模型。

import numpy as np

import pandas as pd

import statsmodels.api as sm

import matplotlib.pyplot as plt

from statsmodels.formula.api import ols

# 消除pandas輸出省略號情況及換行情況

pd.set_option('display.max_columns', 500)

pd.set_option('display.width', 1000)

# 讀取數據,skipinitialspace:忽略分隔符後的空白

df = pd.read_csv('creditcard_exp.csv', skipinitialspace=True)

print(df.head())

讀取數據,數據如下。

對數據進行相關性分析。

# 獲取信用卡有支出的行數據

exp = df[df['avg_exp'].notnull()].copy().iloc[:, 2:].drop('age2', axis=1)

# 獲取信用卡無支出的行數據,NaN

exp_new = df[df['avg_exp'].isnull()].copy().iloc[:, 2:].drop('age2', axis=1)

# 描述性統計分析

exp.describe(include='all')

print(exp.describe(include='all'))

# 相關性分析

print(exp[['avg_exp', 'Age', 'Income', 'dist_home_val']].corr(method='pearson'))

輸出結果。

發現收入(Income)平均支出(avg_exp)相關性較大,值為0.674。

使用簡單線性回歸建立模型。

# 使用簡單線性回歸建立模型

lm_s = ols('avg_exp ~ Income', data=exp).fit()

print(lm_s.params)

# 輸出模型基本信息,回歸係數及檢驗信息,其他模型診斷信息

print(lm_s.summary())

一元線性回歸係數的輸出結果如下。

從上可知,回歸係數值為97.73,截距值為258.05。

模型概況如下。

其中R值為0.454,P值接近於0,所以模型還是有一定參考意義的。

使用線性回歸模型測試訓練數據集,得出其預測值及殘差。

# 生成的模型使用predict產生預測值,resid為訓練數據集的殘差

print(pd.DataFrame([lm_s.predict(exp), lm_s.resid], index=['predict', 'resid']).T.head())

輸出結果,可與最開始讀取數據時輸出的結果對比一下。

使用模型測試預測數據集的結果。

# 對待預測數據集使用模型進行預測

print(lm_s.predict(exp_new)[:5])

輸出結果。

12下一頁>

(免責聲明:本網站內容主要來自原創、合作媒體供稿和第三方自媒體作者投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,並對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網站中的網頁或連結內容可能涉嫌侵犯其智慧財產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,並提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件後,將會依法儘快聯繫相關文章源頭核實,溝通刪除相關內容或斷開相關連結。 )

相關焦點

  • 一元線性回歸分析python - CSDN
    python多重線性回歸分析多重線性回歸分析定義多重線性回歸模型:MulitipleLinear Regression多元線性回歸模型:Multivariate Linear Regression數據準備#多重線性回歸#數據準備import pandas as pddf=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
  • python一元線性回歸分析專題及常見問題 - CSDN
    python多重線性回歸分析多重線性回歸分析定義多重線性回歸模型:Mulitiple Linear Regression多元線性回歸模型:MultivariateLinear Regression數據準備#多重線性回歸#數據準備import pandas as pddf=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')df根據預測目標,確定自變量和因變量#多重線性回歸
  • Python數據分析|線性回歸
    Python數據分析學習筆記,今天分享下利用Python對業務進行數據預處理,並利用線性回歸進行數據預測。壹 數據導入Python下載及環境配置這裡就不贅述了哈,網上教程非常多,我們直接一開始就進入乾貨,打它一個開門見山。
  • 數據科學的Python軟體包
    巨大的社區支持Python具有廣泛的社區支持之一,在dev op社區上存在各種活躍的論壇,python開發人員在該論壇上發布他們的錯誤,而社區則試圖幫助他們。各種用於數據科學的Python庫到目前為止,我們已經介紹了什麼是數據科學以及為什麼要使用Python,現在讓我們討論可用於數據科學的各種python庫。1.
  • 使用Python中的線性回歸通過語音診斷帕金森氏病
    本文,我們將創建一個簡單的python機器學習算法,以便能夠通過聲音來診斷該人是否為患者。我們將使用一組(健康者和帕金森病患者)音頻文件庫,通過對音頻進行一些測量來構建我們的機器學習數據集。建立機器學習數據集後,我們將使用SciKit Learn庫訓練線性回歸模型。最後,我們將構建一個python庫,這個庫可以輕鬆集成到其他應用程式中。數據集首先,我們需要將音頻文件轉換成包含音頻測量值以及患者是否健康標誌的表格。
  • 數據科學 | 第5講:線性回歸
    回歸分析是對客觀事物數量依存關係的分析,是統計中的一個常用的方法,被廣泛應用於自然現象和社會經濟現象中變量之間的數量關係研究。本章將介紹線性回歸的原理、估計方法以及R語言的實現。例5.1 為了研究某社區家庭月消費支出與家庭月可支配收入之間的關係,隨機抽取並調查了12戶家庭的相關數據,見表5-1。
  • 線性回歸:簡單線性回歸詳解
    【導讀】本文是一篇專門介紹線性回歸的技術文章,討論了機器學習中線性回歸的技術細節。線性回歸核心思想是獲得最能夠擬合數據的直線。
  • python多重線性回歸分析
    一個簡單的線性回歸模型測試。定義:線性回歸是利用數理統計中回歸分析,來確定兩種或兩種以上變量間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。表達形式為y =aX+b,b為誤差服從均值為0的正態分布,a為截距。
  • 8種用Python實現線性回歸的方法,究竟哪個方法最高效?
    大數據文摘作品作者:TirthajyotiSarkar編譯:丁慧、katherine Hou、錢天培說到如何用Python執行線性回歸,大部分人會立刻想到用sklearn的linear_model,但事實是,Python至少有8種執行線性回歸的方法,sklearn並不是最高效的。
  • 了解線性回歸的數學原理:線性回歸背後的微積分
    線性回歸通常是任何機器學習課程的起點。目的是預測輸入變量與目標變量之間的線性關係。天真的情況是穿過空間原點的直線。在這裡,我們僅限於二維空間,即笛卡爾平面。讓我們從y = mx格式開始逐步發展,然後從y = mx + c回歸開始。y = mx的簡化方案在這種情況下,我們知道我們要對通過原點的數據擬合一條線。
  • 8種用Python實現線性回歸的方法
    拋開涉及大量數統的模型分析和檢驗不說,你真的就能熟練應用線性回歸了麼?未必!「寶刀不老」的線性回歸時至今日,深度學習早已成為數據科學的新寵。即便往前推10年,SVM、boosting等算法也能在準確率上完爆線性回歸。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    3-21簡單對比分析操作 3-22可視化柱狀圖 3-23可視化-直方圖 3-24可視化-箱線圖 3-25可視化-折線圖 3-26可視化-餅圖 3-27本章小結 4-01假設檢驗 4-02卡方檢驗 4-03方差檢驗 4-04相關係數 4-05線性回歸
  • Python環境下的8種簡單線性回歸算法
    GitHub 地址:對於大多數數據科學家而言,線性回歸方法是他們進行統計學建模和預測分析任務的起點。但我們不可誇大線性模型(快速且準確地)擬合大型數據集的重要性。如本文所示,在線性回歸模型中,「線性」一詞指的是回歸係數,而不是特徵的 degree。
  • 原理+代碼|Python實戰多元線性回歸模型
    其中多元共線性這個問題將貫穿所有的機器學習模型,所以本文會「將原理知識穿插於代碼段中」,爭取以不一樣的視角來敘述和講解「如何更好的構建和優化多元線性回歸模型」。下面用一個只有 4 行的微型數據集輔以說明。
  • 線性回歸中+t值的含義_線性回歸 y截距p值的計算 - CSDN
    線性回歸模型的基本特性就是:模型是參數的線性函數。最簡單的線性回歸模型當然是模型是參數的線性函數的同時,也是輸入變量的線性函數,或者叫做線性組合。一般線性回歸對於一個一般的線性模型而言,其目標就是要建立輸入變量和輸出變量之間的回歸模型。該模型是既是參數的線性組合,同時也是輸入變量的線性組合。
  • 一文教你全面掌握用Python實現線性回歸
    該方程式和一元線性回歸方程很像,只不過是再加上預測數和相應的係數。多元線性回歸等式。p表示自變量的個數。評估自變量的相關性在前文中,通過找出p值來評估一元線性回歸中自變量的相關性。在多元線性回歸中,F統計量將被用於評估相關性。
  • 機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用...
    尹老師,數據科學家,浙江大學物理學博士,浙江某高校數據科學專業負責人,兼任某網絡科技上市公司大數據總監,受聘擔任多家大數據教學機構主講教師,開發多套python高級編程、機器學習、網絡爬蟲與文本挖掘系列課程,10+年python軟體開發數據產品經驗,熟悉R Java等多種程式語言,具有豐富的python統計建模、數據挖掘、大數據技術教學經驗,先後為中國交通銀行,平安保險公司等數十家知名機構主講
  • 如何用線性回歸模型做數據分析?
    編輯導語:在日常工作中,很多時候都會用到數據分析的方法,線性回歸模型看起來非常簡單,但實際上它的十分重要;本文作者分享了關於如何用線性回歸模型做數據分析的方法,我們一起來學習一下。
  • python模擬簡單線性回歸
    return sum([(x - mean) ** 2 for x in values]) #計算協方差def convariance(x, mean_x, y, mean_y): convar = 0.0 for i in range(len(x)): convar += (x[i] - mean_x) * (y[i] - mean_y) return convar #計算回歸係數函數
  • ...詳解線性回歸、樸素貝葉斯、隨機森林在R和Python中的實現應用...
    歡迎來到數據科學的世界!如今,作為一名數據科學家,我用複雜算法建立的數據處理機器每小時能賺好幾美金。但是要做到這個程度是非常不容易的!我曾經歷過無數黑暗的日日夜夜。如果你是一名正準備開始自己數據科學之旅的初學者。