python(预测房价)

一.# 计算面积和房价之间的关系

import numpy as np
import matplotlib.pyplot as plt

# 构建数据集
data = []
# (70-90,90-100,100-110,110-130)
for i in range(300):
    area = np.random.uniform(60,100)  
    eps2 = np.random.uniform(60,62)
    eps3 = np.random.uniform(200., 700.)
    # 房价(标签)
    price = eps2 * area + eps3  
    data.append([area, price])
data=np.array(data)  # 数据集创建完毕 2维数组 [面积,房价]

# 将参数分出来方便之后的使用
area = data[:,0]
price = data[:,1]
# 绘制原始数据
plt.title("Area-Price")  # 标题
plt.scatter(area, price,s=10)  # 散点图
plt.xlabel("area")  # x轴
plt.ylabel("price")  # y轴
plt.show()#绘制
loss_list = []

def mse(b, w, data): 
    TotalError=0  
    for i in range(0, len(data)):
        x = data[i, 0]
        y = data[i, 1]
        TotalError += (y - (w*x+b)) ** 2
    return TotalError / float(len(data))

def gradient_update(b, w, data, lr):
    b_gradient = 0
    w_gradient = 0
    size = float(len(data))
    for i in range(0, len(data)):
        x = data[i, 0]
        y = data[i, 1]
        # 计算梯度
        b_gradient += (2 / size) * ((w * x + b) - y)
        w_gradient += (2 / size) * x * ((w * x + b) - y)
    # 根据梯度更新权重和偏置
    b -= lr * b_gradient
    w -= lr * w_gradient
    return [b,w]

# 梯度下降法
def gradient_descent(data, b, w, lr, num_iterations):
    # 因为没有batch,所以num_iterations即为epoch
    for num in range(num_iterations):
        # 更新参数
        b,w = gradient_update(b, w, data, lr)
        # 计算损失值并添加到损失列表
        loss = mse(b, w, data)
        loss_list.append(loss)
        print('iteration:[%s] | loss:[%s] | w:[%s] | b:[%s]'%(num,loss,w,b))
    return [b,w]
    
 def main():
     lr = 0.00001
    initial_b = np.random.randn(1)
    initial_w = np.random.randn(1)
    num_iterations = 100  # 因为没有batch,所以num_iterations即为epoch
    [b,w] = gradient_descent(data,initial_b,initial_w,lr,num_iterations)
    loss = mse(b,w,data)
    print('Final loss:[%s] | w:[%s] | b:[%s]'%(loss,w,b))
#损失函数
    plt.title("Loss Function")  # 标题
    plt.plot(np.arange(0,100), loss_list)
    plt.xlabel('Interation')
    plt.ylabel('Loss Value')
    plt.show()
    # 绘制
    y2 = w * area + b
    print(w * 100 + b)
    plt.title("Fit the line graph")  # 标题
    plt.scatter(area, price,label='Original Data',s=10)  # 设置为散点图
    plt.plot(area,y2,color='Red',label='Fitting Line',linewidth=2)
    plt.xlabel('m_j')
    plt.ylabel('j_g')
    plt.legend()
    plt.show()
main()

二.代码结果模型

 预测房价的总模型

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37490.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python数据分析-房价预测及模型分析

摘 要 Python数据分析-房价的影响因素图解https://blog.csdn.net/weixin_42341655/article/details/120299008?spm1001.2014.3001.5501 上一篇OF讲述了房价的影响因素,主要是房屋面积、卫生间数、卧室数。今天,我们通过建立模型来预测房价。机器学习中…

基于Python实现对房价的预测

资源下载地址:https://download.csdn.net/download/sheziqiong/85706440 资源下载地址:https://download.csdn.net/download/sheziqiong/85706440 基于Python的房价预测项目 波士顿房价预测 数据集描述 本作品所用数据是一份源于美国某经济学杂志上&…

基于线性回归的房价预测分析

一、分析问题 尝试使用线性回归模型分析波士顿房价数据集,达到可通过房子属性(X)预测房价(y)的效果。 二、获取数据 sklearn.datasets中自带的load_boston数据集。 三、数据探索 1、数据探索 #导入所有可能需要用…

2--Kaggle: 房价预测

2.1 数据导入 首先在Kaggle网站进行注册(如不想参加比赛也许可以不用注册) 比赛地址:House Prices - Advanced Regression Techniques | Kaggle 这里有两种方法将数据放在colab上使用,第二种是直接本地下载后上传到Goole硬盘后&…

数据正态分布化 + 基于回归算法的房价预测(含python代码)

本文用到的美国房屋数据,数据介绍详见我的上一篇文章: 链接:https://pan.baidu.com/s/1wrkzFF87A_Emgid_s7K3aA提取码:2j77 内含两个文件: data_train.csv:训练集数据,包含房价等81个指标&…

Kaggle--房价预测

房价预测 目录 一、认识数据二、定性分析 2.1 属性的意义2.2 属性分析 三、缺失值处理 3.1 缺失值举例3.2 缺失值统计3.3 填充缺失值3.4 格式转换 四、特征分析 4.1 房价分析4.2 房价属性的关系4.3 相关性4.5 特征选取 五、回归前的准备 5.1 特征向量化5.2 测试集预处理 六、回…

基于python的房价可视化预测系统

资源下载地址:https://download.csdn.net/download/sheziqiong/86774405 资源下载地址:https://download.csdn.net/download/sheziqiong/86774405 基于python实现的房价的可视化预测系统 目录 面向用户(买房者、卖房者) 1 面向开发者(数据挖…

chatgpt赋能python:Python抓取数据:从入门到精通

Python抓取数据:从入门到精通 如果你是一名数据分析师或者工程师,那么你一定要学会使用Python抓取数据。Python是一门简单易学、功能强大的编程语言,它具有丰富的第三方库和工具,使得数据抓取变得非常简单。 本篇文章将从入门到…

chatgpt赋能python:Python抓取网络数据的终极指南

Python抓取网络数据的终极指南 随着互联网的迅速发展,抓取网络数据成为了许多公司和个人用Python进行数据分析、机器学习等任务不可或缺的技能。本文将介绍如何使用Python抓取网络数据。 什么是网络抓取? 网络抓取是指通过网络爬虫程序,自…

chatgpt赋能python:Python如何获取数据:从基础到实战

Python 如何获取数据:从基础到实战 Python 是数据科学、机器学习领域的重要工具之一,如何获取数据是使用 Python 的重要一步。在本文中,我们将介绍从基础到实战 Python 如何获取数据。 1. 爬虫 1.1 爬虫的作用 爬虫是一种自动获取网站信息…

富人越富,穷人越穷,我为什么反对PoS

作者 | Hugo Nguyen 编译 | Guoxi 据摩根士丹利年初报告,2017年比特币挖消耗的电力与中东国家卡塔尔年耗电相当,预计2018年的电力需求可能会达到2017年的三倍以上。 大量的电力消耗也带来了很多争议,很多人都尝试在保证安全性的前提下改进共…

低成本开源聊天机器人Vicuna:可达到ChatGPT/Bard 90%以上水平

出品 | OSC开源社区(ID:oschina2013) 大型语言模型 (LLM) 的快速发展彻底改变了聊天机器人系统,从而实现了前所未有的智能水平,譬如 OpenAI 的 ChatGPT。但 ChatGPT 的训练和架构细节仍不清楚,阻碍了该领域的研究和开源…

看看你经常是穷人的思维还是富人的思维:

1、自我认知 穷人:很少想到如何去赚钱和如何才能赚到钱,认为自己一辈子就该这样,不相信会有什么改变。 富人:骨子里就深信自己生下来不是要做穷人,而是要做富人,他有强烈的赚钱意识,这也是他血液…

如何解决电脑所有浏览器都访问不了,但是微信qq都能上的问题

微信能上,但是浏览器用不了, 什么原因呢,一开始以为是学校检测到自己的路由器了,然后开始疯狂倒腾路由器,不断重启,不断重置密码,后来发现都不起作用....................... 从一开始自己就没有想到是配置的问题,因为浏览器是突然就不能用的,自己又没动过电脑的设置,避开了这…

网络正常,qq、微信等其他能正常使用但浏览器无法打开网页

最近遇到电脑网络正常,除了所有浏览器(360、ie、chrome、搜狗等等)无法打开网页,qq、微信以及爱奇艺等其他连网软件都可以正常使用。 如图: 这样的原因一般是你之前使用了代理服务器了,比如使用电脑开wifi、墙了。之后电脑没有自动修改回来,所以才导致这样。 解决方法…

Chrome无法访问网页(在此情况下,Firefox可以访问网页,QQ可以上网)

Chrome无法访问网页 已尝试以下方法: 重置Chrome,恢复原始设置(有些插件可能会导致无法正常打开网页,类似各种梯子),无效在cmd上使用netsh winsock reset,重启电脑,无效使用QQ管家修复功能&am…

qq、微信能打开,网页打不开的解决办法。

昨天下载了VS2022之后。就一直打不开B站,坚信是我自己的我问题。今早还打不开,然后搜了很多办法,原理是那个原理,但是奈何无法成功实践,请教了实验室同学后,终于解决。具体流程如下: 我是 win1…

电脑能打开微信,但是访问不了百度,打不开网页,打不开浏览器!

电脑能打开微信,但是访问不了百度,打不开网页,打不开浏览器! 返回导航页问题现象:解决方案:方案一:方案二: 返回导航页 返回导航页 问题现象: 电脑能打开微信&#xff…

QQ、微信可以正常访问通讯,浏览器无法打开网页

问题描述 电脑网络异常,除了浏览器(360、chrome、搜狗等等)无法打开网页,qq、微信等其他连网软件都可以正常使用。 问题分析 出现这样的原因一般是之前设置了代理服务器,后续没有关闭,导致浏览器还是走代…

大模型新势力:IDEA研究院张家兴入局创业,沈向洋任顾问,首轮估值20亿

衡宇 发自 凹非寺量子位 | 公众号 QbitAI 大模型创业江湖,又来了两位重磅大牛。 张家兴,粤港澳大湾区数字经济研究院(IDEA研究院)讲席科学家、认知计算与自然语言中心负责人,被曝已经启动了创业项目,而他站…