回歸分析

知識(shí)點(diǎn)普及

  • 回歸分析:研究自變量與因變量之間的關(guān)系形式的分析方法,主要是通過建立自變量y和影響他的自變量Xi(i=1,2,3...)之間的回歸模型來預(yù)測自變量y的發(fā)展趨勢.
  • 回歸模型分析步驟:
    • 根據(jù)預(yù)測目標(biāo),確定因變量和自變量
    • 繪制散點(diǎn)圖,確定回歸模型或類型
    • 估計(jì)模型參數(shù),建立回歸模型
    • 對回歸模型進(jìn)行校驗(yàn)
    • 利用回歸模型進(jìn)行預(yù)測

簡單線性回歸:y=a+bx+e

  • y 因變量
  • x 自變量
  • a 常數(shù)項(xiàng) 截距
  • b 回歸系數(shù) 斜率
  • e 隨機(jī)誤差

sklearn 建立模型的流程

  • 建立模型: lrModel = sklearn.linear_model.LinearRegression()
  • 訓(xùn)練模型: lrModel.fit(x,y)
  • 模型評(píng)估: lrModel.score(x,y)
  • 模型預(yù)測: lrModel.predict(x)

樣例代碼

#!/usr/bin/env python
# coding=utf-8
import  numpy as np
from pandas import read_csv
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

data = read_csv('../data/input/data.csv')

#畫出散點(diǎn)圖,求x,y的相關(guān)系數(shù)
plt.scatter(data.廣告投入,data.銷售額)

data.corr()

# 估計(jì)模型參數(shù),建立回歸模型
lrModel = LinearRegression()

X = data[['廣告投入']]
Y = data[['銷售額']]


#模型訓(xùn)練
lrModel.fit(X,Y)

#模型評(píng)估
lrModel.score(X,Y)


# 利用回歸模型進(jìn)行預(yù)測
res = lrModel.predict([[50],[40],[20]])
print (res)

# 查看截距

alpha =  lrModel.intercept_[0]

# 查看參數(shù)
beta = lrModel.coef_[0][0]

alpha + beta*np.array([50,40,20]) 

結(jié)果輸出

[[ 150.53303965]
 [ 113.15418502]
 [  38.39647577]]

多重線性回歸 :研究一個(gè)因變量和多個(gè)自變量間的線性關(guān)系的方法

多重線性回歸表達(dá)式

樣例代碼

#!/usr/bin/env python
# coding=utf-8



import matplotlib 
import pandas as pd 
from pandas.tools.plotting import scatter_matrix

data = pd.read_csv('../data/input/data_2.csv')

# matplotlib設(shè)置圖表中文正常顯示
font = {
    'family':'SimHei'
}

matplotlib.rc('font',**font)

#矩陣?yán)L制散點(diǎn)圖
scatter_matrix(
    data[['店鋪的面積','距離最近的車站','月營業(yè)額']],
    figsize = (10,10),diagonal='kde'
    )

#計(jì)算相關(guān)系數(shù)
data[['店鋪的面積','距離最近的車站','月營業(yè)額']].corr()

#自變量
X = data[['店鋪的面積','距離最近的車站']]
#因變量
Y = data[['月營業(yè)額']]

from sklearn.linear_model import LinearRegression
lrModel = LinearRegression()
lrModel.fit(X,Y)
lrModel.score(X,Y)
res1 = lrModel.predict([[10,110]])
res2 = lrModel.predict([[10,110],[20,110]])

print (res1)
print (res2)
#查看參數(shù)
lrModel.coef_
#查看截距
lrModel.intercept_

附注


我是阿羽,一枚正在學(xué)習(xí)的搬磚小工,希望大家多多指教!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 回歸分析 - 刺猬的溫馴 - 博客園 http://www.cnblogs.com/chenying99/p/4...
    葡萄喃喃囈語閱讀 1,763評(píng)論 1 7
  • 回歸分析是一種預(yù)測性的建模技術(shù),它研究的是因變量(目標(biāo))和自變量(預(yù)測器)之間的關(guān)系。這種技術(shù)通常用于預(yù)測分析,時(shí)...
    wyrover閱讀 12,398評(píng)論 0 13
  • 監(jiān)督學(xué)習(xí)中,如果預(yù)測的變量是離散的,我們稱其為分類(如決策樹,支持向量機(jī)等),如果預(yù)測的變量是連續(xù)的,我們稱其為回...
    小灰灰besty閱讀 1,551評(píng)論 0 5
  • 熊超超閱讀 373評(píng)論 1 5
  • NO.31 字?jǐn)?shù)1285 用時(shí)約3.5分鐘 好久沒有講故事了,今天給小伙伴們講個(gè)小故事,故事發(fā)生在2017年5...
    凝霜記憶閱讀 1,259評(píng)論 0 4

友情鏈接更多精彩內(nèi)容