欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)線性回歸的示例代碼

 更新時(shí)間:2024年04月30日 09:34:16   作者:邀_灼灼其華  
本文主要介紹了python實(shí)現(xiàn)線性回歸的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1、導(dǎo)入第三方庫(kù)

import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
import numpy as np

2、生成數(shù)據(jù)集

def generateData():
    X = []
    y = []
    for i in range(0, 100):
        tem_x = []
        tem_x.append(i)
        X.append(tem_x)
        tem_y = []
        tem_y.append(i + 2.128 + np.random.uniform(-15,15))
        y.append(tem_y)
        plt.scatter(X, y, alpha=0.6)
    return X,y

3、計(jì)算殘差平方

def residual_sum_of_squares(y_true, y_pred):
    # 計(jì)算殘差
    residuals = y_true - y_pred    
    # 計(jì)算殘差平方
    squared_residuals = residuals ** 2   
    # 計(jì)算殘差平方和
    rss = np.sum(squared_residuals)    
    return rss

4、訓(xùn)練模型

if __name__ == '__main__':
    np.random.seed(0)
    X,y = generateData()
    print(len(X))
    X_train,X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
    random_state=0)
    regressor = LinearRegression()
    regressor.fit(X_train, y_train)
    y_result = regressor.predict(X_test)
    plt.plot(X_test, y_result, color='red',alpha=0.6, linewidth=3,
    label='Predicted Line')
    plt.show()
    
    # 提取模型的斜率和截距
    slope = regressor.coef_[0]
    intercept = regressor.intercept_

    # 輸出擬合函數(shù)
    print(f"擬合函數(shù): y = {slope}x + {intercept}")
    
    # 計(jì)算殘差平方和
    rss = residual_sum_of_squares(y_test, y_result)
    print("Residual Sum of Squares:", rss)

在這里插入圖片描述

5、數(shù)據(jù)驗(yàn)證

在這里插入圖片描述

6、模型優(yōu)缺點(diǎn)

優(yōu)點(diǎn)
運(yùn)算速度快。由于算法很簡(jiǎn)單,而且符合非常簡(jiǎn)潔的數(shù)學(xué)原理,不管是建模速度,還是預(yù)測(cè)速度都
是非??斓?。
可解釋性強(qiáng)。由于最終我們可以得到一個(gè)函數(shù)公式,根據(jù)計(jì)算出的公式系數(shù)就可以很明確地知道每
個(gè)變量的影響大小。
對(duì)線性關(guān)系擬合效果好。當(dāng)然,相比之下,如果數(shù)據(jù)是非線性關(guān)系,那么就不合適了。

缺點(diǎn)
預(yù)測(cè)的精確度較低。由于獲得的模型只是要求最小的損失,而不是對(duì)數(shù)據(jù)良好的擬合,所以精確度略低。
不相關(guān)的特征會(huì)影響結(jié)果。對(duì)噪聲數(shù)據(jù)也比較難處理,所以在數(shù)據(jù)處理階段需要剔除不相關(guān)的特征以及噪聲數(shù)據(jù)。
容易出現(xiàn)過擬合。尤其在數(shù)據(jù)量較少的情況下,可能出現(xiàn)這種問題。

到此這篇關(guān)于python實(shí)現(xiàn)線性回歸的示例代碼的文章就介紹到這了,更多相關(guān)python 線性回歸內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論