旅游景点数据分析
本项目主要对河南省旅游景点数据进行分析和可视化展示,并基于数据构建智能推荐系统。
·
旅游景点数据分析项目说明
本项目主要对河南省旅游景点数据进行分析和可视化展示,并基于数据构建智能推荐系统。
文件说明
数据采集部分
spider/spider.py
主要功能:爬取去哪儿网的景点数据
- 使用 Selenium 和 BeautifulSoup 进行网页爬取
- 支持多城市数据采集
- 采集内容包括:
- 景点名称(中英文)
- 攻略数量
- 评论数量
- 评分
- 排名
- 到访人数
- 景点简介
- 景点封面图
- 所属省市
- 链接地址
- 数据保存为CSV和日志文件
- 支持断点续爬
spider/config.py
主要功能:配置爬虫参数
- 定义河南省各城市的爬取配置
- 包含城市信息:
- 省份名称
- 城市名称(中英文)
- 目标URL
- 爬取页数
- 支持18个河南省主要城市
推荐系统部分
Recommend/main.py
主要功能:推荐系统的主程序入口
- 数据加载和预处理
- 特征准备
- 创建用户-景点交互矩阵
- 训练和评估三种推荐模型:
- 基于内容的推荐
- 协同过滤推荐
- 混合推荐
- 模型评估和结果展示
- 示例推荐生成
Recommend/models.py
主要功能:实现三种推荐算法模型
-
ContentBasedRecommender(基于内容的推荐系统)
- 使用景点特征进行推荐
- 支持特征选择和标准化
- 使用余弦相似度计算景点相似性
- 批处理处理大规模数据
-
CollaborativeFiltering(协同过滤推荐系统)
- 基于SVD算法
- 支持用户-景点评分预测
- 可进行增量学习
- 提供个性化推荐
-
HybridRecommender(混合推荐系统)
- 结合随机森林和稀疏矩阵
- 融合用户行为和景点特征
- 支持批量处理
- 内存优化设计
数据分析和可视化部分
1. 景点分布.py
主要功能:生成河南省景点分布热力图
- 使用 pandas 读取景点数据(GBK编码)
- 过滤无效数据(star为0或00的记录)
- 统计各城市景点数量
- 使用 pyecharts 的 Map 组件创建热力图
- 设置分段式视觉映射,展示不同区间的景点数量
- 支持地图缩放和拖动
- 输出文件:
show/河南省景点分布热力图.html
2. 景点城市分布占比(扇形图).py
主要功能:展示各城市景点数量的占比情况
- 使用 pandas 读取和处理数据
- 统计各城市的景点数量
- 使用 pyecharts 的 Pie 组件创建扇形图
- 设置图表样式和布局(标题、图例位置等)
- 添加数据标签显示具体数量
- 输出文件:
show/城市分布占比扇形图.html
3. 热门景点 Top10.py
主要功能:展示景点数量最多的前10个城市
- 使用 pandas 读取和处理数据
- 过滤无效评分数据
- 统计并排序各城市景点数量
- 使用 pyecharts 的 Bar 组件创建横向柱状图
- 设置坐标轴标签和标题
- 输出文件:
show/热门景点Top10.html
4. 景点评分占比.py
主要功能:分析景点评分的分布情况
- 使用 pandas 读取和处理数据
- 定义评分区间:0-20、20-40、40-60、60-70、70-80、80-90、90-100
- 统计各评分区间的占比
- 使用 pyecharts 的 Pie 组件创建环形图
- 设置图表样式(内外半径、标签格式等)
- 显示每个区间的百分比
- 输出文件:
show/景点评分占比环形图.html
5. 景点评分分布直方图.py
主要功能:展示景点评分的频数分布
- 使用 pandas 读取和处理数据
- 过滤空值数据
- 使用 pyecharts 的 Histogram 组件创建直方图
- 设置图表样式(宽度、高度)
- 添加坐标轴标签
- 输出文件:
show/评分分布直方图.html
6. 景点评论数量Top10.py
主要功能:展示评论数量最多的前10个景点
- 使用 pandas 读取和处理数据
- 过滤评论数量为空的数据
- 按评论数量降序排序并选取前10名
- 使用 pyecharts 的 Bar 组件创建柱状图
- 设置图表样式和标签
- 输出文件:
show/评论数量Top10.html
7. 景点评论数量与评分的关系.py
主要功能:分析景点评论数量与评分之间的相关性
- 使用 pandas 读取和处理数据
- 过滤评论数量和评分为空的数据
- 使用 pyecharts 的 Scatter 组件创建散点图
- X轴表示评论数量,Y轴表示评分
- 通过散点分布展示两者的关系
- 输出文件:
show/评论数量与评分关系.html
数据文件
- 数据源文件:
data/quneer_henan.csv(GBK编码) - 包含景点信息:
- 景点名称(中英文)
- 攻略数量
- 评论数量
- 评分
- 排名
- 到访人数
- 景点简介
- 景点封面图
- 所属省市
- 链接地址
输出目录
- 所有生成的可视化图表保存在
show目录下 - 文件格式为HTML,可在浏览器中交互查看
技术栈
- Python
- 数据采集
- Selenium:网页自动化
- BeautifulSoup:HTML解析
- Chrome WebDriver
- 数据处理和机器学习
- pandas:数据处理和分析
- 数据读取和清洗
- 数据分组和统计
- 区间划分
- 排序和筛选
- scikit-learn:
- RandomForestRegressor:随机森林回归
- StandardScaler:特征标准化
- SelectKBest:特征选择
- surprise:协同过滤算法库
- SVD:奇异值分解
- pandas:数据处理和分析
- 数据可视化
- pyecharts:
- Map:地图可视化
- Pie:扇形图和环形图
- Bar:柱状图
- Histogram:直方图
- Scatter:散点图
- pyecharts:
- 文件操作
- os:文件和目录操作
- csv:CSV文件读写
- json:JSON数据处理
- 内存优化
- gc:垃圾回收
- scipy.sparse:稀疏矩阵处理








更多推荐
所有评论(0)