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

基于回歸分析的波士頓房價分析

這篇具有很好參考價值的文章主要介紹了基于回歸分析的波士頓房價分析。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

基于回歸分析的波士頓房價分析

項目實現(xiàn)步驟:
1.項目結構
2.處理數(shù)據
3.處理繪圖
4.對數(shù)據進行分析
5.結果展示
一.項目結構
基于回歸分析的波士頓房價分析
二.處理數(shù)據

from sklearn import datasets
import pandas as pd

"""
sklearn1.2版本后不在保留load_boston數(shù)據集,
可用
"""
def get_data():
    # 獲取波士頓數(shù)據
    # data_url = "http://lib.stat.cmu.edu/datasets/boston"
    # raw_df = pd.read_csv(data_url, sep="\s+", skiprows=22, header=None)
    # print(raw_df)
    # # 輸入
    # boston_x = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])
    # # 輸出
    # boston_y= raw_df.values[1::2, 2]
    # # 自作數(shù)據集
    # boston=pd.DataFrame(boston_x)
    # print(boston)
    boston=datasets.load_boston()
    # 輸入
    boston_x=boston.data
    # 輸出
    boston_y=boston.target
    # 自制數(shù)據集
    boston_new=pd.DataFrame(boston_x)
    boston_new.columns=boston["feature_names"]
    boston_new['PRICE']=boston_y
    # 保存數(shù)據
    # boston_new.to_csv('./models/Data/boston.csv')
    return boston_new

使用sklearn的datasets時,對應的波士頓房價數(shù)據已經被“移除”,在獲取數(shù)據時,會出現(xiàn)
基于回歸分析的波士頓房價分析
,此時,在該提示的下方會有相關的解決方法
基于回歸分析的波士頓房價分析
不建議使用提供的方法,對應方法的數(shù)據與具體實現(xiàn)項目的數(shù)據有誤差
三.處理繪圖
1.繪圖前準備

import numpy as np
def get_request(request,data):
    # 要處理的數(shù)據
    # 設置初始值
    control={
        'CRIM':'城鎮(zhèn)人均犯罪率',
        'ZN':'占地面接超過5萬平方米英尺的住宅用地面積',
        'INDUS':'城鎮(zhèn)非零售業(yè)務的比例',
        'CHAS':'查爾斯河虛擬變量',
        'NOX':'一氧化碳濃度',
        'RM':'平均每個居民擁有的房數(shù)',
        'AGE':'在1940年前建成的所有者占用單位的比例',
        'DIS':'與五個波士頓就業(yè)中心的加權距離',
        'TAX':'每10000美元的全額物業(yè)說率',
        'PTRATIO':'城鎮(zhèn)師生比',
        'B':'城鎮(zhèn)黑人比例',
        'LSTAT':'低收入人口所占比例',
        'PRICE':'房價'
    }
    if request in control.keys():
        # 獲取價格的最大值和最小值
        max=np.max(data['PRICE'])
        min=np.min(data['PRICE'])
        # 存儲最大值和最小值,對應的x軸標簽,y軸的標簽
        request_data=list((max,min,control[request],control['PRICE']))
        return request_data
    else:
        print('你輸入的數(shù)據不存在,請查看相關的文檔,查看你想要的數(shù)據類型')

用于處理繪圖前的準備工作,獲取對應的數(shù)據和標簽
繪圖

import matplotlib
import matplotlib.pyplot as plt
from models.chart.beforedraw import beforedraw
from models.CleanData.resolvedata import resolve_data
# 畫圖類
class draw:
    def __init__(self,request):
        self.data=resolve_data.get_data()
        matplotlib.rc('font',family='SimHei')
        plt.rcParams['axes.unicode_minus']=False
        before_draw=beforedraw.get_request(request,self.data)
        self.x_ticks_max=before_draw[0]
        self.x_ticks_min=before_draw[1]
        self.x_label=before_draw[2]
        self.y_label=before_draw[3]
        self.request=request
    def draw_sactter(self):
        plt.scatter(self.data['PRICE'],self.data[self.request])
        plt.title(f'{self.x_label}與{self.y_label}的散點圖')
        plt.xlabel(self.x_label)
        plt.ylabel(self.y_label)
        plt.xticks((range(int(self.x_ticks_min),int(self.x_ticks_max),10)))
        plt.grid()
        plt.show()
    def draw_polt(self,title,x_data,y_data,x_label=None,y_label=None):
        plt.plot(x_data,y_data)
        plt.title(title)
        plt.xlabel(x_label)
        plt.ylabel(y_label)
        plt.show()
    def draw_bar(self,title,x_data,y_data,x_label=None,y_label=None):
        plt.bar(x_data,y_data)
        plt.title(title)
        plt.xlabel(x_label)
        plt.ylabel(y_label)
        plt.show()

將繪圖封裝成類,便于后期的繪圖
四.對數(shù)據進行分析
分別實現(xiàn)房價與各參數(shù)的線性回歸分析,繪制出房價的預測值;蠶蛹邏輯回歸分析,對是否居住在河邊進行邏輯回歸分析

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from sklearn.model_selection import train_test_split
from models.CleanData.resolvedata import resolve_data
from models.chart.draw import draw

from sklearn.preprocessing import StandardScaler
from sklearn.impute import SimpleImputer
from sklearn.linear_model import LinearRegression

# 回歸/分類模型的評價方法
from sklearn.metrics import mean_squared_error  #MSE
from sklearn.metrics import mean_absolute_error #MAE

# 分類
from sklearn.linear_model import LogisticRegression
class Learning():
    def __init__(self):
        self.data=resolve_data.get_data()
        self.values=self.data.values
        self.columns=self.data.columns
        self.x_train = ''
        self.x_test = ''
        self.y_train = ''
        self.y_test = ''
        self.train_test_split_linear()
        self.draw=draw.draw("ZN")
        self.fill_nan()
        self.log()
    # 切分數(shù)據集
    def train_test_split_linear(self):
        self.x_train,self.x_test,self.y_train,self.y_test=train_test_split(self.values[:,0:-1],self.values[:,-1],test_size=0.2)
    # 彌補缺失值
    def fill_nan(self,):
        if sum(self.data.isnull().sum())!=0:
            simple_imp=SimpleImputer(missing_values=np.nan,strategy='mean')
            self.data=simple_imp.fit(self.data)
        self.standard_scaler()
    # 歸一化
    def standard_scaler(self):
        scaler=StandardScaler()
        # fit_transform()一般用于訓練集,transform一般用于測試集
        self.x_train=scaler.fit_transform(self.x_train)
        self.x_test=scaler.transform(self.x_test)
        self.linear()
    # 線性回歸
    def linear(self):
        linear=LinearRegression()
        self.models_1=linear.fit(self.x_train,self.y_train)
        # 對模型進行打分
        # print(self.models.score(self.x_test,self.y_test))
        self.linear_metrics()

    def linear_metrics(self):
        # MSE均方誤差
        linear_MSE=mean_squared_error(self.y_train,self.models_1.predict(self.x_train))
        # RMSE均方根誤差  MSE的開方
        linear_RMSE=mean_squared_error(self.y_train,self.models_1.predict(self.x_train))**0.5
        # MAE平均絕對誤差
        linear_MAE=mean_absolute_error(self.y_train,self.models_1.predict(self.x_train))
        # 誤差
        print(f'MSE均方誤差:{linear_MSE},RMSE均方根誤差{linear_RMSE},MAE平均絕對誤差{linear_MAE}')
        # 房價預測值
        self.draw.draw_polt("房價預測值",np.linspace(0,100,102),self.models_1.predict(self.x_test))

    # 分類
    def log(self):
        # 測試集
        x_log_l=self.values[:,0:1]
        x_log_r=self.values[:,4:]
        y_log=self.values[:,3]
        x_log=np.hstack((x_log_l,x_log_r))
        log=LogisticRegression()
        x_train,x_test,y_train,y_test=train_test_split(x_log,y_log,test_size=0.3)
        models_2=log.fit(x_train,y_train)
        # 預測值
        print(x_test,models_2.predict(x_test))
        # 評分
        print(models_2.score(x_test,y_test))
        # 權重
        print(models_2.coef_)
        self.draw.draw_polt("權重圖",np.linspace(0.1,0.9,11),models_2.coef_[0],'','')
        one_array=[]
        zero_array=[]
        for item in models_2.predict(x_test):
            if item==0:
                zero_array.append(item)
            else:
                one_array.append(item)
        self.draw.draw_bar("預測值計較",['0','1'],[len(zero_array),len(one_array)])

五.結構展示
線性回歸的誤差分析結果
基于回歸分析的波士頓房價分析
線性回歸的房價預測
基于回歸分析的波士頓房價分析
邏輯回歸的權重圖
基于回歸分析的波士頓房價分析
邏輯回歸的預測圖
基于回歸分析的波士頓房價分析
在邏輯回歸中,各闡述對于是否居住于河邊的影響大,對應的評分在80%以上

項目完成?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-487916.html

到了這里,關于基于回歸分析的波士頓房價分析的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 機器學習之利用線性回歸預測波士頓房價和可視化分析影響房價因素實戰(zhàn)(python實現(xiàn) 附源碼 超詳細)

    機器學習之利用線性回歸預測波士頓房價和可視化分析影響房價因素實戰(zhàn)(python實現(xiàn) 附源碼 超詳細)

    數(shù)據集和源碼請點贊關注收藏后評論區(qū)留下QQ郵箱或者私信 線性回歸是利用最小二乘函數(shù)對一個或多個因變量之間關系進行建模的一種回歸分析,這種函數(shù)是一個或多個稱為回歸系數(shù)的模型參數(shù)的線性組合。只有一個變量的稱為一元回歸,大于一個變量的情況叫做多元回歸。

    2024年01月21日
    瀏覽(28)
  • 多元線性回歸的python代碼實現(xiàn)(基于sklearn的波士頓房價boston數(shù)據集為例)

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

    2024年02月06日
    瀏覽(21)
  • 機器學習(線性回歸實訓)------波士頓房價

    機器學習(線性回歸實訓)------波士頓房價

    1.機器學習 機器學習是人工智能 (AI)?和計算機科學的分支,專注于使用數(shù)據和算法來模仿人類學習的方式,逐漸提高其準確性。機器學習是不斷成長的數(shù)據科學領域的重要組成部分。 通過使用統(tǒng)計方法,對算法進行訓練,以進行分類或預測,揭示數(shù)據挖掘項目中的關鍵洞察

    2024年02月06日
    瀏覽(26)
  • 實驗 09 線性回歸與波士頓房價預測

    實驗 09 線性回歸與波士頓房價預測

    掌握機器學習的基本概念 掌握線性回歸的實現(xiàn)過程 應用LinearRegression實現(xiàn)回歸預測 知道回歸算法的評估標準及其公式 知道過擬合與欠擬合的原因以及解決方法 Jupter Notebook 人們在生活中經常遇到分類與預測的問題,目標變量可能受多個因素影響,根據相關系數(shù)可以判斷影響因

    2024年02月11日
    瀏覽(29)
  • 使用線性回歸構建波士頓房價預測模型

    使用線性回歸構建波士頓房價預測模型

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

    2023年04月14日
    瀏覽(44)
  • 機器學習與深度學習——使用paddle實現(xiàn)隨機梯度下降算法SGD對波士頓房價數(shù)據進行線性回歸和預測

    機器學習與深度學習——使用paddle實現(xiàn)隨機梯度下降算法SGD對波士頓房價數(shù)據進行線性回歸和預測

    隨機梯度下降(SGD)也稱為增量梯度下降,是一種迭代方法,用于優(yōu)化可微分目標函數(shù)。該方法通過在小批量數(shù)據上計算損失函數(shù)的梯度而迭代地更新權重與偏置項。SGD在高度非凸的損失表面上遠遠超越了樸素梯度下降法,這種簡單的爬山法技術已經主導了現(xiàn)代的非凸優(yōu)化。

    2024年02月03日
    瀏覽(32)
  • python 波士頓房價預測

    python 波士頓房價預測

    數(shù)據集地址:Index of /ml/machine-learning-databases/housing (uci.edu) 數(shù)據集中共有506條樣本數(shù)據,每條樣本包含了13個影響房價的特征。 數(shù)據集格式 np.fromfile()? 讀取數(shù)據沒有數(shù)據類型和數(shù)據的形狀。所以這里使用了data.reshape()重新變換成原始的形狀。 (7084,) (506, 14) (14,) [6.320e-03 1.800e+

    2023年04月08日
    瀏覽(26)
  • paddle實現(xiàn)波士頓房價預測任務

    要點: 參考官方案例 飛槳PaddlePaddle-源于產業(yè)實踐的開源深度學習平臺 1 加載飛槳框架的相關類庫 飛槳支持兩種深度學習建模編寫方式,更方便調試的動態(tài)圖模式和性能更好并便于部署的靜態(tài)圖模式。 動態(tài)圖模式(命令式編程范式,類比Python):解析式的執(zhí)行方式。用戶無

    2023年04月14日
    瀏覽(30)
  • 波士頓房價數(shù)據集怎么不見了?

    波士頓房價數(shù)據集怎么不見了?

    ?做線性回歸的同學大概率會用到一個數(shù)據集,即波士頓房價數(shù)據集,然而當你從sklearn下載該數(shù)據集時,你會驚訝地發(fā)現(xiàn)居然下載不了了?。?!起初我以為是什么別的原因導致數(shù)據集可能被收回了,結果當我看到一篇文章就感覺,算了不做評價,參見這篇文章 消失的波士頓

    2024年02月05日
    瀏覽(22)
  • 機器學習 波士頓房價預測 Boston Housing

    機器學習 波士頓房價預測 Boston Housing

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

    2024年02月03日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包