用python+sklearn(机器学习)实现天气预报 准备

时间:2023-03-09 15:40:04
用python+sklearn(机器学习)实现天气预报 准备

项目地址

github项目:PYWeatherReport

系列教程

机器学习参考篇: python+sklearn+kaggle机器学习
用python+sklearn(机器学习)实现天气预报 准备
用python+sklearn(机器学习)实现天气预报数据 数据
用python+sklearn(机器学习)实现天气预报 模型和使用

0.流程介绍

爬虫爬取去年今日的半个月前到去年今日的下个半个月的每日天气数据做训练集和训练验证集,爬取现在半个月前到现在的每日天气数据做预测数据集 -> 数据预处理 -> 训练模型和预测
机器学习过程可参考上面那篇

1. 环境搭建

a.python

如题,要使用python+sklearn做,所以肯定要搭建好python的环境,教程百度有很多,建议用python3.*

b.涉及到的机器学习相关库

安装命令:

pip install 库名

sklearn

本教程运用的机器学习核心库

panda

读取csv相关

seaborn

数据可视化,生成图表如折线图等

joblib

保存和读取训练好的模型,*.pkl文件

2.寻找数据来源

做机器学习我们需要尽量多和准确的数据,本次实例从www.meteomanz.com获取免费的天气数据

3.分析数据源网址规则

我们访问上一步的网站,可以发现有选择城市和时间的接口(PS:右上角的链接可以切换成英文)
用python+sklearn(机器学习)实现天气预报 准备
接下来我们选择我们要做天气预报的城市和顺便一个时间点,如广州(PS:在选择框直接输入城市的前几个字符可以快速索引)
用python+sklearn(机器学习)实现天气预报 准备
然后点按钮,我们会跳转到一个网页
用python+sklearn(机器学习)实现天气预报 准备
这个就是我们要取到的数据了的地址,不过时间不对,接下来解析这个网址的规则,如

http://www.meteomanz.com/sy2?l=1&cou=2250&ind=59287&d1=13&m1=12&y1=2020&d2=13&m2=12&y2=2020

这里面

  • ?前的分别是http://网络协议,www.meteomanz.com域名,/sy2地址,我们主要关注?后的参数
  • l是语言参数,l=1指英语
  • couind是地区和城市代码
  • d1m1y1是时间段的开始年月日
  • d2m2y2是时间段的结束年月日

所以

http://www.meteomanz.com/sy2?l=1&cou=2250&ind=59287&d1=02&m1=02&y1=2019&d2=13&m2=12&y2=2020

指从2019/2/2到2020/12/13的广州的每日天气数据,不要忘记里面月和日是要补0的,但是进去就发现最多给30天的数据,所以我们以后并不会用到怎么多天的数据

4.分析页面规则

获取到网址规则后,分析页面规则用于爬虫匹配数据,按F12打开开发者工具
用python+sklearn(机器学习)实现天气预报 准备
如图,我们可以发现rbody里面的第二个tr标签里面的每个td里是数据(PS:用右上角的左边第一个小按钮然后点击那些数据)。
用python+sklearn(机器学习)实现天气预报 准备
用python+sklearn(机器学习)实现天气预报 准备

当我们知道了这些规则,接下来就可以写爬虫爬取符合条件的数据集了。

下一篇https://blog.****.net/qq_40832960/article/details/111182425