项目地址

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:右上角的链接可以切换成英文)

接下来我们选择我们要做天气预报的城市和顺便一个时间点,如广州(PS:在选择框直接输入城市的前几个字符可以快速索引)

然后点按钮,我们会跳转到一个网页

这个就是我们要取到的数据了的地址,不过时间不对,接下来解析这个网址的规则,如

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打开开发者工具

如图,我们可以发现rbody里面的第二个tr标签里面的每个td里是数据(PS:用右上角的左边第一个小按钮然后点击那些数据)。

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

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

用python+sklearn(机器学习)实现天气预报 准备的更多相关文章

  1. 用python+sklearn(机器学习)实现天气预报数据 模型和使用

    用python+sklearn机器学习实现天气预报 模型和使用 项目地址 系列教程 0.前言 1.建立模型 a.准备 引入所需要的头文件 选择模型 选择评估方法 获取数据集 b.建立模型 c.获取模型 ...

  2. 用python+sklearn(机器学习)实现天气预报数据 数据

    用python+sklearn机器学习实现天气预报 数据 项目地址 系列教程 勘误表 0.前言 1.爬虫 a.确认要被爬取的网页网址 b.爬虫部分 c.网页内容匹配取出部分 d.写入csv文件格式化 ...

  3. python+sklearn+kaggle机器学习

    python+sklearn+kaggle机器学习 系列教程 0.kaggle 1. 初级线性回归模型机器学习过程 a. 提取数据 b.数据预处理 c.训练模型 d.根据数据预测 e.验证 今天是10 ...

  4. Python 3 利用 Dlib 19.7 和 sklearn机器学习模型 实现人脸微笑检测

    0.引言  利用机器学习的方法训练微笑检测模型,给一张人脸照片,判断是否微笑:   使用的数据集中69张没笑脸,65张有笑脸,训练结果识别精度在95%附近: 效果: 图1 示例效果 工程利用pytho ...

  5. Python线性回归算法【解析解,sklearn机器学习库】

    一.概述 参考博客:https://www.cnblogs.com/yszd/p/8529704.html 二.代码实现[解析解] import numpy as np import matplotl ...

  6. 用Python开始机器学习(7:逻辑回归分类) --好!!

    from : http://blog.csdn.net/lsldd/article/details/41551797 在本系列文章中提到过用Python开始机器学习(3:数据拟合与广义线性回归)中提到 ...

  7. python sklearn模型的保存

    使用python的机器学习包sklearn的时候,如果训练集是固定的,我们往往想要将一次训练的模型结果保存起来,以便下一次使用,这样能够避免每次运行时都要重新训练模型时的麻烦. 在python里面,有 ...

  8. 机器学习00:如何通过Python入门机器学习

    我们都知道机器学习是一门综合性极强的研究课题,对数学知识要求很高.因此,对于非学术研究专业的程序员,如果希望能入门机器学习,最好的方向还是从实践触发. 我了解到Python的生态对入门机器学习很有帮助 ...

  9. 基于Python的机器学习实战:KNN

    1.KNN原理: 存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系.输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应 ...

随机推荐

  1. PHP代码审计分段讲解(5)

    11 sql闭合绕过 源代码为 <?php if($_POST[user] && $_POST[pass]) { $conn = mysql_connect("**** ...

  2. PostgreSQL 如何忽略事务中错误

    在 PostgreSQL 的事务中:执行的SQL遇到错误(书写,约束限制):该事务的已经执行的SQL都会进行rollback.那如何忽略其中的错误.将SQL执行到底?在事务中设置 ON_ERROR_R ...

  3. linux的Umask 为022 和027 都是什么意思?

    用全部权限777去减这个数值 一.022表示默认创建新文件权限为755 也就是 rxwr-xr-x(所有者全部权限,属组读写,其它人读写)  二.027表示默认创建新文件权限为750 也就是rxwr- ...

  4. 跨站点脚本编制 - SpringBoot配置XSS过滤器(基于mica-xss)

    1. 简介   XSS,即跨站脚本编制,英文为Cross Site Scripting.为了和CSS区分,命名为XSS.   XSS是最普遍的Web应用安全漏洞.这类漏洞能够使得攻击者嵌入恶意脚本代码 ...

  5. Mysql性能优化专栏

    1.  最大数据量 Mysql没有对单表的数据量大小做限制,单表的大小取决于操作系统对文件大小的限制. <阿里巴巴Java开发手册>中建议当单表的数据量大小超过500万行或者大于2GB时需 ...

  6. 浅析JavaWeb开发模式:Model1和Model2

    一.前言 在学习JavaWeb的过程中,大家都会接触到Model1和Model2,历史的发展过程是Model1 → Model2.那么它们之间有何相同之处和不同之处呢? 二.Model1 Model1 ...

  7. 初级程序需要掌握的SQL(一)

    之前我也是,是一个看视频学习的小白,以前老是喜欢通宵看视频,一天10小时小时的学习量,一点效率都没有,就想写一个博客,来帮助大家回顾的SQL语句, 因为我也是初级,所以名字就叫初级程序员需要掌握的sq ...

  8. RocketMQ(七):高性能探秘之MappedFile

    RocketMQ作为消息中间件,经常会被用来和其他消息中间件做比较,比对rabbitmq, kafka... 但个人觉得它一直对标的,都是kafka.因为它们面对的场景往往都是超高并发,超高性能要求的 ...

  9. 【java学习笔记2】访问控制修饰符 public、protected、默认、private

    先写了一个User()类: package chapter01; public class User { // 私有的 private int id; // 受保护的 protected int ag ...

  10. 从零实现Linux一键自动化部署.netCore+Vue+Nginx项目到Docker中

    环境搭建 1.安装Linux,这里我用的阿里云服务器,CentOS7版本 2.进入Linux,安装Docker,执行以下命令 sudo yum update #更新一下yum包 sudo yum in ...