Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >想快速学会数据可视化?这里有一门4小时的Kaggle微课程

想快速学会数据可视化?这里有一门4小时的Kaggle微课程

作者头像
机器之心
发布于 2019-05-13 08:00:00
发布于 2019-05-13 08:00:00
1.2K00
代码可运行
举报
文章被收录于专栏:机器之心机器之心
运行总次数:0
代码可运行

机器之心整理

参与:王淑婷、路

想要制作漂亮的可视化图表吗?Kaggle 平台上有一个数据可视化的微课程,总时长才 4 小时。快来学习吧!

课程地址:https://www.kaggle.com/learn/data-visualization-from-non-coder-to-coder

课程简介

该课程为免费课程,共包含 15 节课,时长 4 小时。主讲人 Alexis Cook 曾就读于杜克大学、密歇根大学和布朗大学,在多个在线学习平台(如 Udacity 和 DataCamp)教授数据科学。

这门课程使用的数据可视化工具是 Seaborn,所以学员需要稍微了解如何写 Python 代码。不过没有任何编程经验的人也可以通过该课程学会数据可视化,正如课程名称那样:Data Visualization: from Non-Coder to Coder,透过数据可视化见证编程的魅力。

该课程包含 15 节课,分为课程讲解和练习两类,每一堂讲解课后都有一节练习课,让学员及时巩固和应用所学知识。

课程涉及对数据可视化工具 Seaborn 的介绍,如何绘制折线图、柱状图、热图、散点图、分布图,如何选择图表类型和自定义样式,课程期末项目,以及如何举一反三为自己的项目创建 notebook。课程目录如下所示:

下面,我们将选取其中一节课——散点图(Scatter Plots)进行简单介绍。

如何创建高级散点图

点进去你会在左侧看到这节课的大致内容,如下图所示,「散点图」共包含五个部分:

btw,眼尖的读者会发现,下面还有一个 comments 版块。所以,该课程还是交互式的呢,你可以边学习边评论。

通过这节课,你将学习如何创建高级的散点图。

设置 notebook

首先,我们要设置编码环境。

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pdimport matplotlib.pyplot as plt%matplotlib inlineimport seaborn as snsprint("Setup Complete")

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Setup Complete

加载和检查数据

我们将使用一个保险费用(合成)数据集,目的是了解为什么有些客户需要比其他人支付得更多。数据集地址:https://www.kaggle.com/mirichoi0218/insurance/home

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Path of the file to readinsurance_filepath = "../input/insurance.csv"

# Read the file into a variable insurance_datainsurance_data = pd.read_csv(insurance_filepath)

打印前五行,以检查数据集是否正确加载。

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
insurance_data.head()

输出:

散点图

为了创建简单的散点图,我们使用 sns.scatterplot 命令并指定以下值:

水平 x 轴(x=insurance_data['bmi'])

垂直 y 轴(y=insurance_data['charges'])

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'])

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<matplotlib.axes._subplots.AxesSubplot at 0x7f4d146c3dd8>

上面的散点图表明身体质量指数(BMI)和保险费用是正相关的,BMI 指数更高的客户通常需要支付更多的保险费用。(这也不难理解,高 BMI 指数通常意味着更高的慢性病风险。)

如果要再次检查这种关系的强度,你可能需要添加一条回归线,或者最拟合数据的线。我们通过将该命令更改为 sns.regplot 来实现这一点。

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sns.regplot(x=insurance_data['bmi'], y=insurance_data['charges'])

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/opt/conda/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result. return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval

<matplotlib.axes._subplots.AxesSubplot at 0x7f4d10de8748>

着色散点图

我们可以使用散点图展示三个变量之间的关系,实现方式就是给数据点着色。

例如,为了了解吸烟对 BMI 和保险费用之间关系的影响,我们可以给数据点 'smoker' 进行着色编码,然后将'bmi'、'charges'作为坐标轴。

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'], hue=insurance_data['smoker'])

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<matplotlib.axes._subplots.AxesSubplot at 0x7f4d10d0c6a0>

以上散点图展示了不抽烟的人随着 BMI 指数的增加保险费用会稍有增加,而抽烟的人的保险费用要增加得多得多。

要想进一步明确这一事实,我们可以使用 sns.lmplot 命令添加两个回归线,分别对应抽烟者和不抽烟者。(你会看到抽烟者的回归线更加陡峭。)

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sns.lmplot(x="bmi", y="charges", hue="smoker", data=insurance_data)

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/opt/conda/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result. return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval

<seaborn.axisgrid.FacetGrid at 0x7f4d10c73240>

sns.lmplot 命令与其他命令有一些不同:

  • 这里没有用 x=insurance_data['bmi'] 来选择 insurance_data 中的'bmi'列,而是设置 x="bmi"来指定列的名称。
  • 类似地,y="charges" 和 hue="smoker"也包含列的名称。
  • 我们使用 data=insurance_data 来指定数据集。

最后,还有一个图要学。我们通常使用散点图显示两个连续变量(如"bmi"和 "charges")之间的关系。但是,我们可以调整散点图的设计,来侧重某一个类别变量(如"smoker")。我们将这种图表类型称作类别散点图(categorical scatter plot),可使用 sns.swarmplot 命令构建。

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sns.swarmplot(x=insurance_data['smoker'], y=insurance_data['charges'])

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<matplotlib.axes._subplots.AxesSubplot at 0x7f4d10c50c88>

除此之外,这个图向我们展示了:

  • 不抽烟的人比抽烟的人平均支付的保险费用更少;
  • 支付最多保险费用的客户是抽烟的人,而支付最少的客户是不抽烟的人。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
☀️苏州程序大白一文从基础手把手教你Python数据可视化大佬☀️《❤️记得收藏❤️》
下载类库Numpy, SciPy, matplotlib, pandas 和 seaborn。可以参考本文
苏州程序大白
2021/10/12
1K0
《Pandas Cookbook》第11章 用Matplotlib、Pandas、Seaborn进行可视化
一章内容介绍三块内容,感觉哪个都没说清。 In[1]: import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline 1. matplotlib入门 Matplotlib提供了两种方法来作图:状态接口和面向对象。 # 状态接口是通过pyplot模块来实现的,matplotlib会追踪绘图环境的当前状态 # 这种方法适合快速画一些简单
SeanCheney
2018/11/29
1.7K0
《Pandas Cookbook》第11章 用Matplotlib、Pandas、Seaborn进行可视化
seaborn绘图入门1(lineplot+barplot+heatmap+scatterplot)
1. lineplot 线图 # -*- coding:utf-8 -*- # @Python Version: 3.7 # @Time: 2020/5/14 0:10 # @Author: Michael Ming # @Website: https://michael.blog.csdn.net/ # @File: seabornExercise.py # @Reference: import pandas as pd pd.plotting.register_matplotlib_convert
Michael阿明
2020/07/13
7500
seaborn绘图入门1(lineplot+barplot+heatmap+scatterplot)
Kaggle共享单车数据分析——数据可视化
本文数据来源于Kaggle_Bike_Sharing_Demand。主要内容为模型前期的简要数据分析及可视化。
带萝卜
2020/10/26
1.5K0
Kaggle共享单车数据分析——数据可视化
python可视化之seaborn
数据可视化的文章我很久之前就打算写了,因为最近用Python做项目比较多,于是就花时间读了seaborn的文档,写下了这篇。 数据可视化在数据挖掘中是一个很重要的部分,将数据用图表形式展示可以很直观地看到数据集的特点(比如正态分布,长尾分布,聚集等),方便下一步怎么对数据进行处理。
vincentbbli
2021/08/18
2.5K0
Python数据分析之Seaborn(回归分析绘图)
lmplot是一种集合基础绘图与基于数据建立回归模型的绘图方法。旨在创建一个方便拟合数据集回归模型的绘图方法,利用hue、col、row参数来控制绘图变量。
AI异构
2020/07/29
2K0
Python数据分析之Seaborn(回归分析绘图)
【数据分析可视化】病毒传播-随笔
# 基础 import numpy as np import pandas as pd from pandas import DataFrame, Series from datetime import datetime import json import warnings warnings.filterwarnings('ignore')# 忽略python运行过程中的警告 # 可视化 import matplotlib.pyplot as plt import seaborn as sns from
瑞新
2020/07/07
3970
【数据分析可视化】病毒传播-随笔
【数据分析与可视化】股票市场分析实战之历史趋势分析
# 基本信息 import numpy as np import pandas as pd from pandas import Series, DataFrame # 股票数据读取 import pandas_datareader as pdr # 可视化 import matplotlib.pyplot as plt import seaborn as sns #%matplotlib inline # time from datetime import datetime start = date
瑞新
2020/07/07
3840
【数据分析与可视化】seaborn实现柱状图和热力图
在线加载数据 https://github.com/mwaskom/seaborn 解决数据不存在 【解决sns加载数据报错】sns.load_dataset(“xxx”)报错 热力图 imp
瑞新
2020/07/07
8290
【数据分析与可视化】seaborn实现柱状图和热力图
数据挖掘从入门到放弃(五)seaborn 的数据可视化
“ 数据可视化可以让我们很直观的发现数据中隐藏的规律,察觉到变量之间的互动关系,帮助我们更好地解释现象和发现数据价值,做到一图胜千文的说明效果。http://seaborn.pydata.org/index.html”
数据社
2020/05/21
2.2K0
数据可视化(17)-Seaborn系列 | 回归模型图lmplot()
案例代码已上传:Github https://github.com/Vambooo/SeabornCN
数据分析可视化
2019/10/02
1.6K0
数据可视化(17)-Seaborn系列 | 回归模型图lmplot()
Seaborn 可视化
Seaborn是基于matplotlib的图形可视化python包。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。
@小森
2024/03/15
2620
Seaborn 可视化
数据可视化干货:使用pandas和seaborn制作炫酷图表(附代码)
导读:我们介绍过用matplotlib制作图表的一些tips,感兴趣的同学可以戳→纯干货:手把手教你用Python做数据可视化(附代码)。matplotlib是一个相当底层的工具。你可以从其基本组件中组装一个图表:数据显示(即绘图的类型:线、条、框、散点图、轮廓等)、图例、标题、刻度标记和其他注释。
前端皮皮
2021/05/18
5.7K0
数据可视化干货:使用pandas和seaborn制作炫酷图表(附代码)
Python可视化 | Seaborn教你一行代码生成数据可视化
处理一组数据时,通常要做的第一件事就是了解变量的分布。本文会介绍seaborn中用于可视化单变量的一些函数。
郭好奇同学
2021/11/24
1.4K0
Python可视化 | Seaborn教你一行代码生成数据可视化
70个精美图快速上手seaborn!
Seaborn是一个基于Python的数据可视化库,它建立在Matplotlib之上,提供了一种更简单、更美观的方式来创建统计图形。Seaborn旨在帮助用户轻松地生成有吸引力和信息丰富的可视化结果。
皮大大
2023/05/31
2.7K0
70个精美图快速上手seaborn!
【数据分析可视化】seaborn实现直方图和密度图
import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import Series, DataFrame %matplotlib inline # 引入 import seaborn as sns /Users/bennyrhys/opt/anaconda3/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: numpy.ufunc
瑞新
2020/07/07
9490
【数据分析可视化】seaborn实现直方图和密度图
用Seaborn实现高级数据分析与可视化
今日推荐:零基础入门Hadoop:IntelliJ IDEA远程连接服务器中Hadoop运行WordCount
一键难忘
2024/11/18
3180
可视化神器Seaborn的超全介绍
Seaborn是一个用Python制作统计图形的库。它建立在matplotlib之上,并与panda数据结构紧密集成
HuangWeiAI
2019/12/30
2.3K0
数据可视化详解+代码演练
作者 | Walker 编辑 | 磐石 出品 | 磐创AI技术团队 【磐创AI导读】:本文详细介绍了两个数据可视化工具库并附python演练。欢迎大家点击上方蓝字关注我们的公众号:磐创AI。 我们本篇文章讲的数据可视化是面向开发人员的,是利用python中一些可视化库如:matplotlib或是seaborn通过对数据可视化,来分析数据表格中各维度间的关系或是数据分布的特性,从而有助于我们更好的理解数据,帮助我们进行下一步数据分析或是为数据建模提供方向。本篇文章的方法并非是面向用户做数据展示或面向企业做数据
磐创AI
2018/07/03
1.3K0
小白也能看懂的seaborn入门示例
Seaborn就是让困难的东西更加简单。它是针对统计绘图的,一般来说,能满足数据分析90%的绘图需求。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,应该把Seaborn视为matplotlib的补充,而不是替代物。
1480
2019/11/07
4.8K0
小白也能看懂的seaborn入门示例
推荐阅读
相关推荐
☀️苏州程序大白一文从基础手把手教你Python数据可视化大佬☀️《❤️记得收藏❤️》
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验