如何使用Python Seaborn进行探索性数据分析

本文是一篇关于使用Python Seaborn库进行探索性数据分析(EDA)的教程,涵盖直方图、条形图、散点图、箱线图和热图的创建,用于分析数值和分类变量。通过实例展示了如何利用Seaborn发现数据中的模式、趋势和关系,特别使用了一个YouTube数据集进行演示。
摘要由CSDN通过智能技术生成

这是使用Python中seaborn库进行探索性数据分析(EDA)的教程。

除了Python中的数据清理:最终指南(2020)之外,EDA是数据分析(或机器学习/统计建模)中的另一个关键过程。

在本指南中,您将发现(带有示例):

  • 如何使用Seaborn Python软件包生成有用且美观的可视化效果,包括直方图,条形图,散点图,箱线图和热图。
  • 如何使用不同的图探索单变量,多元数值和分类变量
  • 如何发现多个变量之间的关系
  • 还有更多。

让我们开始吧!

什么是探索性数据分析(EDA),为什么?

探索性数据分析(EDA)是一种分析数据集以总结其主要特征的方法,通常使用视觉方法。

可以使用统计模型,也可以不使用统计模型,但是EDA主要用于查看数据可以在形式建模或假设检验任务之外告诉我们什么。

在进一步分析或建模之前,先探索数据很重要。 在此过程中,我们可以从数据集中获得见解的概述; 我们可以发现不容易发现的趋势,模式和关系。

什么是seaborn?

Seaborn :统计数据可视化是用于执行EDA的流行Python库。

它基于matplotlib,并提供了用于绘制引人入胜且内容丰富的统计图形的高级界面。

在这篇文章中,我们将以一个经过刮擦和清理的YouTube数据集为例。

在上一篇文章“ 如何使用机器学习技术获取更多YouTube观看次数”中 ,我们建议了如何基于同一数据集获得更多观看次数。

在探索之前,让我们将数据作为数据集df读入Python

# import packages

import pandas as pd
import numpy as np

import json
import datetime
import math

from datetime import timedelta, datetime

import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import matplotlib
plt.style.use( 'ggplot' )
from matplotlib.pyplot import figure

%matplotlib inline
matplotlib.rcParams[ 'figure.figsize' ] = ( 12 , 8 )

pd.options.mode.chained_assignment = None

import seaborn as sns

# read the data
df = pd.read_pickle( 'sydney.pkl' )

df包含729行和60个变量。 它为悉尼的YouTube频道中的每个视频记录了不同的功能,例如:

  • 观看次数 :视频的观看次数
  • 长度 :视频/锻炼的时间,以分钟为单位
  • 卡路里 :视频中锻炼过程中燃烧的卡路里数
  • days_since_posted :自视频发布到现在的天数
  • date :发布视频/锻炼的日期
    悉尼几乎每天发布一次视频/锻炼
  • training_type :视频关注的锻炼类型

同样,您可以在如何使用机器学习技术获取更多YouTube视图中找到更多详细信息。 我们将在这里使用此数据集。

单变量分析:数值变量

首先,让我们探讨数字单变量变量。

我们创建df_numeric仅包含7个数字功能。

df_numeric = df.select_dtypes(include= 'number' )

df_numeric

直方图:单变量

直方图是我们最喜欢的图之一。

直方图是数值数据分布的近似表示。

要构建直方图,第一步是“合并”(或“存储桶”)值的范围(即,将值的整个范围划分为一系列的间隔),然后计算每个间隔中有多少个值。

Seaborn的函数distplot具有以下选项:

  • bins :垃圾箱设置
    使用不同的垃圾箱设置来绘制变量以发现模式很有用。 如果我们不设置该值,则库将为我们找到一个有用的默认值。
  • kde :是否绘制高斯核密度估计
    这有助于估计连续随机变量的概率密度函数的形状。 可以在seaborn的页面上找到更多详细信息。
  • 地毯 :是否在支撑轴上绘制地毯图
    这会在每次观察时绘制一个小的垂直刻度。 这有助于了解变量值的确切位置。

让我们先来看一个变量:length,它代表视频的长度。

sns.distplot(df_numeric[ 'length' ], bins= 50 , kde= True , rug= True )

我们可以在下面的图中看到kde线和地毯条。

悉尼频道的视频通常长30分钟,40分钟或50分钟,呈现出多模式的模式。

直方图:多个变量

通常,我们要可视化多个数字变量并一起查看它们。

我们在下面构建函数plot_multiple_histograms来绘制特定变量组的直方图。

# this plots multiple seaborn histograms on different subplots.
# 
def plot_multiple_histograms (df, cols) :
    num_plots = len(cols)
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值