日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python建立回归模型_简单线性回归的Python建模方法

發布時間:2025/3/20 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python建立回归模型_简单线性回归的Python建模方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡單線性回歸,就是兩個隨機變量存在一定大小的相關系數的前提下,結合散點圖觀察,采用最小二乘OLS方法,嘗試建立一條回歸直線,使得誤差平方和SSE最小。OLS是一種參數方法,通過確定直線的斜率b和截距a,求得直線方程y=a+bx。利用該直線方程,可對滿足條件的測試集中的x值,預測出相應的y值,并評價模型效果。

本文通過一些人造數據,講解Python實現簡單線性回歸的建模方法。

數據集包含兩個隨機變量:學習時間、分數。

一、統一概念

機器學習和數據分析的步驟相似:

①提出問題

②理解數據

③數據清洗

④建立模型

⑤評估模型

本文重點關注建模過程,故而忽略前3步。

簡單線性回歸就是一元線性回歸。含有一個自變量(特征)+一個因變量(標簽)。

通用表達式為y=a+bx,a為截距項,b為斜率(也叫回歸系數)。

機器學習的一般建模分析方法,需先將原始數據集拆分出一定比例的數據子集,作為訓練集。其余的數據則作為測試集,用來評估模型效果。

拆分的時候采用隨機拆分,只需指定比例即可。

簡單線性回歸的特征一般為連續型變量,標簽也為連續型變量。

二、建立模型

解釋了可能出現的概念之后,可以著手準備建立模型了。

0.準備數據

通過有序字典的方式,手動創建一個原始數據集,包括兩個隨機變量(特征:x;標簽:y):創建原始數據集

1.建模第一步:計算相關系數矩陣,提取特征和標簽提取原始數據集的特征和標簽

2.建模第二步:得到訓練集和測試集

在導入機器學習交叉驗證包的分割模塊時,會彈出警告,經搜索,sklearn 0.20以后的版本將不支持sklearn.cross_validation包:

解決辦法:修改為高級版本支持的包sklearn.model_selection.

在分割數據集的過程中,又彈出警告:

警告信息說的很清楚了,讓我們補足testsize的大小。加一個參數test_size=0.2。如下:

原始數據集的特征:exam_x;訓練集特征:x_train;測試集特征:x_test;

原始數據集的標簽:exam_y;訓練集標簽:y_train;測試集標簽:y_test。

二八分,訓練集80%,測試集20%。

這里補充一下第一步需要的散點圖,由于散點圖的繪制過程需要提取出特征和標簽,所以放在這里補充:

這里也可看出,適合用簡單線性回歸模型。

3.建模第三步:創建并訓練模型

首先,導入 機器學習的線性模型包:from sklearn.linear_model import LinearRegression

然后,創建線性回歸模型;再用訓練集訓練模型:

此處會報錯:

通過劃線部分我們得到:此處需要二維參數,而我們只傳入了一維參數,如果只有一個特征,需要通過numpy重塑形狀為n行1列。

備注:reshape為numpy的ndarray類型所具有的方法,Series需要先取出值的部分,即Series.values,再reshape(-1,1)成n行1列。關于reshape的規則見下圖:numpy.array.reshape規則

言歸正傳,將訓練集特征和測試集特征重塑為n行1列:

再訓練模型一次,并求出截距和斜率,寫出OLS方程:求出OLS方程

由于在繪制OLS直線時,需要用到 模型對訓練集特征預測出來的y值,此處求一下:

y_train_pred = model.predict(x_train)

三、評估模型

簡單線性回歸模型的效果用判別系數r^2

可以看到,判別系數r平方為0.74,模型擬合效果較好。

下面通過可視化,直觀感受一下效果:訓練集:藍色;測試集:紅色

總結

以上是生活随笔為你收集整理的python建立回归模型_简单线性回归的Python建模方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。