首页 > 其他分享 >R语言用随机森林模型的酒店收入和产量预测误差分析

R语言用随机森林模型的酒店收入和产量预测误差分析

时间:2024-02-07 13:45:27浏览次数:23  
标签:误差 酒店 预测 模型 随机 test data

全文链接:https://tecdat.cn/?p=35162

在这篇文章中,我们将探讨基于随机森林模型的酒店收入和产量预测分析。我们将使用4月9日至4月15日的数据作为测试集,评估预测的准确度。

我们将分别对单个酒店在三个预订渠道的总收入和总产量进行分析,并使用随机森林模型进行预测。通过对比每家酒店的间夜预测值(或收入)与实际值的结果,以及产量排名前四分之一酒店的平均误差值,我们将得出对酒店收入和产量的有效预测和分析。

读取数据

首先,我们需要从CSV文件中读取数据。训练集的数据涵盖了从4月1日到4月8日的信息,而测试集的数据则对应于4月9日至4月15日。

   
data=read.csv("jdfeycdata_test1_4.1-4.8(训练集).csv",header=T)

image.png

以04-9至04-15的数据为测试集评测预测的准确度

   
test=read.table("jdfeycdata_test1_4.9-4.15(测试集).csv",header=T)

image.png

单酒店在三个预订渠道的 总收入

为了预测酒店的总收入,我们需要将来自三个不同预订渠道的收入相加。这一步骤对于训练集和测试集都需要进行。

   
data$income=data$b_price_after_app +data$c_price_after_app +data$e_price_after_app  
test$income=test$b_price_after_app +test$c_price_after_app +test$e_price_after_app

随机森林预测识别的模型

接下来,我们将使用随机森林算法来建立预测模型。在此之前,我们需要对数据进行预处理,包括转换数据框格式、剔除缺失值等。

image.png

   
#转换数据,拟合随机森林模型  
data=data.frame(data)  
  
##剔除缺失数据  
data=na.omit(data)  
  
  
#建立随机森林
   
rfmodel = randva")

image.png

每家酒店的间夜预测值(或收入)与实际值的对比结果

完成模型的建立后,我们将使用测试集来评估模型的预测性能。通过对比每家酒店的预测收入与实际收入,我们可以了解模型的准确性。

训练集

image.png

image.png

测试集

类似地,我们也可以预测酒店的产量,即每个酒店的总房间数。

image.png

QQ截图20240201153928.png

产量排名前四分之一酒店平均误差值

我们还可以进一步分析产量排名前四分之一的酒店的预测误差,以了解模型在这些关键酒店上的表现。

image.png

(∑|每天酒店预测值-每天酒店实际值|/每天酒店实际值)/天数

产量排名前四分之一酒店平均误差:

   
sum(abs(predict(rfmodel,test )-test$income)/test$income)/length( (test

image.png

单酒店在三个预订渠道的总产量

 

   
data$roomquantity=as.numeric(data$roomquantity)  
test$roomquantity=as.numeric(test$roomquantity)

预测识别的模型方法代码

   

rfmodel = randst( roomquantit

image.png

每家酒店的间夜预测值(或收入)与实际值的对比结果

image.png

image.png

产量排名前四分之一酒店平均误差值

image.png

(∑|每天酒店预测值-每天酒店实际值|/每天酒店实际值)/天数

   
test=test[test$masterhotelid %in% s40,]

产量排名前四分之一酒店平均误差:

   
sum(abs(predict(rfmodel,test )-test$roomquantity)/test$roomquantity)/le

image.png

结论

通过上述步骤,我们可以得到一个关于酒店收入和产量的预测模型,并通过测试集来评估其性能。此外,我们还可以分析模型在关键酒店上的表现,从而了解模型在实际应用中的潜在价值。需要注意的是,随机森林模型中的参数(如ntree)应根据具体情况。


1277284353-1536x1536.jpg

最受欢迎的见解

1.PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯模型和KMEANS聚类用户画像

2.R语言基于树的方法:决策树,随机森林

3.python中使用scikit-learn和pandas决策树

4.机器学习:在SAS中运行随机森林数据分析报告

5.R语言用随机森林和文本挖掘提高航空公司客户满意度

6.机器学习助推快时尚精准销售时间序列

7.用机器学习识别不断变化的股市状况——隐马尔可夫模型的应用

8.python机器学习:推荐系统实现(以矩阵分解来协同过滤)

9.python中用pytorch机器学习分类预测银行客户流失

标签:误差,酒店,预测,模型,随机,test,data
From: https://www.cnblogs.com/tecdat/p/18010857

相关文章

  • R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化
    全文链接:https://tecdat.cn/?p=33760原文出处:拓端数据部落公众号概述:众所周知,心脏疾病是目前全球最主要的死因。开发一个能够预测患者心脏疾病存在的计算系统将显著降低死亡率并大幅降低医疗保健成本。机器学习在全球许多领域中被广泛应用,尤其在医疗行业中越来越受欢迎。机器......
  • c++生成随机数
    产生随机数的叫随机数生发器生成随机数constunsignedzseed=time(0);voidsolve(){ //随机数生发器 mt19937_64m{zseed}; //种子 rep(i,1,5) cout<<m()<<endl; return;}重排序列constunsignedzseed=time(0);mt19937_64zgen{zseed};voidsolve(){ ve......
  • apache如何配置统一请求随机转发到不同服务
    ApacheHTTP服务器可以使用mod_proxy和mod_proxy_balancer模块来配置统一请求随机转发到不同的后端服务。这里提供一个基本的配置示例,展示如何实现随机负载均衡。首先,确保你的Apache服务器已经安装了mod_proxy和mod_proxy_balancer模块。在大多数Linux发行版中,这些模块默认是安装......
  • AcWing 5466. 随机排列 题解
    讲解都在代码里了#include<bits/stdc++.h>//可以发现不管n怎么取,3n和7n+1都是一个奇数一个偶数//那么那么我们用最多n-1次交换将数组复原看一看用了奇数次还是偶数次就可以看出来了//这种交换方式常见于基础课内容,是两个数组互为双向usingnamespacestd;constintN=1e......
  • R语言逻辑回归、随机森林、SVM支持向量机预测Framingham心脏病风险和模型诊断可视化
    原文链接:http://tecdat.cn/?p=24973 原文出处:拓端数据部落公众号简介世界卫生组织估计全世界每年有1200万人死于心脏病。在美国和其他发达国家,一半的死亡是由于心血管疾病。心血管疾病的早期预后可以帮助决定改变高危患者的生活方式,从而减少并发症。本研究旨在查明心脏病最......
  • R语言用决策树的酒店收入和产量预测可视化研究
    全文链接:https://tecdat.cn/?p=35130原文出处:拓端数据部落公众号现代社会经济的发展,促进了酒店业的投资热潮, 投资者投资一个酒店,必须在投资前对若干经营数据进行科学预测与分析,对酒店可能形成的收入成本水平进行估算,从而对投资的风险进行有效预测。酒店管理者在借鉴西方发达国......
  • Python随机波动模型Stochastic volatility,SV随机变分推断SVI分析标普500指数股票价格
    全文链接:https://tecdat.cn/?p=33809原文出处:拓端数据部落公众号随机波动模型(Stochasticvolatilitymodels)经常被客户用来对股票价格随时间的变动性进行建模。波动性(volatility)是随时间的对数收益的标准差。与假设波动性恒定不变不同,随机波动模型具有隐变量参数,可以在每个时刻......
  • 抢红包随机金额算法(均衡随机)
    最优算法在文末,欢迎参考。编写抢红包随机算法功能,通常金额是红包支付后立马算好的,而不是抢一个实时随机一个红包金额,避免并发情况下降低性能。需求仿照微信发红包功能,现有n个人抢金额为m的红包,m>=0.01,n>0,m/n不能小于0.01,需保证每个人都能抢到最低为0.01的金额,金额随机,但金额相......
  • 伪随机数(gcd+裴蜀定理)
    第2题   伪随机数查看测评数据信息一个生成伪随机数的函数,seed(a+1)=[seed(a)+STEP]%MOD,为了能产生0~MOD-1的所有数,需要设定合适的STEP和MOD。例如,STEP=3,MOD=5,产生0,3,1,4,2,这是正确的设定;若STEP=15,MOD=20,只能产生0,15,10,5,这是错误的设定。 输入格式 ......
  • 长连接网关技术专题(九):去哪儿网酒店高性能业务网关技术实践
    本文由去哪儿网技术团队田文琦分享,本文有修订和改动。1、引言本文针对去哪儿网酒店业务网关的吞吐率下降、响应时间上升等问题,进行全流程异步化、服务编排方案等措施,进行了高性能网关的技术优化实践。技术交流:-移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》......