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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

线性回归 —— python

發(fā)布時間:2025/3/15 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线性回归 —— python 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、基本概念

二、概念的數(shù)學(xué)形式表達(dá)

三、確定w和b

1.讀取或輸入數(shù)據(jù)

2.歸一化、標(biāo)準(zhǔn)化

2.1 均值

2.2 歸一化

2.3 標(biāo)準(zhǔn)化

3.求解w和b

1.直接解方程

2.最小二乘法(least square method)求解:

4. 評估回歸模型

四、sklearn中的線性回歸

1.對數(shù)據(jù)進(jìn)行解析

2.對原始值和預(yù)測值進(jìn)行繪圖

3.繪制殘差圖


一、基本概念

線性(linear):

指量與量之間按比例、成直線的關(guān)系,在空間和時間上代表規(guī)則和光滑的運(yùn)動,一階導(dǎo)數(shù)為常數(shù)

非線性(non-linear):

指不按比例、不成直線的關(guān)系,代表不規(guī)則的運(yùn)動和突變,一階導(dǎo)數(shù)不為常數(shù)。

一個線性的例子:

數(shù)據(jù):工資和年齡(2個特征)

目標(biāo):預(yù)測銀行會貸款給我多少錢(標(biāo)簽)

考慮:工資和年齡都會影響最終銀行貸款的結(jié)果,那么他們各自有多大的影響呢?(參數(shù))

通俗的解釋

x1,x2就是我們的兩個特征(年齡、工資),y是銀行最終會借給我們多少錢

找到最合適的一條線(想象一個高維)來最好的擬合我們的數(shù)據(jù)點(diǎn)

數(shù)學(xué)形式來了

二、概念的數(shù)學(xué)形式表達(dá)

給定數(shù)據(jù)集

數(shù)據(jù)的矩陣形式:

?線性模型(linear model)試圖學(xué)得一個通過屬性組合的線性組合來進(jìn)行預(yù)測的函數(shù),即

向量形式寫成:???

線性回歸(linear regression)試圖學(xué)得一個線性模型以盡可能準(zhǔn)確地預(yù)測實(shí)值輸出標(biāo)記

三、確定w和b

對離散屬性

若屬性間存在“序”關(guān)系,可通過連續(xù)化將其轉(zhuǎn)化為連續(xù)值。

若屬性間不存在“序”關(guān)系,則轉(zhuǎn)化為k維向量。

1.讀取或輸入數(shù)據(jù)

#導(dǎo)入相關(guān)庫 numpy pandas import pandas import numpy #如果沒有請安裝哦,如下 # pip install pandas # pip install numpy

有庫了,我們才可以導(dǎo)入數(shù)據(jù)哇

首先我們先看看csv數(shù)據(jù)的導(dǎo)入

import pandas as pd文件 data = pd.read_csv(r'路徑', encoding='gbk') #讀取csv數(shù)據(jù)方式 pd.read_csv # encoding='gbk' 定義編碼方式 常用只有兩種 utf8 和 gbk 按需定義即可#下面這種讀取是顯示沒有第一列的數(shù)據(jù) index_col=0 python中第0列也就是實(shí)際的第1列 #reset_index(drop=True) True表示執(zhí)行此刪除命令 data= pd.read_csv(r"路徑", encoding='gbk', index_col=0).reset_index(drop=True)

?讀取數(shù)據(jù)后得分出和為X,何為Y

X = data.iloc[:,0:4] # 0到3列所有的數(shù)據(jù)也就是實(shí)際的1到4列 Y = data.iloc[:, 5] # 第5列所有的數(shù)據(jù)也就是實(shí)際的第6列

?接下來我們看看自己建立矩陣的數(shù)據(jù)讀取方式

import numpy as np a = np.array([1,2,3]) print(a) b = np.array([[1,2],[2,3]]) print(b)

返回:

?

?說到矩陣了,就順便說一下

創(chuàng)建矩陣的相關(guān)知識:mat() 創(chuàng)建矩陣array() 將列表轉(zhuǎn)換為數(shù)組,可選擇顯式指定dtypearange() range的numpy版,支持浮點(diǎn)數(shù)linspace() 類似arange(),第三個參數(shù)為數(shù)組長度zeros() 根據(jù)指定形狀和dtype創(chuàng)建全0數(shù)組ones() 根據(jù)指定形狀和dtype創(chuàng)建全1數(shù)組empty() 根據(jù)指定形狀和dtype創(chuàng)建空數(shù)組(隨機(jī)值)eye() 根據(jù)指定邊長和dtype創(chuàng)建單位矩陣

2.歸一化、標(biāo)準(zhǔn)化

2.1 均值

# 在這里我們可以直接用numpy中的mean函數(shù)計算 numpy。mean()

順便介紹一下其他的numpy中的相關(guān)常用函數(shù):
sum 求和
cumsum 求前綴和
mean 求平均數(shù)
std 求標(biāo)準(zhǔn)差
var 求方差
min 求最小值
max 求最大值
argmin 求最小值索引
argmax 求最大值索引

?要想確定w和b,首先要視情況決定是否需要對數(shù)據(jù)進(jìn)行歸一化或標(biāo)準(zhǔn)化

2.2 歸一化

#范圍歸一化 此方法只適用一維數(shù)據(jù) import numpy as np data = np.asarray([1,5,3,8,4]) for x in data:x = float(x - np.min(data))/(np.max(data)- np.min(data))print(x) # sklearn中的范圍歸一化函數(shù)MinMaxScaler函數(shù)可適用多維數(shù)據(jù) from sklearn import preprocessing import numpy as np X = np.array([[ 1., -1., 2.], [ 2., 0., 0.], [ 0., 1., -1.]]) min_max_scaler = preprocessing.MinMaxScaler() x = min_max_scaler.fit_transform(X)

2.3 標(biāo)準(zhǔn)化

#標(biāo)準(zhǔn)化 import numpy as npcc = np.array([[1,2,3],[4,5,6]]) #創(chuàng)建矩陣 print(cc) #輸出矩陣cc_mean = np.mean(cc, axis=0) #axis=0,表示按列求均值 ——— 即第一維,每一列可看做一個維度或者特征 cc_std = np.std(cc, axis=0) #xis=0,表示按列求標(biāo)準(zhǔn)差 cc_zscore = (cc-cc_mean)/cc_std #直接計算,對數(shù)組進(jìn)行標(biāo)準(zhǔn)化,一定要注意維度 print(cc_zscore) #輸出結(jié)果 #sklearn中的標(biāo)準(zhǔn)化 from sklearn.preprocessing import StandardScalerscaler = StandardScaler() cc_zscore = scaler.fit_transform(cc) print(cc_zscore) #輸出結(jié)果

3.求解w和b

1.直接解方程

N = data.shape[0] X_mean = np.mean(X) #求均值 X_mean = np.array(X_mean) #轉(zhuǎn)為數(shù)組 Y_mean = np.mean(Y) #求均值 Y_mean = np.array(Y_mean) #轉(zhuǎn)為數(shù)組A = np.dot(X.T,X)-N*np.dot(X_mean.T,X_mean) C = np.dot(X.T,Y)-N*np.dot(X_mean.T,Y_mean) B = np.dot(np.linalg.inv(A),C) #系數(shù) BB = Y_mean - np.dot(X_mean,B.T) #常數(shù) YY = np.dot(X,B.T)+BB #Y的估計值

2.最小二乘法(least square method)求解:

把數(shù)據(jù)集D表示為一個m*(d+1)大小的矩陣X,其中每行對應(yīng)于一個示例,改行前d個元素對應(yīng)于示例的d個屬性值,最好一個元素恒置為1,即

x = np.array([[1,5,8],[2,5,8],[1,4,6]]) Y = np.array([2,5,3]) b = np.ones(3) X = np.insert(x, 3, values=b, axis=1)

當(dāng)X^TX 為滿秩矩陣(full-rank matrix) 或正走矩陣(positive definite matrix) 時,令

得到

w=np.dot(np.dot(np.linalg.inv(np.dot(X.T,X)),X.T),Y)

?其中(X^TX)^-l是矩陣(X^TX)的逆矩陣.令xi = (xi ,l) ,則最終學(xué)得的多元線性回歸模型為

4. 評估回歸模型

#離差平方和 S = np.var(Y) #回歸平方和 U = np.var(YY) #剩余平方和 Q = S - U #復(fù)可決系數(shù) R2 = U/S #負(fù)相關(guān)系數(shù) R = np.sqrt(U/S) #回歸均方 # n= X_mean 的個數(shù) UU = U/n #剩余均方 # N= Y的個數(shù) QQ = Q/(N-n-1) #剩余標(biāo)準(zhǔn)差 s = np.sqrt(QQ) #方程顯著性檢驗值 F = UU/QQ

四、sklearn中的線性回歸

1.對數(shù)據(jù)進(jìn)行解析

from sklearn import linear_model import numpy as np import pandas as pd #使用最小二乘線性回歸進(jìn)行擬合,導(dǎo)入相應(yīng)的模塊 lr=linear_model.LinearRegression() data = pd.read_csv(r'D:\桌面\A.csv', encoding='gbk') X = data.iloc[:,0:4] Y = data.iloc[:, 5] X_train,X_test,Y_train,Y_test=train_test_split(X, Y, test_size=0.2, random_state=0) lr.fit(X_train,Y_train) #擬合 y=lr.predict(X) #得到預(yù)測值集合y coef=lr.coef_ #獲得該回該方程的回歸系數(shù)與截距 intercept=lr.intercept_ print("預(yù)測方程回歸系數(shù):",coef) print("預(yù)測方程截距:",intercept) score=lr.score(X_test,Y_test) #對得到的模型打分 print('模型的預(yù)測分',score)

2.對原始值和預(yù)測值進(jìn)行繪圖

from matplotlib import pyplot as plt plt.plot(range(1,len(Y)+1),Y) plt.plot(range(1,len(Y)+1),y) plt.show()

3.繪制殘差圖

err = y - Y #求殘差 plt.plot(range(1,len(Y)+1),err) plt.show()

總結(jié)

以上是生活随笔為你收集整理的线性回归 —— python的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区三区视频 | 女人一级一片30分 | 在线观看亚洲色图 | 国产群p| 欧美日韩在线视频免费 | 岛国精品在线播放 | 免费成年人视频 | 黄色网页大全 | 中文字幕久久一区 | 久久久久国产精品一区二区 | 国产精品无码人妻一区二区在线 | 欧美视频免费 | 国产综合精品 | 绯色av蜜臀vs少妇 | 手机在线看片福利 | 欧美xxxⅹ性欧美大片 | 日本三级黄在线观看 | 香蕉伊人 | 911看片 | 涩涩亚洲 | 日韩av在线导航 | 国产精品美女毛片真酒店 | 我不卡av | 97人妻人人澡人人爽人人精品 | www.99爱| 国产成人精品在线视频 | 91精品婷婷国产综合久久 | 激情视频一区二区三区 | 久久婷婷亚洲 | 天天艹夜夜艹 | 中文字幕无码精品亚洲35 | av网天堂 | 国产日韩欧美在线 | 午夜免费福利网站 | 人妻丝袜一区二区三区 | 蜜桃成人网 | 丁香花电影在线观看免费高清 | 天堂а√在线中文在线鲁大师 | 亚洲午夜激情视频 | 日韩中文字幕亚洲精品欧美 | 老女人综合网 | 99久久亚洲精品日本无码 | 中国一级片在线观看 | 福利精品在线 | 九色网站在线观看 | 欧美成人精品一区二区三区 | 国产精品人人做人人爽 | 丁香激情五月少妇 | 色婷婷麻豆 | 懂色av粉嫩av蜜乳av | 亚洲伦乱| 中文字幕一区二区人妻电影 | 亚洲综合图片区 | 亚洲精品综合精品自拍 | 久久思 | 海角官网| 精品一区二区三区人妻 | 天堂网va| 欧美黑人性xxx | 国产偷人妻精品一区二区在线 | 日本边添边摸边做边爱 | 揉我啊嗯~喷水了h视频 | 成人v| 综合色区 | 国产午夜精品久久久 | 综合色在线视频 | 91成人精品视频 | 蜜臀av性久久久久蜜臀av麻豆 | 国产三区四区视频 | 欧美一区二区三区影院 | 青青在线视频观看 | 偷偷在线观看免费高清av | 欧美第二页 | 放荡闺蜜高h季红豆h | 色男人av | 99精品一区二区三区 | 尤物videos另类xxxx | 中文字幕1 | 国产麻豆乱码精品一区二区三区 | 交专区videossex另类 | 国产91欧美 | 成人在线观看av | av毛片网站 | 影音先锋亚洲成aⅴ人在 | 久久二区三区 | 日本免费精品视频 | 91尤物视频在线观看 | 狠狠热免费视频 | 国产手机看片 | 欧美激情va永久在线播放 | 精品久久久久亚洲 | 狠狠爱夜夜 | 漂亮人妻被黑人久久精品 | 日韩国产毛片 | 久久九九热视频 | 永久黄网站色视频免费观看w | 春色影视 | 亚洲蜜臀av乱码久久精品蜜桃 | 久久久男女 |