Python数据分析之房价预测

学习数据分析的第一次练手项目。从网上爬取关于房价的相关数据属性来分析房价,并且基于一些属性来预测房价,使用的是网格搜索算法。相关的数据文件和完整代码可以从文末获取。

GridSearchCV介绍:
能够系统地遍历多种参数组合,通过交叉验证确定最佳效果参数;他能够自动调参,只要把参数输进去,就能给出最优化的结果和参数,适合于小数据集。
一、需要的相关库:
(1)numpy (2)pandas (3)matplotlib (4)seaborn (5)scikit-learn
以上所有库都能通过 pip下载,在用之前要先去看看官方API,英文看不懂可以去菜鸟教程看看。
二、代码部分:
(一)提取所需属性保存到CSV中
将房价数据文件中的price、bedrooms、sqft_living、grade这几列提取到另一个新的CSV中保存,方便后续的进行:

plt.style.use("fivethirtyeight")
sns.set_style({'font.sans_serif':['simhei','Arial']}) 	#转换字体#提取所需数据保存到CSV中
def get_data():with open('house_price_data.csv','rt') as f1:f = open('./house_price.csv', 'wt', encoding='utf-8',newline='')df = pd.read_csv('./house_price_data.csv', usecols=['price', 'bedrooms', 'sqft_living', 'grade'])df.to_csv('./house_price.csv')f.close()f1.close()
(二)数据分析并实现可视化
绘制属性之间的可视化图表,通过图表直观展示属性值对于房价的影响程度。在绘制之前先看数据完整程度,是否需要进行特征工程将缺失值、异常值数据处理好。(tip:这里没有进行特征工程,会影响后面的建模预测)
def data_analyse():df=pd.read_csv('./house_price.csv')#df.info()	#检查数据缺失值情况#房价与室内面积关系的可视化f,[ax1,ax2]=plt.subplots(1,2,figsize=(20,5))sns.distplot(df['sqft_living'],bins=20,ax=ax1,color='r')sns.kdeplot(df['sqft_living'],shade=True,ax=ax1)sns.regplot(x='sqft_living',y='price',data=df,ax=ax2)plt.show()#房价与卧室个数关系的可视化f,[ax1,ax2]=plt.subplots(1,2,figsize=(20,8))sns.barplot(x='bedrooms',y='price',data=df,ax=ax1)#房价与grade关系的可视化图sns.barplot(x='grade',y='price',data=df,ax=ax1)plt.show()#绘制多变量之间的对比关系图sns.pairplot(df,vars=('price','sqft_living','grade','bedrooms'))plt.show()

绘制出来的图表:

居室面积与房价的关系

图1 居室面积与房价的关系图

在这里插入图片描述

图2 卧室个数、等级与房价的关系图

在这里插入图片描述

图3 各属性关系散点图
三、数据划分
划分数据为两部分,分别为训练数据和测试数据,可以自己控制训练数据多少,这里训练数据为70%,剩余30%用于测试。

data=pd.read_csv('./house_price.csv')
columns=['bedrooms','sqft_living','grade','price']
data=pd.DataFrame(data,columns=columns)			#重新摆放位置
prices=data['price']
features=data.drop('price',axis=1)
features=np.array(features)
prices=np.array(prices)
features_train,features_test,prices_train,prices_test=train_test_split(features,prices,test_size=0.3,random_state=0)
四、建立模型计算R2分数
用网格搜索算法建立模型,通过交叉验证对参数空间进行求解,寻找最佳的参数。

#建立模型
def fit_model(X,y):cross_validator=KFold(n_splits=10,shuffle=True)regressor=DecisionTreeRegressor()params={'max_depth':range(1,11)}scoring_fnc=make_scorer(performance_metric)grid=GridSearchCV(estimator=regressor,param_grid=params,scoring=scoring_fnc,cv=cross_validator)grid=grid.fit(X,y)return grid.best_estimator_#计算R2分数
def performance_metric(y_true,y_predict):score=r2_score(y_true,y_predict)return score
五、获取最优模型并预测房价
获取到的score仅为0.61,准确度不是很高,可能原因是没有对缺失异常值进行处理,没有进行调参。

#获得最优模型
optimal_reg=fit_model(features_train,prices_train)
print("最理想模型的参数‘max_depth’是{}".format(optimal_reg.get_params()['max_depth']))
predicted_value=optimal_reg.predict(features_test)
r2=performance_metric(prices_test,predicted_value)
print("最优模型在测试数据上R^2分数{:,.2f}".format(r2))#房价预测
client_data=[[3,1200,8],[4,720,8],[5,2310,7]]
predicted_price=optimal_reg.predict(client_data)
for i,price in enumerate(predicted_price):print("第{}位客户,根据您输入的信息预测到的房价为:¥{:,.2f}".format(i+1,price))

最后显示的结果为:
在这里插入图片描述
所需CSV数据及完整代码地址:https://github.com/songtown/data_Analysis

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

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

相关文章

台北房价预测

目录 1.数据理解1.1分析数据集的基本结构,查询并输出数据的前 10 行和 后 10 行1.2识别并输出所有变量 2.数据清洗2.1输出所有变量折线图2.2缺失值处理2.3异常值处理 3.数据分析3.1寻找相关性3.2划分数据集 4.数据整理4.1数据标准化 5.回归预测分析5.1线性回归&…

某地房价预测

房价预测 任务目标:预测未来的房价 处理步骤 导入数据集,进行数据质量分析与数据清洗;数据特征分析(分布分析、统计量分析、相关性分析);特征工程(特征降维、特征选择)&#xff1…

房价预测数据集 (KAGGLE)

文章目录 引入1 库引入2 数据处理完整代码 引入 KAGGLE房价预测数据集分为训练集和测试集。两个数据集都包括每栋房子的特征,如街道类型、建造年份、房价类型等特征。特征值有连续的数字、离散的标签、缺失值 (na)等。   训练集与测试集的区别在于:只有…

案例:房价预测模型

案例目标:根据房子特征,预测某房房价,选出最优模型。 主要步骤: 1. 数据清洗。数据分类,缺失值和异常值处理。 2. 特征分析。统计量分析和相关性分析。 3. 特征工程。特征选择和特征融合。 4. 模型构建。特征标准…

房价预测模型

目录 1.模型目标 预测某一区域的房价中位数 2.选择框架 有监督学习任务:训练集中的每个实例都有标签(该区域的房价中位数)回归任务:因为你要对某个值进行预测。更具体地说,这是一个多重回归问题,因为系统要使用多个特征进行预…

房屋价格预测

机器学习——房屋价格预测 点击链接查看文档代码 一.项目概述及计划 项目背景 :影响房屋价格的因素众多,如房屋面积、房屋层数、配套设施等等。 项目要求 :利用竞赛提供的数据,通过分析影响房屋价格的诸多因素来对房…

数据分析项目——深圳二手房价分析及价格预测

目录 一、需求说明 1.1基本任务 1.2 任务目的 1.3测试数据 二、概要设计说明 三、详细设计 3.1 数据检测模块 3.2 因变量分析模块 3.3 自变量分析模块 3.4 可视化模块 3.5 建立预测模型模块 3.6预测模块 一、需求说明 深圳二手房数据分析及价格预测的总体目标&#xff1a…

波士顿房价预测(终版讲解)

代码段分四个部分:库的引入、加载数据(函数)、配置网络结构(类)、运行部分(获取数据,创建网络,启动训练,作图) 我的是基础版,库只用到了numpy和ma…

基于大数据的房价数据可视化分析预测系统

温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目背景 房地产是促进我国经济持续增长的基础性、主导性产业,二手房市场是我国房地产市场不可或缺的组成部分。由于二手房的特殊性,目前市场上实时监测二手房市场房价涨幅的…

Kaggle房价预测详解

Kaggle房价预测详解 1.导入数据2.查看各项主要特征与房屋售价的关系查看中央空调与售价关系查看装修水平与房价关系查看建造日期与售价关系不同地段与房价关系查看地皮面积与房价关系查看地下室总面积与房价关系查看关联性 3.训练集数据预处理训练数据预处理创建机器学习模型得…

数据集:波士顿地区房价预测

数据集:波士顿地区房价预测 数据集下载地址 本文以线性回归模型预测为主 1. 数据集说明 变量名变量描述CRIM城镇人均犯罪率ZN住宅地超过25000平方英尺的比例INDUS城镇非零售商用土地的比例CHAS查理斯河空变量(如果边界是河流,则为1&#x…

AI for Science的上半场:人工智能如何重新定义科学研究新范式?

AI发展七十余年,每一技术性突破都将给人类未来开辟新一种可能性。而它与科学研究的深度融合,则会裂变出无数或无穷种可能性。 来源 :36氪 万众瞩目下,今年10月,有着诺贝尔奖“嫡传”之称的诺贝尔化学奖终于揭晓,授予了…

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用 1. NVIDIA医疗领域AI计算平台——NVIDIA CLARA2. NVIDIA CLARA医学影像子平台——MONAI3. NVIDIA CLARA医疗设备子平台——Holoscan4. NVIDIA基因组学解决方案Parabricks5. NVIDIA药物研发解决方案6. 个人思…

GTC 2023 万字纪要 | Don‘t Miss This Defining Moment in AI

「Don’t Miss This Defining Moment in AI」 「切勿错过 AI 的决定性时刻」 北京时间 2023 年 3 月 21 日 23:00,「皮衣刀客」黄教主在 GTC 2023 发表主题如上的 Keynote 演讲,并称「这将是我们迄今为止最重要的一次 GTC」,NVIDIA官方 Twi…

「国际科技信息中心SCITIC论坛」细胞,基因和人工智能:探索医学研究的未来...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 随着科技的不断进步,我们现在拥有了许多前所未有的工具和技术,可以更深入地研究和了解人体内部的细胞和基因。人工智能技术的发展,也为医学研究带来了全新的机遇。例如&#…

明天10:00「国际科技信息中心SCITIC论坛」细胞,基因和人工智能:探索医学研究的未来...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 随着科技的不断进步,我们现在拥有了许多前所未有的工具和技术,可以更深入地研究和了解人体内部的细胞和基因。人工智能技术的发展,也为医学研究带来了全新的机遇。例如&#…

Nat. Biotechnol. | 生成式AI在生物科学领域发展迅速

在过去的一年中,人工智能迎来了突破性的技术,它们来自OpenAI的DALL-E2和ChatGPT。 Link: https://openai.com/dall-e-2 Link: https://openai.com/blog/chatgpt 或许你在网络上已经或多或少了解了一些,甚至已经在无意中使用过了这些技术所带来…

OpenAI新模型惊艳了!对话问答能力逆天

编|昕朋 Aeneas源|新智元 OpenAI新模型来了!全新对话模型ChatGPT,可以回答用户问题,还能挑出问题的错误之处。面对不懂的问题,还会承认错误并拒绝回答! 当人们翘首期待GPT-4时,OpenA…

买股不如买基?Python实现快速追踪基金的收益情况!谁还不是个买基高手?

​ 大家知道,近几年,不少同学都是经由基金进入到股市中的。去年就很流行“买股不如买基”的说话,至于股票和基金到底谁更好,这个仁者见仁智者见智,恐怕一时半会儿也说不清楚。 今天,阳哥给大家分享的主题是…

研报精选230505

目录 【行业230505国信证券】风电or电网产业链周评(4月第5周):海风开发资源集中释放,黑色类原材料价格持续下行 【行业230505天风证券】通信AI系列之:人工智能之火点燃算力需求,AI服务器迎投资机遇 【行业2…