国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

機(jī)器學(xué)習(xí)之利用線性回歸預(yù)測(cè)波士頓房?jī)r(jià)和可視化分析影響房?jī)r(jià)因素實(shí)戰(zhàn)(python實(shí)現(xiàn) 附源碼 超詳細(xì))

這篇具有很好參考價(jià)值的文章主要介紹了機(jī)器學(xué)習(xí)之利用線性回歸預(yù)測(cè)波士頓房?jī)r(jià)和可視化分析影響房?jī)r(jià)因素實(shí)戰(zhàn)(python實(shí)現(xiàn) 附源碼 超詳細(xì))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

數(shù)據(jù)集和源碼請(qǐng)點(diǎn)贊關(guān)注收藏后評(píng)論區(qū)留下QQ郵箱或者私信

線性回歸是利用最小二乘函數(shù)對(duì)一個(gè)或多個(gè)因變量之間關(guān)系進(jìn)行建模的一種回歸分析,這種函數(shù)是一個(gè)或多個(gè)稱為回歸系數(shù)的模型參數(shù)的線性組合。只有一個(gè)變量的稱為一元回歸,大于一個(gè)變量的情況叫做多元回歸。利用線性回歸,我們可以預(yù)測(cè)一組特定數(shù)據(jù)是否在一定時(shí)期內(nèi)增長(zhǎng)或下降。

接下來(lái)以線性回歸預(yù)測(cè)波士頓房?jī)r(jià)進(jìn)行實(shí)戰(zhàn)解析

線性回歸代碼如下

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

# 讀數(shù)據(jù)
data = np.loadtxt(boston_house_price.csv', float, delimiter=",", skiprows=1)
X, y = data[:, :13], data[:, 13]
# Z-score歸一化
for i in range(X.shape[1]):
    X[:, i] = (X[:, i] - np.mean(X[:, i])) / np.std(X[:, i])
# 劃分訓(xùn)練集、測(cè)試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 將訓(xùn)練集、測(cè)試集改為列向量的形式
y_train = y_train.reshape((-1, 1))
y_test = y_test.reshape((-1, 1))

# 初始化模型參數(shù)
def initialize_params(feature_num):
 
    w=np.random.rand(feature_num,1)
    b=0
    return w,b


def forward(X, y, w, b):
 
    num_train=X.shape[0]
    y_hat=np.dot(X,w)+b
    loss=np.sum((y_hat-y)**2)/num_train
    dw=np.dot(X.T,(y_hat-y))/num_train
    db=np.sum((y_hat-y))/num_train
    return y_hat,loss,dw,db

# 定義線性回歸模型的訓(xùn)練過(guò)程
def my_linear_regression(X, y, learning_rate, epochs):

    loss_his=[]
    w,b=initialize_params(X.shape[1])
    for i in range(epochs):
        y_hat,loss,dw,db=forward(X,y,w,b)
        w+=-learning_rate*dw
        b+=-learning_rate*db
        loss_his.append(loss)
        if i%100==0:
            print("epochs %d loss %f"%(i,loss))
    return loss_his,w,b









# 線性回歸模型訓(xùn)練
loss_his, w, b = my_linear_regression(X_train, y_train, 0.01, 5000)
# 打印loss曲線
plt.plot(range(len(loss_his)), loss_his, linewidth=1, linestyle="solid", label="train loss")
plt.show()
# 打印訓(xùn)練后得到的模型參數(shù)
print("w:", w, "\nb", b)

# 定義MSE函數(shù)
def MSE(y_test, y_pred):
    return np.sum(np.square(y_pred - y_test)) / y_pred.shape[0]

# 定義R系數(shù)函數(shù)
def r2_score(y_test, y_pred):
    # 測(cè)試集標(biāo)簽均值
    y_avg = np.mean(y_test)
    # 總離差平方和
    ss_tot = np.sum((y_test - y_avg) ** 2)
    # 殘差平方和
    ss_res = np.sum((y_test - y_pred) ** 2)
    # R計(jì)算
    r2 = 1 - (ss_res / ss_tot)
    return r2

# 在測(cè)試集上預(yù)測(cè)
y_pred = np.dot(X_test, w) + b
# 計(jì)算測(cè)試集的MSE
print("測(cè)試集的MSE: {:.2f}".format(MSE(y_test, y_pred)))
# 計(jì)算測(cè)試集的R方系數(shù)
print("測(cè)試集的R2: {:.2f}".format(r2_score(y_test, y_pred)))

損失值隨訓(xùn)練次數(shù)的變化圖如下 可以看出符合肘部方法?

機(jī)器學(xué)習(xí)預(yù)測(cè)波士頓,機(jī)器學(xué)習(xí),1024程序員節(jié),python,matplotlib,機(jī)器學(xué)習(xí),線性回歸

?機(jī)器學(xué)習(xí)預(yù)測(cè)波士頓,機(jī)器學(xué)習(xí),1024程序員節(jié),python,matplotlib,機(jī)器學(xué)習(xí),線性回歸

?接下來(lái)可視化分析影響房?jī)r(jià)的因素

"""
各個(gè)字段的含義:
????CRIM?????犯罪率
????ZN???????住宅用地所占比例
????INDUS????城鎮(zhèn)中非商業(yè)用地所占比例
????CHAS?????是否處于查爾斯河邊
????NOX??????一氧化碳濃度
????RM???????住宅房間數(shù)
????AGE??????1940年以前建成的業(yè)主自住單位的占比
????DIS??????距離波士頓5個(gè)商業(yè)中心的加權(quán)平均距離
????RAD??????距離高速公路的便利指數(shù)
????TAX??????不動(dòng)產(chǎn)權(quán)稅
????PTRATIO??學(xué)生/教師比例
????B????????黑人比例
????LSTAT????低收入階層占比
????MEDV?????房?jī)r(jià)中位數(shù)
"""

可視化結(jié)果如下?

?機(jī)器學(xué)習(xí)預(yù)測(cè)波士頓,機(jī)器學(xué)習(xí),1024程序員節(jié),python,matplotlib,機(jī)器學(xué)習(xí),線性回歸

?機(jī)器學(xué)習(xí)預(yù)測(cè)波士頓,機(jī)器學(xué)習(xí),1024程序員節(jié),python,matplotlib,機(jī)器學(xué)習(xí),線性回歸

?機(jī)器學(xué)習(xí)預(yù)測(cè)波士頓,機(jī)器學(xué)習(xí),1024程序員節(jié),python,matplotlib,機(jī)器學(xué)習(xí),線性回歸

?可視化部分代碼如下

import  pandas as pd
import  numpy as np
import  seaborn as sns
import  matplotlib.pyplot as plt
df=pd.read_csv(boston_house_price.csv',encoding='utf-8')
print(df.head())
df.describe()
df['medv'].hist()
sns.boxplot(x=df['medv'])#有點(diǎn)問(wèn)題 要加個(gè)x傳參
plt.scatter(df['rm'],df['medv'])
def box_plot_outliers(df,s):
    q1,q3=df[s].quantile(0.25),df[s].quantile(0.75)
    iqr=q3-q1
    low,up=q1-1.5*iqr,q3+1.5*iqr
    df=df[(df[s]>up)|(df[s]<low)]
    return df
df_filter=box_plot_outliers(df,'rm')
df_filter.mean()

plt.scatter(df['dis'],df['medv'])
plt.scatter(df['rad'],df['medv'])
plt.scatter(df['b'],df['medv'])
df.corr()
plt.style.use({'figure.figsize':(15,10)})
df.hist(bins=15)
sns.boxplot(data=df)
plt.figure(figsize=(12,22))
for i in range(13):
    plt.subplot(4,4,(i+1))
    plt.scatter(df.iloc[:,i],df['medv'])
    plt.title('{}-price scatter'.format(df.columns[i]))
    plt.xlabel(df.columns[i])
    plt.ylabel('boston house price')
plt.show()
plt.tight_layout()

數(shù)據(jù)集和源碼請(qǐng)點(diǎn)贊關(guān)注收藏后評(píng)論區(qū)留下QQ郵箱或者私信文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-812623.html

到了這里,關(guān)于機(jī)器學(xué)習(xí)之利用線性回歸預(yù)測(cè)波士頓房?jī)r(jià)和可視化分析影響房?jī)r(jià)因素實(shí)戰(zhàn)(python實(shí)現(xiàn) 附源碼 超詳細(xì))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用線性回歸構(gòu)建波士頓房?jī)r(jià)預(yù)測(cè)模型

    使用線性回歸構(gòu)建波士頓房?jī)r(jià)預(yù)測(cè)模型

    波士頓房?jī)r(jià)數(shù)據(jù)集統(tǒng)計(jì)了波士頓地區(qū)506套房屋的特征以及它們的成交價(jià)格,這些特征包括周邊犯罪率、房間數(shù)量、房屋是否靠河、交通便利性、空氣質(zhì)量、房產(chǎn)稅率、社區(qū)師生比例(即教育水平)、周邊低收入人口比例等 。我們的任務(wù)是根據(jù)上述數(shù)據(jù)集建立模型,能夠預(yù)測(cè)房

    2023年04月14日
    瀏覽(44)
  • python-機(jī)器學(xué)習(xí)-波士頓房?jī)r(jià)回歸分析

    python-機(jī)器學(xué)習(xí)-波士頓房?jī)r(jià)回歸分析

    ????????以波士頓房?jī)r(jià)數(shù)據(jù)集為對(duì)象,理解數(shù)據(jù)和認(rèn)識(shí)數(shù)據(jù),掌握 梯度下降法 和 回歸分析 的初步方法,掌握 模型正則化 的一般方法,對(duì)回歸分析的結(jié)果解讀。 ????????波士頓房?jī)r(jià)數(shù)據(jù)集是20世紀(jì)70年代中期波士頓郊區(qū)房?jī)r(jià)的中位數(shù),統(tǒng)計(jì)了當(dāng)時(shí)城市的13個(gè)指標(biāo)與房?jī)r(jià)

    2024年02月06日
    瀏覽(21)
  • 機(jī)器學(xué)習(xí) 波士頓房?jī)r(jià)預(yù)測(cè) Boston Housing

    機(jī)器學(xué)習(xí) 波士頓房?jī)r(jià)預(yù)測(cè) Boston Housing

    目錄 一:前言 二:模型預(yù)測(cè)(KNN算法) 三:回歸模型預(yù)測(cè)比對(duì) 波士頓房?jī)r(jià) 是機(jī)器學(xué)習(xí)中很常用的一個(gè) 解決回歸問(wèn)題 的數(shù)據(jù)集 數(shù)據(jù)統(tǒng)計(jì)于1978年,包括506個(gè)房?jī)r(jià)樣本,每個(gè)樣本包括波士頓不同郊區(qū)房屋的13種特征信息, 比如:住宅房間數(shù)、城鎮(zhèn)教師和學(xué)生比例等 標(biāo)簽值是每棟

    2024年02月03日
    瀏覽(33)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)10-審查回歸算法(基于波士頓房?jī)r(jià)的數(shù)據(jù)集)

    上一節(jié)介紹了如何審查分類算法,并介紹了六種不同的分類算法,還 用同一個(gè)數(shù)據(jù)集按照相同的方式對(duì)它們做了審查,本章將用相同的方式對(duì)回歸算法進(jìn)行審查。 在本節(jié)將學(xué)到: 如何審查機(jī)器學(xué)習(xí)的回歸算法。 如何審查四種線性分類算法。 如何審查三種非線性分類算法。

    2024年02月11日
    瀏覽(20)
  • 【機(jī)器學(xué)習(xí)】P25 隨機(jī)森林算法(2) 實(shí)現(xiàn) “波士頓房?jī)r(jià)” 預(yù)測(cè)

    【機(jī)器學(xué)習(xí)】P25 隨機(jī)森林算法(2) 實(shí)現(xiàn) “波士頓房?jī)r(jià)” 預(yù)測(cè)

    隨機(jī)森林(Random Forest)算法 是一種 集成學(xué)習(xí)(Ensemble Learning)方法,它由多個(gè)決策樹(shù)組成,是一種分類、回歸和特征選擇的機(jī)器學(xué)習(xí)算法。 在隨機(jī)森林中,每個(gè)決策樹(shù)都是獨(dú)立地訓(xùn)練的,每棵樹(shù)的建立都是基于隨機(jī)選取的 特征子集 和隨機(jī)選取的 訓(xùn)練樣本集 。 在分類問(wèn)題

    2024年02月01日
    瀏覽(40)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)08-回歸算法矩陣分析(基于波士頓房?jī)r(jià)(Boston House Price)數(shù)據(jù)集)

    機(jī)器學(xué)習(xí)基礎(chǔ)08-回歸算法矩陣分析(基于波士頓房?jī)r(jià)(Boston House Price)數(shù)據(jù)集)

    回歸算法通常涉及到使用矩陣來(lái)表示數(shù)據(jù)和模型參數(shù)。線性回歸是最常見(jiàn)的回歸算法之一,它可以用矩陣形式來(lái)表示。 考慮一個(gè)簡(jiǎn)單的線性回歸模型: y = m x + b y = mx + b y = m x + b ,其中 y y y 是因變量, x x x 是自變量, m m m 是斜率, b b b 是截距。將這個(gè)模型表示成矩陣形式

    2024年02月14日
    瀏覽(29)
  • 機(jī)器學(xué)習(xí)---使用 TensorFlow 構(gòu)建神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)波士頓房?jī)r(jià)和鳶尾花數(shù)據(jù)集分類

    機(jī)器學(xué)習(xí)---使用 TensorFlow 構(gòu)建神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)波士頓房?jī)r(jià)和鳶尾花數(shù)據(jù)集分類

    1. 預(yù)測(cè)波士頓房?jī)r(jià) 1.1 導(dǎo)包 最后一行設(shè)置了TensorFlow日志的詳細(xì)程度: tf.logging.DEBUG :最詳細(xì)的日志級(jí)別,用于記錄調(diào)試信息。 tf.logging.INFO :用于記錄一般的信息性消息,比如訓(xùn)練過(guò)程中的指標(biāo)和進(jìn)度。 tf.logging.WARN :用于記錄警告消息,表示可能存在潛在問(wèn)題,但不會(huì)導(dǎo)致

    2024年02月08日
    瀏覽(24)
  • 多元線性回歸的python代碼實(shí)現(xiàn)(基于sklearn的波士頓房?jī)r(jià)boston數(shù)據(jù)集為例)

    基于sklearn自帶數(shù)據(jù)集波士頓房?jī)r(jià)數(shù)據(jù)集進(jìn)行多元線性回歸算法代碼實(shí)現(xiàn),其數(shù)據(jù)集包括13個(gè)特征向量,共計(jì)506個(gè)樣本集。 本文代碼實(shí)現(xiàn)步驟如下: 1. 獲取數(shù)據(jù)集 2. 數(shù)據(jù)集切分,老規(guī)矩,80%訓(xùn)練,20%測(cè)試 3. 數(shù)據(jù)預(yù)處理(本用例嘗試過(guò)歸一化處理,但發(fā)現(xiàn)效果不好,不是每一個(gè)

    2024年02月06日
    瀏覽(21)
  • 計(jì)算機(jī)視覺(jué)學(xué)習(xí)筆記(二)---傳統(tǒng)神經(jīng)網(wǎng)絡(luò)之波士頓房?jī)r(jià)預(yù)測(cè)

    計(jì)算機(jī)視覺(jué)學(xué)習(xí)筆記(二)---傳統(tǒng)神經(jīng)網(wǎng)絡(luò)之波士頓房?jī)r(jià)預(yù)測(cè)

    ??本文承接pytorch學(xué)習(xí)筆記(一),以波士頓房?jī)r(jià)預(yù)測(cè)為例演示利用pytorch搭建一個(gè)簡(jiǎn)單的傳統(tǒng)神經(jīng)網(wǎng)絡(luò) ??數(shù)據(jù)集為波士頓房?jī)r(jià)數(shù)據(jù),預(yù)測(cè)目標(biāo)為MEDV(標(biāo)簽),其余變量均為特征。由于是csv格式可以直接采用pandas包下的read_csv讀取 ??觀察到在輸入的數(shù)據(jù)中,有的特征普遍

    2024年02月04日
    瀏覽(26)
  • 基于回歸分析的波士頓房?jī)r(jià)分析

    基于回歸分析的波士頓房?jī)r(jià)分析

    項(xiàng)目實(shí)現(xiàn)步驟: 1.項(xiàng)目結(jié)構(gòu) 2.處理數(shù)據(jù) 3.處理繪圖 4.對(duì)數(shù)據(jù)進(jìn)行分析 5.結(jié)果展示 一.項(xiàng)目結(jié)構(gòu) 二.處理數(shù)據(jù) 使用sklearn的datasets時(shí),對(duì)應(yīng)的波士頓房?jī)r(jià)數(shù)據(jù)已經(jīng)被“移除”,在獲取數(shù)據(jù)時(shí),會(huì)出現(xiàn) ,此時(shí),在該提示的下方會(huì)有相關(guān)的解決方法 不建議使用提供的方法,對(duì)應(yīng)方法的

    2024年02月09日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包