文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【机器学习】可视化模块-seaborn详细教程

2023-09-10 08:40

关注

文章目录


Seaborn是一个基于Python语言的数据可视化库,它能够创建高度吸引人的可视化图表,是在matplotlib库的基础上,提供了更为简便的API和更为丰富的可视化函数,使得数据分析与可视化变得更加容易。Seaborn的设计哲学是以美学为中心,致力于创建最佳的数据可视化,同时也保持着与Python生态系统的高度兼容性,可以轻松集成到Python数据分析以及机器学习的工作流程中.
特点:

1.安装

pip install seaborn

由于需要其他模块依赖,还需要安装

pip install numpypip install scipypip install pandas

2.导包

import numpy as npimport pandas as pdfrom scipy import statsimport matplotlib.pyplot as pltimport seaborn as snssns.set(style="darkgrid")

1.统计关系

data=sns.load_dataset('tips')sns.relplot(x='total_bill',y='tip',data=data)plt.show()

在这里插入图片描述
添加参数
hue ->颜色 style->风格 size->尺寸

sns.relplot(x='total_bill',y='tip',hue="smoker",style='darkgrid',size=10,data=data)

在这里插入图片描述

data=np.random.rand(100)sns.relplot(kind='line',data=data)

在这里插入图片描述

fmri=sns.load_dataset('fmri')sns.relplot(x="timepoint", y="signal", hue="subject",            col="region", row="event", height=4,            kind="line", estimator=None, data=fmri)

在这里插入图片描述

2.分类关系

unniform_data=np.random.rand(8,8)#vim,vmax表示范围 ,center表示中心数据大小heatmap=sns.heatmap(unniform_data,vmin=0,vmax=1,center=0)

在这里插入图片描述可以显示每个数据,增加间隔

flights=sns.load_dataset('flights')#读取航班数据flights=flights.pivot("month",'year',"passengers")#annot是否显示数据,fmt字体格式,linewwidth间距,cmap调色板ax=sns.heatmap(flights,annot=True,fmt='d',linewidths=.5,cmap="YlGnBu")

在这里插入图片描述

data=sns.load_dataset('tips')sns.catplot(x="day", y="total_bill", data=data)

在这里插入图片描述

data=sns.load_dataset('tips')sns.catplot(x='day',y='total_bill',kind='box',data=data)plt.savefig('1.png')plt.show()

在这里插入图片描述

data = sns.load_dataset("diamonds")sns.catplot(x="cut", y="price", kind="boxen",            data=data.sort_values("cut"))

在这里插入图片描述

data = sns.load_dataset("titanic")sns.catplot(x="alone", y="age", hue="class", kind="bar", data=data)

在这里插入图片描述

3.数据集的分布

data= np.random.normal(size=100)sns.distplot(data)

在这里插入图片描述

import numpy as npmean = [0, 0]cov = [[1, 0.5], [0.5, 1]]samples = np.random.multivariate_normal(mean, cov, 100)

生成核密度图

mean, cov = [0, 1], [(1, .5), (.5, 1)]data = np.random.multivariate_normal(mean, cov, 100)df=pd.DataFrame(data,columns=['x','y'])sns.jointplot(x="x", y="y", data=df, kind="kde")

在这里插入图片描述

iris = sns.load_dataset("iris")sns.pairplot(iris)

在这里插入图片描述

4.线性关系

import matplotlib.pyplot as pltimport seaborn as snssns.set(color_codes=True)data=sns.load_dataset("tips")sns.regplot(x='total_bill',y="tip",data=data)

在这里插入图片描述
当变量有离散值时候,可以拟合线性回归

sns.lmplot(x="size", y="tip", data=data)

在这里插入图片描述
由于可能得到不是最优解,所以可以添加噪音或者综合每个离散箱中的观测值,以绘制集中趋势的估计值和置信区间。

sns.lmplot(x="size", y="tip", data=data,x_jitter=0.04)

在这里插入图片描述

sns.lmplot(x="size", y="tip", data=data,x_estimator=np.mean)

在这里插入图片描述

5. 结构化构图

sns居于强大的网格图功能

data=sns.load_dataset('tips')g=sns.FacetGrid(data,col='time')

在这里插入图片描述

data=sns.load_dataset('tips')g=sns.FacetGrid(data,col='sex',hue='smoker')g.map(plt.scatter,'tip','total_bill',alpha=0.9)

在这里插入图片描述

6.风格设置

seaborn内置了5种主题风格

sns.set_style("whitegrid")#设置主题风格

可以根据喜好与情况选择,也可以自定义
通过给 axes_style() 与set_style()函数中的 rc 参数传递一个参数字典来实现,具体想深入研究,可以看文档
实例

sns.set_style("darkgrid", {"axes.facecolor": "0.6"})

seaborn作为一个强大的可视化模块,在数据分析机器学习有很大的作用,但其功能远不在这里,如果想更加深入了解,可以访问其 官网地址或者中文文档
希望大家多多支持,一起努力学习,后续慢慢分享更多新奇有趣的东西

来源地址:https://blog.csdn.net/qq_61260911/article/details/129904132

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯