一元線性回歸模型與多遠(yuǎn)線性回歸模型
一元線性回歸模型:
公式:
y=ax+b
多元線性回歸模型:
公式:
y=ax+ax1+ax2+...+b
區(qū)別就在于有不同的函數(shù)
?
常用數(shù)學(xué)符號(hào)以及讀法:
?
?
?
散點(diǎn)圖:
?
?計(jì)算公式:
?
?因變量與自變量的概念:
在函數(shù)關(guān)系式中,某個(gè)量會(huì)隨一個(gè)(或幾個(gè))變動(dòng)的量的變動(dòng)而變動(dòng),就稱為因變量。如:y=f(x)
此式表示為:Y隨X的變化而變化。Y是因變量,X是自變量。
?
?自變量概述圖:
?
?如何判斷兩個(gè)變量之間是否存在線性關(guān)系與非線性關(guān)系
1.散點(diǎn)圖:
X = [52,19,7,33,2] Y = [162,61,22,100,6] plt.scatter(X,Y) plt.show()
?
?2.公式計(jì)算
通過公式計(jì)算的出的結(jié)果:
大于等于0.8表示高度相關(guān)
絕對(duì)值大于等于0.5小于等于0.8表示中度相關(guān)
絕對(duì)值大于等于0.3小于0.5表示弱相關(guān)
絕對(duì)值小于0.3表示幾乎不相關(guān)(需要注意這里的不相干指的是沒有線性關(guān)系 可能兩者之間有其他關(guān)系)
公式固定代碼:
import numpy import pandas X = [52,19,7,33,2] Y = [162,61,22,100,6] # 1.公式計(jì)算#均值 XMean = numpy.mean(X) YMean = numpy.mean(Y) # 標(biāo)準(zhǔn)差 XSD = numpy.std(X) YSD = numpy.std(Y) # z分?jǐn)?shù) ZX = (X-XMean)/XSD ZY = (Y-YMean)/YSD # 相關(guān)系數(shù) r = numpy.sum(ZX*ZY)/(len(X)) # 2.numpy中的corrcoef方法直接計(jì)算 t=numpy.corrcoef(X,Y) # 3.pandas中的corr方法直接計(jì)算 data = pandas.DataFrame({'X':X,'Y':Y}) t2=data.corr()
?
?訓(xùn)練集與測(cè)試集:
訓(xùn)練集用于模型的訓(xùn)練創(chuàng)建 測(cè)試集用于模型的測(cè)試檢驗(yàn)
一般情況下訓(xùn)練集占總數(shù)據(jù)的80%、測(cè)試集占總數(shù)占20%
啞變量:
在生成算法模型的時(shí)候有些變量可能并不是數(shù)字無法直接帶入公式計(jì)算
此時(shí)可以構(gòu)造啞變量 >>> C(State)
自定義啞變量:
?
?將啞變量與原始數(shù)據(jù)集水平合并
?
?刪除State變量和California變量
?
??拆分?jǐn)?shù)據(jù)集Profit_New
?
?建模:
model2 = sm.formula.ols('Profit~RD_Spend+Administration+Marketing_Spend+Florida+California', data = train).fit() print('模型的偏回歸系數(shù)分別為: ', model2.params)
?
本文摘自 :https://www.cnblogs.com/