2024华数杯C题保姆级分析完整思路+代码+数据教学

news2025/1/20 18:38:12

2024华数杯C题保姆级分析完整思路+代码+数据教学

C题题目:老外游中国

接下来我们将按照题目总体分析-背景分析-各小问分析的形式来

1 总体分析:

题目要求本题目基于中国境内旅游景点数据,旨在通过数学建模解决外国游客在中国旅游时可能遇到的问题,提升其旅游体验,并对城市景点的吸引力进行评估。

题目背景

随着我国过境免签政策的实施,越来越多外国游客来华旅游,通过网络平台分享他们的旅行见闻。这不仅推动了中国旅游业的发展,还在国际舞台上展示了一个生动的中国。

题目内容

  1. 景点评分分析:要求找出352个城市中所有景点评分的最高分(Best Score,简称BS),统计全国获评最高评分景点的数量,并列出拥有最多最高评分景点的前10个城市。

  2. 综合评价:根据城市规模、环境、人文、交通、气候、美食等因素,对352个城市进行综合评价,选出最令外国游客向往的50个城市。

  3. 游玩路线规划:规划一名外国游客从广州入境,在144小时内游玩尽可能多的城市,要求游玩体验最好,并给出具体的游玩路线、总花费时间、门票和交通总费用及可游玩的景点数量。

  4. 成本优化路线规划:重新规划游玩路线,使得游玩城市数量最多且门票和交通总费用最低。

  5. 山景游览规划:规划一名外国游客入境游览中国山景的路线,要求游览更多的山景并优化费用,给出具体的游玩路线、总花费时间、门票和交通总费用及可游玩的景点数量。

数据说明

数据集包含中国352个城市的旅游景点信息,每个城市有100个景点数据,内容包括景点名称、网址、地址、介绍、开放时间、图片网址、评分、建议游玩时长、季节、门票信息及小贴士等。数据来源为https://travel.qunar.com/,可自行在互联网查询其他数据,但需注明来源。

总结

本题目通过建立数学模型,从景点评分、综合评价、路线规划等角度分析外国游客在中国旅游的最佳方案,旨在提高游客的旅游体验,同时促进中国旅游业的发展和国际形象的提升。我们将依次对每个问题进行建模和求解,并给出详细的方案和分析。

2 背景分析:

“老外游中国”这一题目源于近年来我国对外开放政策的逐步实施和旅游业的快速发展。随着我国过境免签政策的推行,越来越多的外国游客得以在没有签证的情况下进入中国并进行短期旅行。这种政策不仅促进了中国旅游业的发展,还提升了中国在国际舞台上的影响力。

“city不city”这一网络流行语在外国网红的推动下广泛传播,反映了游客对城市旅游体验的关注和评价。随着外国游客通过各种社交平台分享他们在中国的旅行见闻和感受,这些内容在全球范围内传播,吸引更多的外国游客来华。这种现象不仅提升了中国旅游城市的知名度,还在一定程度上影响了游客的旅游决策。

过境免签政策允许外国游客在不办理签证的情况下入境中国,停留时间为144小时。这一政策大大降低了外国游客来华旅游的门槛,促进了短期旅游的发展。游客可以从任一城市附近的机场入境,并且在离境时选择任意机场,这为游客提供了极大的灵活性。题目提供了一个涵盖中国352个城市的旅游景点数据集,每个城市有100个景点的信息。数据集内容详实,包括景点名称、网址、地址、介绍、开放时间、图片网址、评分、建议游玩时长、建议游玩季节、门票信息、小贴士等。这为建模提供了丰富的数据支持,使得模型可以更加精确地反映实际情况。

3 各小问分析:

首先需要进行的是数据预处理,然后再对这几问进行具体的分析与建模。

1 在进行数据分析和建模之前,需要进行必要的数据预处理工作,确保数据的完整性和一致性。数据预处理主要包括以下几个步骤:

数据读取和合并

  • 读取各个城市的CSV文件,并将它们合并成一个数据框架,方便后续处理。

代码:

import pandas as pd

import os

# 定义数据文件夹路径

data_folder = 'path_to_data_folder' # 替换为实际数据文件夹路径

# 初始化一个空的DataFrame

all_data = pd.DataFrame()

# 遍历数据文件夹中的所有CSV文件

for file_name in os.listdir(data_folder):

if file_name.endswith('.csv'):

city_data = pd.read_csv(os.path.join(data_folder, file_name))

# 添加城市名称作为一列(假设城市名称在文件名中)

city_name = os.path.splitext(file_name)[0]

city_data['城市'] = city_name

# 将当前城市的数据追加到总的DataFrame中

all_data = pd.concat([all_data, city_data], ignore_index=True)

# 保存合并后的数据到一个新的CSV文件

all_data.to_csv('merged_data.csv', index=False)

# 显示数据概览

print(all_data.info())

print(all_data.head())

缺失值处理

  • 检查数据中的缺失值,对于缺失值较多的字段可以选择删除,对于关键字段的缺失值可以考虑用均值、中位数或其他方法进行填补。

数据类型转换

  • 确保每个字段的数据类型正确。例如,评分字段应为浮点数,景点名称字段应为字符串等。

以上后续都会给大家详细的代码过程,以及处理好的数据集。

数据清洗

  • 去除重复数据,处理异常值和极端值,确保数据的准确性。

数据预处理之后,需要进行一定的探索性数据分析(EDA),了解数据的基本特征和分布情况。以下是一些关键的EDA步骤和可视化方法:

 数据概览

  • 查看数据的基本信息,包括数据的行数、列数和字段名称。

  • 统计评分字段的基本统计量(均值、中位数、标准差、最小值、最大值)。

 评分分布分析

  • 使用直方图(Histogram)和密度图(Density Plot)查看评分的分布情况,了解评分的集中趋势和分布形态。

  • 使用箱线图(Box Plot)查看评分的分布范围,检测是否存在异常值。

 城市景点评分分析

  • 对每个城市的评分进行统计,查看各城市评分的均值和标准差。

  • 使用条形图(Bar Plot)展示每个城市评分最高的景点,比较不同城市之间的差异。

 最高评分景点分布分析

  • 统计各城市中评分最高的景点数量,使用条形图展示拥有最多高评分景点的城市。

 景点类别分析

  • 如果数据中包含景点的类别信息,可以对不同类别的景点评分进行分析,查看不同类别景点的评分分布情况。

给大家几个相关代码:

评分分布直方图:

import matplotlib.pyplot as plt

import seaborn as sns

plt.figure(figsize=(10, 6))

sns.histplot(data['评分'], bins=30, kde=True)

plt.title('景点评分分布直方图')

plt.xlabel('评分')

plt.ylabel('频数')

plt.show()

每个城市评分最高景点条形图:

highest_scores = data.groupby('城市')['评分'].max().sort_values(ascending=False).head(10)

plt.figure(figsize=(12, 8))

sns.barplot(x=highest_scores.values, y=highest_scores.index)

plt.title('各城市评分最高景点')

plt.xlabel('评分')

plt.ylabel('城市')

plt.show()

通过这些数据预处理和EDA步骤,我们可以更好地理解数据的结构和特征,为后续的建模工作奠定基础。

第一问分析:

问题1要求找出352个城市中所有景点评分的最高分(Best Score,简称BS),统计全国获评最高评分景点的数量,并列出拥有最多最高评分景点的前10个城市。

首先,从数据集中提取每个城市的景点评分数据。数据集中每个城市有100个景点的评分数据,总计35200个景点评分数据。

建模步骤:

添加图片注释,不超过 140 字(可选)

通过以上的建模过程,就可以系统地找出最高评分的景点及其分布情况,并确定哪些城市拥有最多的高评分景点。

当然,第一问也推荐大家使用灰色综合评价法:

灰色综合评价法(Grey Comprehensive Evaluation Method, GCEM)是一种多指标综合评价方法,适用于数据量较少且不确定性较高的情况。对于第一问中的评分数据分析,可以使用灰色综合评价法来对城市进行评分和排序。以下是具体步骤和方法:

5 排序和选择

根据灰色关联度对城市进行排序,灰色关联度越高,说明该城市的景点评分越高。

具体步骤代码:

1 读取数据并构建评价矩阵

import pandas as pd

import numpy as np

# 读取合并后的数据

data = pd.read_csv('merged_data.csv')

# 构建评价矩阵,每个城市取评分最高的景点

city_scores = data.groupby('城市')['评分'].max().reset_index()

city_scores_matrix = city_scores.pivot_table(index='城市', values='评分')

2 标准化处理

# 极差标准化

city_scores_matrix = (city_scores_matrix - city_scores_matrix.min()) / (city_scores_matrix.max() - city_scores_matrix.min())

3 计算灰色关联系数

# 最优值

optimal_value = city_scores_matrix.max()

# 分辨系数

rho = 0.5

# 计算灰色关联系数

delta = np.abs(city_scores_matrix - optimal_value)

delta_min = delta.min().min()

delta_max = delta.max().max()

grey_relation_coeff = (delta_min + rho * delta_max) / (delta + rho * delta_max)

4 计算灰色关联度

# 计算灰色关联度

grey_relation_degree = grey_relation_coeff.mean(axis=1)

city_scores['灰色关联度'] = grey_relation_degree

5 排序和选择

# 根据灰色关联度排序

city_scores = city_scores.sort_values(by='灰色关联度', ascending=False)

# 前10个城市

top_10_cities = city_scores.head(10)

print(top_10_cities)

以上为第一问的分析过程,2-5后续更新。

2 综合评价352个城市,选出最受外国游客欢迎的50个城市。

3 从广州出发,144小时内游玩尽可能多的城市,优化游玩体验。

4 在确保游玩城市数量最多的情况下,最小化门票和交通总费用。

5 游览评分最高的山景,规划144小时内费用最低的游览路线。

其中更详细的思路,各题目思路、代码、讲解视频、成品论文及其他相关内容,可以点击下方群名片哦!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安装pytorch GPU方法

参考全网最详细的安装pytorch GPU方法,一次安装成功!!包括安装失败后的处理方法!-CSDN博客 整体来看,一共下面三个安装步骤: 显卡驱动(nvidia-smi)-》显卡深度学习驱动&#xff08…

三十种未授权访问漏洞复现 合集( 四 )

未授权访问漏洞介绍 未授权访问可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷,导致其他用户可以直接访问,从而引发重要权限可被操作、数据库、网站目录等敏感信息泄露。---->目录遍历 目前主要存在未授权访问漏洞的有:NFS服务&a…

日志系统——整体框架

日志等级模块: 该模块描述了日志消息的各种等级debug,info,warn,error,fatal,off(off为最高等级,屏蔽一切日志消息),并提供描述日志等级的方法 日志消息模块: 该模块负责构建日志消息对象,此对象管理着一条日志中的各项…

【Python网络爬虫案例】python爬虫之爬取豆瓣电影信息

🔗 运行环境:PYTHON 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好🤗&#x1f91…

【C语言】计算四则运算,中缀表达式转换为后缀表达式

C语言编程—中缀表达式转换为后缀表达式 思路: 中缀转后缀保存结果栈:stack,保存数据和-*/ 操作符栈:op_stack,保存-*/() 场景一:遇到数据,直接入栈stack 场景二:遇到"(&qu…

海康笔试题

1. 2. 块设备:磁盘设备驱动、SD设备驱动 字符设备:终端设备驱动 网络设备:网络设备驱动 (1)linux操作系统驱动程序分为三大类:字符设备驱动、快设备驱动和网络设备驱动 (2)字符设…

2024 年华数杯全国大学生数学建模竞赛C 题 老外游中国 完整思路 源代码 模型结果(仅供学习)

最近,“city 不 city”这一网络流行语在外国网红的推动下备受关注。随着我国过境免签政策的落实,越来越多外国游客来到中国,通过网络平台展示他们在华旅行的见闻,这不仅推动了中国旅游业的发展,更是在国际舞台上展现了…

基于X86+FPGA助力实现电力系统的智能监测与高效管理

电力监控 信迈提供基于Intel平台、Xilinx平台、Rockchip平台、NXP平台、飞腾平台的Mini-ITX主板、Micro-ATX主板、ATX主板、嵌入式准系统/工业整机等计算机硬件。产品算力强大,支持高速存储,提供丰富串口、USB、LAN、PCIe扩展接口、显示接口等I/O接口&am…

【python】数据类型之列表类型(上)

本篇文章将讲解列表类型。 列表(list),是一个有序且可变的容器,在里面可以存放多个不同类型的元素。 列表中的元素之间用逗号(英文中的逗号)相隔。 1、定义: 例如: user_list[]…

stl容器 vector的基本操作

目录 1.vector构造 1.1默认构造函数 1.2 fill 填充构造函数 ​编辑 1.3 范围构造函数(Range Constructor) 1.4拷贝构造函数 2.initializer_list初始化vector 3.迭代器 4.常用的几个成员 4.1 size()统计当前有效字符个数 4.2 capacity ve…

青甘环线游记|day(2)|西宁、青海湖

坐动车 早上7:30醒来,在8:00左右起床,下楼吃兰州拉面。面煮的很好吃,就是还是不是很适应。看到8元的牛肉面感觉很震惊,没想到是面8元,牛肉另加,10元。 坐上动车前往西宁,12点左右到了。虽然在…

PXE实现自动安装部署操作系统

PXE(Preboot eXecution Environment)是一种在计算机启动时使用网络接口从远程服务器获取操作系统安装和启动信息的技术。通过PXE,计算机可以从局域网中的PXE服务器上下载操作系统安装文件,并进行自动化的操作系统部署或故障排除。…

25考研数据结构复习·7.4B树和B+树7.5散列(Hash)表

目录 B树和B树 B树 m阶B树的核心特性 B树的插入 B树的删除 非终端结点关键字 终端结点关键字 低于下限 B树 散列(Hash)表 基本概念 散列函数的构造 👩‍💻 除留余数法 直接定址法 数字分析法 平方取中法 处理冲突…

动手学深度学习V2每日笔记(池化层)

本文主要参考沐神的视频教程 https://www.bilibili.com/video/BV1EV411j7nX/spm_id_from333.999.0.0&vd_sourcec7bfc6ce0ea0cbe43aa288ba2713e56d 文档教程 https://zh-v2.d2l.ai/ 本文的主要内容对沐神提供的代码中个人不太理解的内容进行笔记记录,内容不会特别…

Linux基础环境开发工具(二)

目录 一、前言二、make和makefile工具1.快速认识一下2.依赖关系和依赖方法3.执行原理 三、Git工具1.快速认识一下2.git的使用 四、gdb工具1.快速认识一下2、类比Windows使用 一、前言 在开发工具第一篇中我们介绍了yum,vim,gcc/g编译器这几种工具&#…

C++ 继承 派生类的拷贝构造

继承 派生类的拷贝构造构造顺序拷贝构造 引例1: 当子类,不自实现拷贝构造时,默认调用父类的拷贝构造引例2: 子类自实现拷贝构造,不做特殊处理时,只会调用父类的构造器.引例3: 显示的调用父类的拷贝构造器。案例: 内嵌函数的拷贝构造 引例1 :当内嵌子对象,子类不自实现拷贝构造时…

Netty二

Netty 问题分析 bootstrap serverBootstrap pipeline和channelPipeline EventLoopGroup和实现类NioEventLoopGroup

U2net论文复现-简单解读-以及奇奇怪怪的改进-测试roc以及pr

论文地址:U2net论文地址 显著性目标检测: Salient ObjectDetetion(SOD)显著性目标检测,就是要把图片中最显著的物体分割出来,所以是二分类任务,只需要背景和前景。 1、Introduce 1.1、目前存在的2个挑战&#xff1…

Day-11 员工管理案例 增删改查、配置文件

SpringBootWeb案例 前面我们已经实现了员工信息的条件分页查询以及删除操作。 关于员工管理的功能,还有两个需要实现: 新增员工修改员工 首先我们先完成"新增员工"的功能开发,再完成"修改员工"的功能开发。而在"新…

Midjourney、Sora和硅谷机密-《分析模式》漫谈15

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 “Analysis Patterns”的Preface(前言)有这么一句: Kent Beck, Ward Cunningham, and Jim Coplein encouraged me to get involved with the commu…