基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日 您所在的位置:网站首页 怎么安装paddlepaddle 基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日

基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日

2023-01-03 13:37| 来源: 网络整理| 查看: 265

百度深度学习7日—Day01数据可视化以及框架安装

- 快速安装paddlepaddle 1.环境准备 2.安装步骤 3.验证安装

- 疫情数据可视化 1.爬取丁香园公开数据 2.安装第三方库pyecharts 3.数据可视化

快速安装paddlepaddle

参考飞桨官方网站的安装说明(https://www.paddlepaddle.org.cn/documentation/docs/zh/install/index_cn.html)进行快速安装。

基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日—Day01_数据

这里将选择windows下安装:

环境准备:

基本软硬件要求:Windows 7/8/10 专业版/企业版 (64bit) GPU版本支持CUDA 9.0/9.1/9.2/10.0/10.1,且仅支持单卡 Python 版本 2.7.15+/3.5.1+/3.6/3.7 (64 bit) pip 版本 9.0.1+ (64 bit)

确定计算机python版本

python --version

确定python路径是否符合预期

where python

确定pip版本是否满足要求,要求pip版本为9.0.1+

python -m ensurepippython -m pip --version

如果使用pip出现下载速度过慢的情况,可以选择为pip更换国内源,参考文章:

Windows下更换pip源为清华源​​(https://blog.csdn.net/Artprog/article/details/75632723)​​

基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日—Day01_python_02

安装步骤:

安装方式有3种,这里选择pip安装: 读者可以根据自己的设备选择合适的版本安装,如果读者是新手,推荐安装CPU版本。CPU版PaddlePaddle:​​​python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple​​​(推荐使用百度源) 或 ​​python -m pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple​​GPU版PaddlePaddle:​​python -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple​​ 或 ​​python -m pip install paddlepaddle-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple​​

验证安装:

安装完成后,打开cmd,使用 python 进入python解释器

python

输入

import paddle.fluid as fluidfluid.install_check.run_check()

如果出现​​Your Paddle Fluid is installed succesfully!​​,说明您已成功安装。

疫情数据可视化

本项目是通过爬虫爬取数据,并利用pyecharts进行数据可视化操作。

可视化,是一种利用计算机图形学和图像处理技术,将数据转换成图像在屏幕上显示出来,再进行交互处理的理论、方法和技术。

爬取丁香园公的开统计数据

上网的全过程:

普通用户

打开浏览器 --> 往目标站点发送请求 --> 接收响应数据 --> 渲染到页面上。

爬虫程序

模拟浏览器 --> 往目标站点发送请求 --> 接收响应数据 --> 提取有用的数据 --> 保存到本地/数据库。

爬虫的过程: 1.发送请求(requests模块) 2.获取响应数据(服务器返回) 3.解析并提取数据(re正则) 4.保存数据

request模块: requests是python实现的简单易用的HTTP库,官网地址:http://cn.python-requests.org/zh_CN/latest/ re模块: re模块是python用于匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的。

import jsonimport reimport requestsimport datetime

today = datetime.date.today().strftime('%Y%m%d') #20200315

def crawl_dxy_data(): """ 爬取丁香园实时统计数据,保存到f://data/目录下,以当前日期作为文件名,存JSON文件 """ response = requests.get('https://ncov.dxy.cn/ncovh5/view/pneumonia') #request.get()用于请求目标网站 print(response.status_code) # 打印状态码

try: url_text = response.content.decode() #更推荐使用response.content.deocde()的方式获取响应的html页面 #print(url_text) url_content = re.search(r'window.getAreaStat = (.*?)}]}catch', #re.search():扫描字符串以查找正则表达式模式产生匹配项的第一个位置 ,然后返回相应的match对象。 url_text, re.S) #在字符串a中,包含换行符\n,在这种情况下:如果不使用re.S参数,则只在每一行内进行匹配,如果一行没有,就换下一行重新开始; #而使用re.S参数以后,正则表达式会将这个字符串作为一个整体,在整体中进行匹配。 texts = url_content.group() #获取匹配正则表达式的整体结果 content = texts.replace('window.getAreaStat = ', '').replace('}catch', '') #去除多余的字符 json_data = json.loads(content) with open('f://data/' + today + '.json', 'w', encoding='UTF-8') as f: json.dump(json_data, f, ensure_ascii=False) except: print('' % response.status_code)

def crawl_statistics_data(): """ 获取各个省份历史统计数据,保存到f://data/目录下,存JSON文件 """ with open('f://data/'+ today + '.json', 'r', encoding='UTF-8') as file: json_array = json.loads(file.read())

statistics_data = {} for province in json_array: response = requests.get(province['statisticsData']) try: statistics_data[province['provinceShortName']] = json.loads(response.content.decode())['data'] except: print(' for url: [%s]' % (response.status_code, province['statisticsData']))

with open("f://data/statistics_data.json", "w", encoding='UTF-8') as f: json.dump(statistics_data, f, ensure_ascii=False)

if __name__ == '__main__': crawl_dxy_data() crawl_statistics_data()

运行成功后,在f://data/目录下,可以得到两个文件

基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日—Day01_深度学习_03

安装第三方库pyecharts

Echarts 是一个由百度开源的数据可视化工具,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。pyecharts api可以参考:​​https://pyecharts.org/#/zh-cn/chart_api​​ 使用 options 配置项,在 pyecharts 中,一切皆 Options。

主要分为全局配置组件和系列配置组件。

(1)系列配置项 set_series_opts(),可配置图元样式、文字样式、标签样式、点线样式等;

(2)全局配置项 set_global_opts(),可配置标题、动画、坐标轴、图例等;

先来认识下全局配置组件吧!

基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日—Day01_可视化_04

这里将通过pip安装pyechart库:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts数据可视化全国地图import jsonimport datetimefrom pyecharts.charts import Mapfrom pyecharts import options as opts

# 读原始数据文件today = datetime.date.today().strftime('%Y%m%d') #20200315datafile = 'f://data/'+ today + '.json'with open(datafile, 'r', encoding='UTF-8') as file: json_array = json.loads(file.read())

# 分析全国实时确诊数据:'confirmedCount'字段china_data = []for province in json_array: china_data.append((province['provinceShortName'], province['confirmedCount']))china_data = sorted(china_data, key=lambda x: x[1], reverse=True) #reverse=True,表示降序,反之升序

print(china_data)# 全国疫情地图# 自定义的每一段的范围,以及每一段的特别的样式。pieces = [ {'min': 10000, 'color': '#540d0d'}, {'max': 9999, 'min': 1000, 'color': '#9c1414'}, {'max': 999, 'min': 500, 'color': '#d92727'}, {'max': 499, 'min': 100, 'color': '#ed3232'}, {'max': 99, 'min': 10, 'color': '#f27777'}, {'max': 9, 'min': 1, 'color': '#f7adad'}, {'max': 0, 'color': '#f7e4e4'},]labels = [data[0] for data in china_data]counts = [data[1] for data in china_data]

m = Map()m.add("累计确诊", [list(z) for z in zip(labels, counts)], 'china')

#系列配置项,可配置图元样式、文字样式、标签样式、点线样式等m.set_series_opts(label_opts=opts.LabelOpts(font_size=12), is_show=False)#全局配置项,可配置标题、动画、坐标轴、图例等m.set_global_opts(title_opts=opts.TitleOpts(title='全国实时确诊数据', subtitle='数据来源:丁香园'), legend_opts=opts.LegendOpts(is_show=False), visualmap_opts=opts.VisualMapOpts(pieces=pieces, is_piecewise=True, #是否为分段型 is_show=True)) #是否显示视觉映射配置#render()会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件,也可以传入路径参数,如 m.render("mycharts.html")m.render(path='f://data/全国实时确诊数据.html')

成功运行后,就可以在f://data目录下找到“全国实时确诊数据.html”文件:

基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日—Day01_json_05

增长趋势图import numpy as npimport jsonfrom pyecharts.charts import Linefrom pyecharts import options as opts

# 读原始数据文件datafile = 'f://data/statistics_data.json'with open(datafile, 'r', encoding='UTF-8') as file: json_dict = json.loads(file.read())

# 分析各省份2月1日至今的新增确诊数据:'confirmedIncr'statistics__data = {}for province in json_dict: statistics__data[province] = [] for da in json_dict[province]: if da['dateId'] >= 20200201: statistics__data[province].append(da['confirmedIncr'])

# 获取日期列表dateId = [str(da['dateId'])[4:6] + '-' + str(da['dateId'])[6:8] for da in json_dict['湖北'] if da['dateId'] >= 20200201]

# 全国新增趋势all_statis = np.array([0] * len(dateId))for province in statistics__data: all_statis = all_statis + np.array(statistics__data[province])

all_statis = all_statis.tolist()# 湖北新增趋势hubei_statis = statistics__data['湖北']# 湖北以外的新增趋势other_statis = [all_statis[i] - hubei_statis[i] for i in range(len(dateId))]

line = Line()line.add_xaxis(dateId)line.add_yaxis("全国新增确诊病例", #图例 all_statis, #数据 is_smooth=True, #是否平滑曲线 linestyle_opts=opts.LineStyleOpts(width=4, color='#B44038'),#线样式配置项 itemstyle_opts=opts.ItemStyleOpts(color='#B44038', #图元样式配置项 border_color="#B44038", #颜色 border_width=10)) #图元的大小line.add_yaxis("湖北新增确诊病例", hubei_statis, is_smooth=True, linestyle_opts=opts.LineStyleOpts(width=2, color='#4E87ED'), label_opts=opts.LabelOpts(position='bottom'), #标签在折线的底部 itemstyle_opts=opts.ItemStyleOpts(color='#4E87ED', border_color="#4E87ED", border_width=3))line.add_yaxis("其他省份新增病例", other_statis, is_smooth=True, linestyle_opts=opts.LineStyleOpts(width=2, color='#F1A846'), label_opts=opts.LabelOpts(position='bottom'), #标签在折线的底部 itemstyle_opts=opts.ItemStyleOpts(color='#F1A846', border_color="#F1A846", border_width=3))line.set_global_opts(title_opts=opts.TitleOpts(title="新增确诊病例", subtitle='数据来源:丁香园'), yaxis_opts=opts.AxisOpts(max_=16000, min_=1, type_="log", #坐标轴配置项 splitline_opts=opts.SplitLineOpts(is_show=True),#分割线配置项 axisline_opts=opts.AxisLineOpts(is_show=True)))#坐标轴刻度线配置项line.render(path='f://data/趋势图.html')

成功运行后,就可以在f://data目录下找到“趋势图.html”文件:

基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日—Day01_json_06

全国实时确诊数据饼状图import jsonimport datetimefrom pyecharts.charts import Piefrom pyecharts import options as opts

# 读原始数据文件today = datetime.date.today().strftime('%Y%m%d') #20200315datafile = 'f://data/'+ today + '.json'with open(datafile, 'r', encoding='UTF-8') as file: json_array = json.loads(file.read())

# 分析全国实时确诊数据:'confirmedCount'字段china_data = []for province in json_array: china_data.append((province['provinceShortName'], province['confirmedCount']))china_data = sorted(china_data, key=lambda x: x[1], reverse=True) #reverse=True,表示降序,反之升序

print(china_data)# 全国疫情地图

labels = [data[0] for data in china_data]counts = [data[1] for data in china_data]

m = Pie(init_opts=opts.InitOpts(height='900px'))m.add("累计确诊", [list(z) for z in zip(labels, counts)], center=["50%", "60%"], radius=['0%', '40%'])

#系列配置项,可配置图元样式、文字样式、标签样式、点线样式等m.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}", font_size=12), is_show=False)

#全局配置项,可配置标题、动画、坐标轴、图例等m.set_global_opts(title_opts=opts.TitleOpts(title='全国实时确诊数据', subtitle='数据来源:丁香园|Power By Irving.Gao'), legend_opts=opts.LegendOpts(is_show=False, type_="scroll", pos_left="80%", orient="vertical"), )

#render()会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件,也可以传入路径参数,如 m.render("mycharts.html")m.render(path='f://data/全国实时确诊数据饼图.html')

成功运行后,就可以在f://data目录下找到“全国实时确诊数据饼图.html”文件:

基于paddle的数据可视化以及paddlepaddle安装 百度深度学习7日—Day01_json_07



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有