zoukankan      html  css  js  c++  java
  • 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=["萼片宽","花瓣长"]) 

     

  • 相关阅读:
    封装简单的mvc框架
    php中date函数获取当前时间的时区误差解决办法
    PHP中date函数参数详解
    PHP中字符串补齐为定长
    php将xml文件转化为数组:simplexml_load_string
    PHP基于变量的引用实现的树状结构
    EcShop后台添加菜单[步骤]
    Cmd批处理语法实例
    Mysql语句的批量操作[修改]
    HTML前端技术(JS的使用,包括数组和字符串)
  • 原文地址:https://www.cnblogs.com/cgmcoding/p/13274481.html
Copyright © 2011-2022 走看看