预测分析·民宿价格预测


赛题&数据

赛题

民宿这一名词,是日语中“Minshuku”的音译。我国第一部关于民宿的旅游行业标准《旅游民宿基本要求与评价》已从2017年10月1日起开始实施,该标准定义:民宿是利用当地闲置资源,民宿主人参与接待,为游客提供体验当地自然、文化与生产生活方式的小型住宿设施。

2019年4月,Trustdata公布了《2019年中国在线民宿预订行业发展研究报告》,报告中公布的数据显示,2016-2019年,受旅游消费人数的增加及需求的拉动,在线民宿房源数和房东数同比增加,其中至2018年我国在线民宿的房源数达到107.2万个,而房东数达到32.5万个,初步核算,平均一个房东拥有3.3个民宿房源,较2016年每人约2个民宿房源数实现了明显的增加。

近年来,用于房东或者户主将闲置房产变为私人住宿服务已变得流行。在私人住宿中,业主根据房间的大小和位置来决定住宿价格,但要设定合理的价格并不容易。因此,在本次练习赛旨在引导我们尝试建立一个模型,该模型使用某私人住宿在线服务平台上发布的房地产数据来预测住宿价格。

数据说明

本次练习赛所使用数据集基于民宿价格数据集,并且针对部分字段做出了一定的调整,所有的字段信息请以本练习赛提供的字段信息为准
字段信息内容参考如下:

字段名 数据类型 字段描述
数据ID string 数据的唯一ID,比如test_0,train_1024
容纳人数 int 房间可以允许住几个人
便利设施 string 房间提供的便利设施描述,如是否有电视空调
洗手间数量 float 洗手间的数量
床的数量 int 房间内床的个数
床的类型 int 床的类型编码
卧室数量 int 卧室的个数
取消条款 int 取消条款的类型编码
所在城市 int 民宿所在的城市编码
清洁费 int 是否需要清洁费的0/1编码
首次评论日期 string 民宿的首次评论日期
房主是否有个人资料图片 string 民宿介绍中是否有房主个人资料照片
房主身份是否验证 int 民宿房主身份是否验证过的0/1编码
房主回复率 string 民宿房主消息回复率
何时成为房主 string 房东何时成为该民宿的房主
是否支持随即预订 string 是否支持随即预定
最近评论日期 string 最近评论日期
维度 float 民宿所在的维度
经度 float 民宿所在的经度
民宿周边 string 民宿周边的景区
评论个数 int 民宿的历史评论个数
房产类型 int 民宿的房产类型编码,如个人住宅、公寓等
民宿评分 float 民宿的用户评分
房型 int 房子类型编码,比如单间还是整间等
邮编 int 民宿的邮编号码
价格 float 民宿价格

数据下载

报名 -> 进入组织 -> 首页可查看数据


提交&评审

提交方式

直接在赛事提交页面「上传」结果文件即可。

结果文件要求

提交文件必须为 csv 格式的文件,文件的字段信息如下:

字段名 数据类型 字段描述
id Int 数据的id
price Float 民宿价格

客观评审

评测方法:

  • 为了进行精度评估,使用了评估指标“ RMSE”。
  • 评估指标大于等于0,预测精度越高,该值越小。

评审说明
每支队伍拥有每天 5 次提交与测评排名的机会,排行榜实时更新,从高到低排序,若队伍一天内多次提交结果,新结果版本将覆盖原版本。

免费算力

本次比赛提供免费版 2核 8G CPU 供参赛选手使用,报名后进入组织即可使用。


【参考代码】回归

import pandas as pd
from sklearn.model_selection import train_test_split
#from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LinearRegression  #线性回归
import time
import  numpy as npfrom sklearn.preprocessing import MinMaxScalert_start = time.time()#1.加载样本数据
data = pd.read_csv('训练集.csv')
data1 = pd.read_csv('测试集.csv')
#data.info()  #可以用 .info()查看各列数据的缺失情况data['民宿评分'] =  data['民宿评分'].fillna(data['民宿评分'].mean())
data['床的数量'] =  data['床的数量'].fillna(data['床的数量'].mean())#卧室数量
data['卧室数量'] =  data['卧室数量'].fillna(data['卧室数量'].mean())data1['民宿评分'] =  data1['民宿评分'].fillna(data1['民宿评分'].mean())
data1['床的数量'] =  data1['床的数量'].fillna(data1['床的数量'].mean())#卧室数量
data1['卧室数量'] =  data1['卧室数量'].fillna(data1['卧室数量'].mean())
#2.样本数据特征提取
feature = data[['容纳人数','床的数量','卧室数量','所在城市',"是否支持随即预订","维度","经度","民宿评分"]]#feature.shape = (59288, 8)
target = data['价格']#target.shape = (59288,)feature1 = data1[['容纳人数','床的数量','卧室数量','所在城市',"是否支持随即预订","维度","经度","民宿评分"]]#feature.shape = (59288, 8)#3.样本数据集拆分  训练数据集train_data   测试数据集test_data
x_train = feature
y_train = targetx_test = feature1
#4.观察特征数据看是否需要进行特征工程  #feature数据全为数值型;不需要one_hot
#训练集的特征数据进行归一化操作
#Mm = MinMaxScaler()
#m_x_train = Mm.fit_transform(x_train)#5.实例化模型对象
#knn = KNeighborsClassifier(n_neighbors=3).fit(m_x_train,y_train)
linreg = LinearRegression().fit(x_train, y_train)#6.测试模型:使用测试数据
print('开始对测试集评分...')
score = linreg.score(x_train,y_train)
t_end = time.time()print("共计耗时:",(t_end-t_start),'秒')y_test = linreg.predict(x_test)#print('linreg测试集评分:',score)df = pd.read_csv( '.\\提交样例.csv')
df["价格"] =y_testdf.to_csv("提交样例1.csv",index=0)

【knn参考代码】  误差太大

#KNN
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier#KNN
import time
import  numpy as np
from sklearn.preprocessing import MinMaxScalert_start = time.time()#1.加载样本数据
data = pd.read_csv('训练集.csv')
data1 = pd.read_csv('测试集.csv')
#data.info()  #可以用 .info()查看各列数据的缺失情况data['民宿评分'] =  data['民宿评分'].fillna(data['民宿评分'].mean())
data['床的数量'] =  data['床的数量'].fillna(data['床的数量'].mean())#卧室数量
data['卧室数量'] =  data['卧室数量'].fillna(data['卧室数量'].mean())data1['民宿评分'] =  data1['民宿评分'].fillna(data1['民宿评分'].mean())
data1['床的数量'] =  data1['床的数量'].fillna(data1['床的数量'].mean())#卧室数量
data1['卧室数量'] =  data1['卧室数量'].fillna(data1['卧室数量'].mean())#2.样本数据特征提取
feature = data[['容纳人数','床的数量','卧室数量','所在城市',"是否支持随即预订","维度","经度","民宿评分"]]#feature.shape = (59288, 8)
target = data['价格']#target.shape = (59288,)feature1 = data1[['容纳人数','床的数量','卧室数量','所在城市',"是否支持随即预订","维度","经度","民宿评分"]]#feature.shape = (59288, 8)#3.样本数据集拆分  训练数据集train_data   测试数据集test_data
x_train = feature
y_train = targetx_test = feature1
#4.观察特征数据看是否需要进行特征工程  #feature数据全为数值型;不需要one_hot
#训练集的特征数据进行归一化操作
Mm = MinMaxScaler()
m_x_train = Mm.fit_transform(x_train)m_x_test = Mm.transform(x_test)#5.实例化模型对象
knn = KNeighborsClassifier(n_neighbors=3).fit(m_x_train,(1000*y_train).astype('int'))#6.测试模型:使用测试数据
print('开始对测试集评分...')
score = knn.score(m_x_test,y_test*1000)
t_end = time.time()
print('knn测试集评分:',score)
print("共计耗时:",(t_end-t_start),'秒')y_test = knn.predict(x_test).astype('float')/1000df = pd.read_csv( '.\\提交样例.csv')
df["价格"] =y_testdf.to_csv("提交样例knn.csv",index=0)

预测分析·民宿价格预测【和鲸社区】相关推荐

  1. 预测分析·民宿价格预测baseline

    大家好,我是小泽 预测分析·民宿价格预测比赛是和鲸社区与ChallengeHub联合举办的一场新手赛,本文旨在多角度构建特征工程来帮助选手快速比赛上手. 比赛链接 话不多说,直接开! 导入相关库 im ...

  2. 民宿价格预测分析(和鲸社区)

    比赛介绍 关于新人赛比赛介绍见链接:https://www.heywhale.com/home/competition/605c426d21e3f6003b56a920 处理过程 导入需要的包 imp ...

  3. 预测分析·商品评论情感预测-基于PaddleNLP的京东商品评论情感分析竞赛

    一.预测分析·商品评论情感预测 竞赛地址: https://www.heywhale.com/home/competition/609cc718ca31cd0017835fdc/content/1 希 ...

  4. 第三届山东大数据-威海赛区-民宿空置预测-排行榜

  5. 预测分析 Python ARIMA模型预测(学习笔记)

    import numpy as np import pandas as pd import matplotlib.pyplot as plt import statsmodels.api as sm# ...

  6. 8大预测分析工具比较

    什么是预测分析工具? 预测分析工具融合了人工智能和业务报告.这些工具包括用于从整个企业收集数据的复杂管道,添加统计分析和机器学习层以对未来进行预测,并将这些见解提炼成有用的摘要,以便业务用户可以对此采 ...

  7. BP神经网络南瓜价格相关性研究与价格预测模型设计

    随着全国脱贫攻坚战的全面胜利, "三农"工作重心已转移到全面推进乡村振兴上来.2021年作为巩固脱贫攻坚成果同乡村振兴有效衔接的第一年,自治区有关部门正在积极谋划与开展乡村振兴战略 ...

  8. 【编译原理笔记05】语法分析:FIRST集和FOLLOW集的计算,[非]递归的预测分析法,预测分析中的错误处理

    本次笔记内容: 4-4 FIRST集和FOLLOW集 4-5 递归的预测分析法 4-6 非递归的预测分析法 4-7 预测分析法中的错误处理 本节课幻灯片,见于我的 GitHub 仓库:第5讲 语法分析 ...

  9. 4.2.5 预测分析法与预测分析表的构造

    4.2.5 预测分析法与预测分析表的构造 预测分析法也称为 LL ( 1 )分析法.这种分析法是确定的自上而下分析的另一种方法,采用这种方法进行语法分析要求描述语言的文法是 LL ( 1 )文法. 一 ...

最新文章

  1. python爬虫实战,requests模块,Python实现抓取头条街拍美图
  2. centos7下安装mariadb
  3. vba查找数据并返回单元格地址_VBA积木代码中实现反向多值查找、LIKE模糊查找...
  4. java 整数 字节数组_将整数转换为字节数组(Java)
  5. Supervisord进程管家
  6. 二分检索函数lower_bound()和upper_bound()
  7. 增强学习--蒙特卡洛方法
  8. css 查看更多_在Scrapy中如何利用CSS选择器从网页中采集目标数据——详细教程(上篇)...
  9. java 实现jpg、png、tif、gif 任意图像格式转换
  10. DPMM的理解、公式推导及抽样
  11. go excel换行符替换_微软Excel与WPS Excel哪个好玩?
  12. vsftp pam mysql_实验记录:vsftp整合mysql-pam管理虚拟账号
  13. Makefile:跟我一起学makefile
  14. 解决webStorm没有cesium代码自动提示的方法
  15. 程序员提升编码技能的秘密
  16. CRM原型、协同办公APP高保真原型/审批管理、办公申请、工单管理、任务管理、日程管理、工作报告、签到考勤、客户管理、销售线索、商机管理、订单管理、账务管理、统计报表、回款管理、发票管理、报销管理
  17. 在线计算机进制换算,进制转换计算器
  18. Something‘s wrong--perhaps a missing \item. \begin{thebibliography}{1}
  19. 理解LSTM网络(Understanding LSTM Networks)原文与翻译
  20. 浅谈选择示波器时的“5倍法则”

热门文章

  1. 成为一名CV(计算机视觉)工程师,你需要具备哪些能力?
  2. 原生js.ajax内存溢出,【JS】解决内存溢出问题
  3. 内存溢出问题核查与定位
  4. 抓包神器:Fiddler Everywhere
  5. cygwin和mingw的比较
  6. 微信.NET:开源的ASP.NET微信公众号应用平台 .
  7. 2022-C4-AI-基于飞桨的智慧书桌系统
  8. 抚躬自问,我该怎样总结我的Q3?
  9. Django SVG 名字空间
  10. MSP432蓝牙遥控小车