當(dāng)前位置:首頁 > IT技術(shù) > 編程語言 > 正文

算法模型①
2021-10-21 23:07:12

一元線性回歸模型與多遠(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/

開通會(huì)員,享受整站包年服務(wù)立即開通 >