关于人工智能:数据可视化实用教程

9次阅读

共计 2451 个字符,预计需要花费 7 分钟才能阅读完成。

作者 |Soner Yıldırım
编译 |VK
起源 |Towards Data Science

探索性数据分析(EDA)是数据迷信或机器学习管道的重要组成部分。为了应用数据创立一个强壮且有价值的产品,你须要钻研数据,了解变量之间的关系,以及数据的底层构造。数据可视化是 EDA 中最无效的工具之一。

在这篇文章中,咱们将尝试应用可视化性能来钻研客户散失数据集:https://www.kaggle.com/sonali…

咱们将创立许多不同的可视化成果,并尝试在每一个可视化中引入 Matplotlib 或 Seaborn 库的一个个性。

咱们首先导入相干库并将数据集读入 pandas 数据帧。

import pandas as pd
import numpy as np

import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style='darkgrid')
%matplotlib inline

df = pd.read_csv("/content/Churn_Modelling.csv")

df.head()

该数据集蕴含 10000 个客户(即行)和 14 个对于银行客户及其产品的特色。这里的指标是应用所提供的特色来预测客户是否会散失(即退出 =1)。

让咱们从 catplot 开始,这是 Seaborn 库的一个分类图。

sns.catplot(x='Gender', y='Age', data=df, hue='Exited', height=8, aspect=1.2)

钻研发现:45 到 60 岁的人比其余年龄段的人更容易到职(即来到公司)。女性和男性之间没有太大的差异。

hue参数用于依据类别变量辨别数据点。

下一个可视化是散点图,它显示了两个数值变量之间的关系。让咱们看看客户的工资和余额是否相干。

plt.figure(figsize=(12,8))

plt.title("Estimated Salary vs Balance", fontsize=16)

sns.scatterplot(x='Balance', y='EstimatedSalary', data=df)

咱们第一次应用 matplotlib.pyplot 接口来创立 Figure 对象并设置题目。而后,咱们用 Seaborn 在这个图形对象上画出了理论的图表。

钻研后果:预计工资与余额之间不存在有意义的关系或相关性。余额仿佛具备正态分布(不包含余额为零的客户)。

下一个可视化是箱线图,它显示了一个变量在中位数和四分位数上的散布。

plt.figure(figsize=(12,8))

ax = sns.boxplot(x='Geography', y='Age', data=df)

ax.set_xlabel("Country", fontsize=16)
ax.set_ylabel("Age", fontsize=16)

咱们还应用 set_xlabel 和 set_ylabel 调整了 x 和 y 轴的字体大小。

以下是箱线图:

中值是所有点排序时两头的点。Q1(第一个或下四分位数)是数据集下半局部的中值。Q3(第三或上四分位数)是数据集上半局部的中值。

因而,箱线图为咱们提供了对于散布和异样值的概念。在咱们创立的箱线图中,顶部有许多异样值(用点示意)。

发现:年龄变量的散布是右偏的。因为上侧的异样值,平均值大于中值。

在变量的单变量散布中能够察看到右偏态。让咱们创立一个 distplot 来察看散布。

plt.figure(figsize=(12,8))

plt.title("Distribution of Age", fontsize=16)

sns.distplot(df['Age'], hist=False)

左边的尾巴比右边的重。起因是咱们在箱线图上察看到的异样值。

distplot 在默认状况下也提供了一个直方图,然而咱们应用 hist 参数更改了它。

Seaborn 库还提供了不同类型的 pair 图,这些图提供了变量之间成对关系的概述。让咱们先从数据集中随机抽取一个样本,使曲线图更具吸引力。原始数据集有 10000 个观测值,咱们将选取一个蕴含 100 个观测值和 4 个特色的样本。

subset=df[['CreditScore','Age','Balance','EstimatedSalary']].sample(n=100)

g = sns.pairplot(subset, height=2.5)

在对角线上,咱们能够看到变量的直方图。网格的另一部分示意变量与变量之间的关系。

另一个察看成对关系的工具是热图,它采纳矩阵并生成黑白编码图。热图次要用于查看特色和指标变量之间的相关性。

让咱们首先应用 pandas 的 corr 函数创立一些特色的相关矩阵。

corr_matrix = df[['CreditScore','Age','Tenure','Balance',
'EstimatedSalary','Exited']].corr()

咱们当初能够绘制这个矩阵。

plt.figure(figsize=(12,8))

sns.heatmap(corr_matrix, cmap='Blues_r', annot=True)

发现:“年龄”和“余额”列与客户散失呈正相干。


随着数据量的减少,剖析和摸索数据变得越来越艰难。可视化是探索性数据分析中的一个重要工具,当它被无效和失当地应用时,它就有了弱小的力量。可视化也有助于向你的听众传播信息或通知他们你的发现。

没有一种适宜所有类型的可视化办法,因而某些工作须要不同类型的可视化。依据工作的不同,不同的抉择可能更适合。所有可视化都有一个共同点,那就是它们是探索性数据分析和数据迷信中讲故事局部的好工具。

原文链接:https://towardsdatascience.co…

欢送关注磐创 AI 博客站:
http://panchuang.net/

sklearn 机器学习中文官网文档:
http://sklearn123.com/

欢送关注磐创博客资源汇总站:
http://docs.panchuang.net/

正文完
 0