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=["萼片宽","花瓣长"]) 

     

  • 相关阅读:
    VS2008编写MFC程序--使用opencv2.4()
    November 02nd, 2017 Week 44th Thursday
    November 01st, 2017 Week 44th Wednesday
    October 31st, 2017 Week 44th Tuesday
    October 30th, 2017 Week 44th Monday
    October 29th, 2017 Week 44th Sunday
    October 28th, 2017 Week 43rd Saturday
    October 27th, 2017 Week 43rd Friday
    October 26th, 2017 Week 43rd Thursday
    October 25th, 2017 Week 43rd Wednesday
  • 原文地址:https://www.cnblogs.com/cgmcoding/p/13274481.html
Copyright © 2011-2022 走看看