sns.pairplot()
pairplot:pair是成对的意思,即是说这个用来展现变量两两之间的关系,线性、非线性、相关等等
使用鸢尾花数据画图
#两种导入方式,这次是直接从sklearn.datasets导入 import pandas as pd from sklearn import datasets import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline sns.set_style('white',{'font.sans-serif':['simhei','Arial']}) #解决中文不能显示问题 iris=datasets.load_iris() iris_data= pd.DataFrame(iris.data,columns=iris.feature_names) iris_data['species']=iris.target_names[iris.target] iris_data.head(3).append(iris_data.tail(3)) #前面三条+后面三条 iris_data.rename(columns={"sepal length (cm)":"萼片长", "sepal width (cm)":"萼片宽", "petal length (cm)":"花瓣长", "petal width (cm)":"花瓣宽", "species":"种类"},inplace=True) kind_dict = { "setosa":"山鸢尾", "versicolor":"杂色鸢尾", "virginica":"维吉尼亚鸢尾" } iris_data["种类"] = iris_data["种类"].map(kind_dict)
画变量之间关系的图
#全部变量都放进去 sns.pairplot(iris_data)
可以看到对角线上是各个属性的直方图(分布图),而非对角线上是两个不同属性之间的相关图,
从图中我们发现,花瓣的长度和宽度之间以及萼片的长短和花瓣的长、宽之间具有比较明显的相关关系
#kind:用于控制非对角线上图的类型,可选'scatter'与'reg' #diag_kind:用于控制对角线上的图分类型,可选'hist'与'kde' sns.pairplot(iris_data,kind='reg',diag_kind='ked') sns.pairplot(iris_data,kind='reg',diag_kind='hist')
#hue:针对某一字段进行分类 sns.pairplot(iris_data,hue='种类')
经过hue分类后的pairplot中发现,不论是从对角线上的分布图还是从分类后的散点图,
都可以看出对于不同种类的花,其萼片长、花瓣长、花瓣宽的分布差异较大,换句话说,
这些属性是可以帮助我们去识别不同种类的花的。
比如,对于萼片、花瓣长度较短,花瓣宽度较窄的花,那么它大概率是山鸢尾
#vars:研究某2个或者多个变量之间的关系vars, #x_vars,y_vars:选择数据中的特定字段,以list形式传入需要注意的是,x_vars和y_vars要同时指定 sns.pairplot(iris_data,vars=["萼片长","花瓣长"]) sns.pairplot(iris_data,x_vars=["萼片长","花瓣宽"],y_vars=["萼片宽","花瓣长"])
分类:
画图(sns,plt,plot)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)