精华内容
下载资源
问答
  • titanic数据集下载

    2018-04-21 20:21:39
    titanic数据集,分为训练集和测试集,训练集有12列特征
  • kaggle Titanic 数据集下载

    千次阅读 多人点赞 2020-04-29 11:25:45
    链接:https://pan.baidu.com/s/1kEcyx7lwAdMNYTvM4WhhFw 提取码:3gog

    链接:https://pan.baidu.com/s/1kEcyx7lwAdMNYTvM4WhhFw
    提取码:3gog

    展开全文
  • kaggle大赛Titanic数据集

    2020-12-18 19:17:34
    Titanic数据集下载链接 链接:https://pan.baidu.com/s/1JCl2-_E_OY_u57goOyl2ag 提取码:flz4 复制这段内容后打开百度网盘手机App,操作更方便哦

    Titanic数据集下载链接

    网盘链接: Titanic数据集.
    提取码:jmzp

    也可以去我的资源那下载压缩包,里面内容:
    在这里插入图片描述

    展开全文
  • Titanic数据集.zip

    2020-12-31 18:20:48
    kaggle大赛Titanic数据集,之前去kaggle里下载太麻烦了,现在已经打包好了
  • Titanic数据集百度云盘下载

    千次阅读 2020-10-16 19:42:52
    百度云盘下载 链接:https://pan.baidu.com/s/1jF99BjxeRXxSUDhCcZ5RjQ 提取码:8gx6

    百度云盘下载
    链接:https://pan.baidu.com/s/1jF99BjxeRXxSUDhCcZ5RjQ
    提取码:8gx6

    展开全文
  • 一、Titanic数据集下载 二、Titanic数据集预处理 1数据读取及查看 2数据预处理 三、基于Titanic数据集的Matplotlib&Seaborn绘图 1分布图绘制 1.1displot(单变量绘制) 1.2joinplot(双变量+单变量...

    目录

    一、Titanic数据集下载

    二、Titanic数据集预处理

    1数据读取及查看

    2数据预处理

    三、基于Titanic数据集的Matplotlib&Seaborn绘图

    1分布图绘制

    1.1displot(单变量绘制)

    1.2joinplot(双变量+单变量统一绘制)

    1.3kdeplot(核密度估计图)

    1.4 pairplot(主要用于特征两两对比作图)

    1.5 rugplot

    2 分类数据可视化-散点图

    2.1stripplot(分布散点图)

    2.2swarmplot(分簇散点图)

    3分类数据可视化-分布图

    3.1boxplot

    3.2 violinplot​​​

    3.3 lvplot

    4分类数据可视化-统计图

    4.1 barplot(直方图)

    4.2 countplot(计数柱状图)

    4.3 pointplot(折线图)

    7 factorplot

    8 heatmap

    9 tsplot


    一、Titanic数据集下载

    Titanic数据集(训练+测试)提取码:d4t6【PS:本文只用到了train数据集】

    二、Titanic数据集预处理

    对于所拿到的Titanic数据集首先做一定的处理,为后续绘图工作的进行打下基础

    1数据读取及查看

    import numpy as np
    import pandas as pd
    import re
    import warnings
    warnings.filterwarnings('ignore')
    
    #读取数据
    train_data=pd.read_csv('.\\train.csv')
    #查看数据
    train_data.info()

    得到的结果为:

    Data columns (total 12 columns):
    PassengerId    891 non-null int64
    Survived       891 non-null int64
    Pclass         891 non-null int64
    Name           891 non-null object
    Sex            891 non-null object
    Age            714 non-null float64
    SibSp          891 non-null int64
    Parch          891 non-null int64
    Ticket         891 non-null object
    Fare           891 non-null float64
    Cabin          204 non-null object
    Embarked       889 non-null object

    可以看到,数据集有12个属性,其中Age(714)、Cabin(204)、Embarked(889)存在缺失值,因此下面对该数据集进行数据预处理(此处为缺失值处理)。

    2数据预处理

    #Embarked处理方法:由于在属性(在哪儿上船)相对于学习来说不是很重要,可以对缺失值赋均值或者众数(此处选众数)
    train_data.Embarked[train_data.Embarked.isnull()]=train_data.Embarked.dropna().mode().values
    
    #Cabin处理方法:对于标称属性,可以赋一个代表缺失的值,比如'U0',因为缺失值本身也代表着一些隐含信息
    train_data['Cabin']=train_data.Cabin.fillna('U0')#=train_data.Cabin[train_data.Cabin.isnull()]='U0'
    
    #Age处理方法:因为Age在该数据集里是一个相当重要的特征,所以保证一定的缺失值田中准确率是非常重要的
    #一般情况下使用回归或随机森林等模型来预测确实属性的值(此处使用随机森林预测模型)
    #选取数据集中的数值属性作为特征(sklearn模型只能处理数值属性),此处仅选数值特征,实际应用中需要将非数值特征转化为数值特征
    from sklearn.ensemble import RandomForestRegressor
    age_df=train_data[['Age','Survived','Fare','Parch','Pclass','SibSp']]
    age_df_notnull=age_df.loc[(train_data['Age'].notnull())]
    age_df_isnull=age_df.loc[(train_data['Age'].isnull())]
    X=age_df_notnull.values[:,1:]
    Y=age_df_notnull.values[:,0]
    #使用随机森林模型训练数据#n_jobs=-1:使用机器的所有核
    RFR=RandomForestRegressor(n_estimators=1000, n_jobs=-1)
    RFR.fit(X,Y)
    predictAges=RFR.predict(age_df_isnull.values[:,1:])
    train_data.loc[train_data['Age'].isnull(),['Age']]=predictAges
    
    #查看缺失值处理后的数据
    train_data.info()

    缺失值处理后的数据为:

    Data columns (total 12 columns):
    PassengerId    891 non-null int64
    Survived       891 non-null int64
    Pclass         891 non-null int64
    Name           891 non-null object
    Sex            891 non-null object
    Age            891 non-null float64
    SibSp          891 non-null int64
    Parch          891 non-null int64
    Ticket         891 non-null object
    Fare           891 non-null float64
    Cabin          891 non-null object
    Embarked       891 non-null object
    dtypes: float64(2), int64(5), object(5)

    可以看到,此时的数据集为完整数据集,没有缺失的数据,因此下面我们就可以拿该数据集进行绘图操作了。

    三、基于Titanic数据集的Matplotlib&Seaborn绘图

    首先简单介绍一下Matplotlib和seaborn的关系:

    Seaborn是python中基于matplotlib的统计绘图模块,其基于Matplotlib 核心库进行了更高级的 API 封装,可以让我们轻松地画出更漂亮的图形。而 Seaborn 的漂亮主要体现在配色更加舒服、以及图形元素的样式更加细腻。如果说matplotlib是“tries to make easy things easy and hard things possible”,那么seaborn则是让“hard things”也变简单。Seaborn和matplotlib的区别在于,seaborn把绘图风格参数与数据参数分开设置。这样我们可以轻易的改变图像的风格。

    下面开始Seaborn的使用

    sns.set()

    import matplotlib.pyplot as plt
    import seaborn as sns
    sns.set()#使用set设置默认样式

    此处sns.set() 采用了默认参数,分别为:

    sns.set(
    context='notebook', style='darkgrid', palette='deep',
    font='sans-serif', font_scale=1, color_codes=False, rc=None
    )

    其中各参数的作用如下:

    (1)context=' '参数

    设置输出图片的大小尺寸(scale),分别有 {paper,notebook,talk,poster} 四个值。其中poster>talk>notebook>paper。

    (2)style=' '参数

    控制默认样式(主题),分别有{darkgrid,whitegrid,dark,white,ticks}:darkgrid(灰色背景+白网格),whitegrid(白色背景+黑网格),dark(仅灰色背景),white(仅白色背景),ticks(坐标轴带刻度),修改主题也可以使用sns.set_style(' ')函数。

    建议在绘制大量数据元素时,使用whitegrid主题;如果想突出带有固定模式的数据时,建议不使用网格,即dark/white主题;在体现少量特殊的数据元素结构时,使用ticks主题。

    若想要隐藏右方和上方的坐标轴,可以使用despine()函数将其去掉,despine()只有在主题为white或者ticks主题时起作用sns.despine(left=True, bottom=True, right=False, top=False)

    (3)palette=' '参数

    预设的调色板。分别有{deep,muted,bright,pastel,dark,colorblind} 等,可以自行更改查看它们之间的不同。

    (4)font=' '参数

    用于设置字体,font_scale=设置字体大小,color_codes=不使用调色板而采用先前的'r'等色彩缩写

    1分布图绘制

    1.1displot(单变量绘制)

    displot()集合了matplotlib的hist()核函数估计kdeplot的功能,该函数包含了绝大多数单变量可视化的能力,增加了rugplot分布观测条显示与利用scipy库fit拟合参数分布的新颖用途。

    seaborn.distplot(
    a,bins=None,hist=True,kde=True, rug=False, fit=None, hist_kws=None, 
    kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False,
    norm_hist=False, axlabel=None, label=None, ax=None
    )
    

    各参数含义如下:

    • bin :matplotlib hist()的参数,控制数据切分数量
    • kde是否显示高斯分布密度图
    • hist是否显示直方图
    • rug在X轴上画一些分布线,控制是否生成观测数值的小细条
    • fit控制拟合的参数分布图形,直观地评估器与观测数据的对应关系
    • hist_kws,kde_kws,rug_kws,fit_kws参数接收字典类型,可以自行定义更多高级的样式
    • norm_hist 若为True,则直方图高度显示的为密度而非计数(在含有kde图像中默认为True)
    • label  图例
    • axlabel制定横轴的说明(横坐标名称)
    • ax是指明若在绘制子图的情况下,该图位于第几个子图

    绘图示例:

    绘制Titanic上成员的年龄分布

    #1.1.1
    #subplot()是将整个figure均等分割,而axes()则可以在figure上画图。
    f, ax = plt.subplots(1,2,figsize=(6, 6))
    sns.distplot(train_data['Age'], axlabel='Age1', ax=ax[0])#左
    sns.distplot(train_data['Age'], kde=False,axlabel='Age2', ax=ax[1],norm_hist=False)#右
    plt.show()
    

    #1.1.2
    #拟合gamma分布:图中黑色的线即为gamma分布
    import scipy as sp
    sns.distplot(train_data['Age'], axlabel='Age3',fit=sp.stats.gamma,kde=False)
    plt.show()

    1.2joinplot(双变量+单变量统一绘制)

    联合分布

    1.3kdeplot(核密度估计图)

    核密度估计是在概率论中用来估计未知的密度函数,属于非参数检验方法之一。通过核密度估计图可以比较直观的看出数据样本本身的分布特征。

    seaborn.kdeplot(data,data2=None,shade=False,vertical=False,kernel='gau',bw='scott',
    gridsize=100,cut=3,clip=None,legend=True,cumulative=False,shade_lowest=True,cbar=False,
    cbar_ax=None, cbar_kws=None, ax=None, *kwargs)
    
    

    各参数含义如下:

    • shade :若为True,则在kde曲线下面的区域中进行阴影处理,若做阴影处理,可加设color参数控制曲线及阴影的颜色
    • cut:表示绘制的时候切除带宽往数轴极限数值的多少(默认为3),配合bw参数使用
    • clip:表示查看部分结果
    • cumulative:是否绘制累积分布
    • vertical:表示以X轴进行绘制还是以Y轴进行绘制
    • data,data2:若只有data则表示一元kde图像,若存在两个data2则表示图像为二元kde图像
    • cbar:若为True,则会添加一个颜色棒(颜色棒在二元kde图像中才有)
    • kernel:核函数,代表性的6种核函数如下:

    gau (Gaussian)

    cos(Cosine)

    biw(Quartic(biweight))

    epa(Epanechnikov)

    tri (Tricube)

    triw (Triweight)

    • gridsize:每个格网里面应该包含多少个点,越大表示格网里面的点越多,越平滑
    • bw:带宽bandwidth控制对数据的拟合程度,与直方图中的bin(数据切分数量参数)大小非常相似

    seaborn的kdeplot支持四类核密度带方法,分别如下:

    ①scott (斯考特带宽法):是一种不进行自定义带宽的核带宽估计方法,是一种基于最优直方图的估计算法

    ②silverman (西尔弗曼带宽法):是一种基于经验法则的带宽估计方法

    【以上两种方法均不用我们自定义核带宽,即完全可以视为默认值】

    ③scalar (标量带宽法):自定义标量,需要我们自己定义各种带宽,可以从不同的研究尺度去进行研究

    ④pair of scalars (标量对带宽法):暂无研究结果

    • shade_lowest : 是否有最低值渲染,这个参数只有在二维密度图上才有效

    绘图示例:

    【一元kde图像】

    #1.3.1
    #简单绘制Titanic上成员的年龄分布
    sns.kdeplot(train_data['Age'])
    plt.show()

    #在上图基础上设置shade、cut以及vertical参数
    sns.kdeplot(train_data['Age'],shade=True,color='g',vertical=True,cut=0)#1.3.2左
    plt.show()
    sns.kdeplot(train_data['Age'],shade=True,color='g',vertical=True,cut=5)#1.3.3中
    plt.show()
    sns.kdeplot(train_data['Age'],shade=True,color='g',vertical=True,cut=10)#1.3.4右
    plt.show()

    【二元kde图像】

    绘制Titanic数据集中年龄(Age)与票价(Fare)的二元kde图

    #1.3.5
    sns.kdeplot(train_data['Age'], train_data['Fare'], cbar="True",  shade=True)
    plt.show()

    为更方便看图,随机设置x,y进行绘图如下所示:

    x=np.random.randn(100)
    y=np.random.randn(100)
    sns.kdeplot(x, y, cbar="True",  shade=True)#1.3.6左
    plt.show()
    sns.kdeplot(x, y, bw="scott",cbar="True")#1.3.7右
    plt.show()
    

    1.4 pairplot(主要用于特征两两对比作图)

    pairplot可以一次性两两组合多个变量做出多个对比图,有n个变量,就会做出一个n × n个格子的图,譬如有2个变量,就会产生4个格子,每个格子就是两个变量之间的对比图。相同的两个变量之间(var1  vs  var1 和 var2  vs  var2)以直方图展示,不同的变量则以散点图展示(var1  vs  var2 和var2  vs  var1)【要注意的是数据中不能有NaN(缺失的数据),否则会报错】

    1. var1  vs  var1
    2. var1  vs  var2
    3. var2  vs  var1
    4. var2  vs  var2
    seaborn.pairplot(data, hue=None, hue_order=None, palette=None, vars=None,
    x_vars=None, y_vars=None, kind='scatter', diag_kind='hist', markers=None, 
    size=2.5, aspect=1, dropna=True, plot_kws=None, diag_kws=None, grid_kws=None)
    

    各参数含义如下:

    • data:DataFrame格式的数据
    • hue :按照不同类别对样本数据进行图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像
    • palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind} 
    • vars:设置绘图所使用的data中的变量,若不设置则使用data中的全部变量。参数类型:numeric类型的变量list
    • {x,y}_vars:设置绘图横纵方向上的变量,若不设置则使用data的全部变量。参数类型:numeric类型的变量list
    • kind=' ':{‘scatter’,'reg'}设置作图的方式
    • diag_kind=' ':{'hist','kde'}设置对角线作图的方式
    • markers:使用不同的形状。参数类型:list
    • size:默认为6,图的尺寸大小(正方形)。参数类型:numeric
    • aspect:aspect_size给出每个面的宽度(以英寸为单位)
    • dropna:是否剔除缺失值,由于数据中不能含有缺失值否则报错,所以默认剔除(True)
    • plot/diag/grid_kws: 指定其他参数。参数类型:dicts

    选取Titanic数据集中['Pclass','Age','SibSp','Parch','Fare']五个变量绘制pairplot图

    #1.4.1上
    sns.pairplot(train_data,vars=['Pclass','Age','SibSp','Parch','Fare'])
    plt.show()
    #1.4.2下
    sns.pairplot(train_data,vars=['Pclass','Age','SibSp','Parch','Fare'], hue="Survived",palette="colorblind")
    plt.show()

    1.5 rugplot

    2 分类数据可视化-散点图

    2.1stripplot(分布散点图)

    stripplot的作图原理就是按照不同类别对样本数据进行分布散点图绘制,适用于分类数据

    seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None,
    hue_order=None, jitter=False, dodge=False, orient=None, color=None, 
    palette=None, size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)
    

    各参数含义如下:

    • x:设置分组统计字段
    • y:设置分布统计字段
    • hue :按照不同类别对样本数据进行分布散点图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像
    • order:对x参数所选字段内的分类类别进行排序以及筛选
    • jitter:当数据点重合较多时,可用该参数做一些调整,从而将数据分开点,防止重叠
    • dodge:控制组内分类是否彻底分拆
    • orient: “v” | “h”控制绘图的方向
    • color:{‘scatter’,'reg'}设置作图的方式
    • palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind} 
    • size:默认为6,图的尺寸大小(正方形)。参数类型:numeric
    • edgecolor:边框颜色
    • linewidth:指定曲线的宽度

    绘制Titanic数据集中SibSp属性与车票价格Fare的分布散点图,并通过hue='Sex‘再对散点图中的数值进行分类

    #2.1.1左
    sns.stripplot(x=train_data['SibSp'], y=train_data['Fare'], hue=train_data['Sex'], 
    data=train_data, order=None,hue_order=None, jitter=False, dodge=False, orient=None,
    color='scatter',palette='deep', size=5, edgecolor='gray', linewidth=0, ax=None)
    plt.show()
    
    #2.1.2右
    #用order参数筛选分类类别
    sns.stripplot(x=train_data['SibSp'], y=train_data['Fare'], hue=train_data['Sex'], 
    data=train_data, order=[1,2],hue_order=None, jitter=False, dodge=False, orient=None, 
    color='scatter',palette='deep', size=5, edgecolor='gray', linewidth=0, ax=None)
    plt.show()

    2.2swarmplot(分簇散点图)

    Swarnplot与stripplot类似,但其不同之处在于它不会重叠数据点(适合小数据量)

    seaborn.swarmplot(x=None, y=None, hue=None, data=None, order=None, 
    hue_order=None, dodge=False, orient=None, color=None, palette=None, 
    size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)

    各参数含义如下:

    • x:设置分组统计字段
    • y:设置分布统计字段
    • hue :按照不同类别对样本数据进行分布散点图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像
    • order:对x参数所选字段内的分类类别进行排序以及筛选
    • dodge:控制组内分类是否彻底分拆
    • orient: “v” | “h”控制绘图的方向
    • color:{‘scatter’,'reg'}设置作图的方式
    • palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind} 
    • size:默认为5,图的尺寸大小(正方形)。参数类型:numeric
    • edgecolor:边框颜色
    • linewidth:指定曲线的宽度

    绘制Titanic数据集中SibSp属性与车票价格Fare的分簇散点图,并通过hue='Sex‘再对散点图中的数值进行分类

    #2.2.1左
    sns.swarmplot(x=train_data['SibSp'], y=train_data['Fare'], hue=train_data['Sex'], 
    data=train_data, order=None,hue_order=None,dodge=False, orient=None,
    color='scatter',palette='deep', size=5, edgecolor='gray', linewidth=1, ax=None)
    plt.show()
    #2.2.2右
    sns.swarmplot(x=train_data['SibSp'], y=train_data['Fare'], hue=train_data['Sex'], 
    data=train_data, order=[1,2],hue_order=None,dodge=False, orient=None, 
    color='scatter',palette='deep', size=5, edgecolor='gray', linewidth=1, ax=None)
    plt.show()

    3分类数据可视化-分布图

    3.1boxplot

    boxplot即为箱型图,用作显示一组数据分散情况,能够显示出一组数据的最大值、最小值、中位数及上下四分位数。图解如下:

    seaborn.boxplot(x=None, y=None, hue=None, data=None, order=None, 
    hue_order=None, orient=None, color=None, palette=None, saturation=0.75,width=0.8, 
    dodge=True, fliersize=5, linewidth=None, whis=1.5, notch=False, ax=None, **kwargs)

    各参数含义如下:

    • x:设置分组统计字段
    • y:设置分布统计字段
    • hue :按照不同类别对样本数据进行分布散点图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像
    • order:对x参数所选字段内的分类类别进行排序以及筛选
    • hue_order:控制hue组类别的排序
    • orient: “v” | “h”控制绘图的方向
    • palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind} 
    • saturation:饱和度
    • width:控制箱型图的宽度
    • dodge:控制组内分类是否彻底分拆
    • fliersize:用于指示离群值观察的标记大小,即异常点大小
    • linewidth:指定曲线的宽度
    • whis:whis=np.inf表示不显示箱线图的离群点,whis=n用以确定离群值的上下界(IQR超过低和高四分位数的比例),此范围外的点将被识别为异常值。IQR指的是上下四分位的差值。
    • notch:设置是否以中值做凹槽

    绘制Titanic数据集中票价分布与存活与否的箱型图(并按照等级进行划分)同时与分簇散点图对比

    可以看到,boxplot可以更清晰地显示出数据的分散情况

    #3.1.1
    sns.boxplot(x=train_data['Survived'], y=train_data['Fare'], hue=train_data['Pclass'], 
    data=train_data, saturation=0.75,width=0.8,dodge=True, fliersize=5, whis=1.5)
    plt.show()
    #3.1.2右
    sns.swarmplot(x=train_data['Survived'],y=train_data['Fare'], data=train_data,
    color='scatter',palette='deep',size = 3,alpha = 0.8,hue=train_data['Pclass'])
    plt.show()

    3.2 violinplot

    violinplot与boxplot很像,其是一种对称的kde图,小提琴图是箱线图与核密度图的结合,箱线图展示了分位数的位置,小提琴图则展示了任意位置的密度,通过小提琴图可以知道哪些位置的密度较高。在图中,白点是中位数,黑色盒型的范围是下四分位点到上四分位点,细黑线表示须。外部形状即为核密度估计(在概率论中用来估计未知的密度函数,属于非参数检验方法之一)。

    seaborn.violinplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, 
    bw='scott', cut=2, scale='area', scale_hue=True, gridsize=100, width=0.8, inner='box', 
    split=False, dodge=True, orient=None, linewidth=None, color=None, palette=None, 
    saturation=0.75, ax=None, **kwargs)
    
    

    各参数含义如下:

    • x:设置分组统计字段
    • y:设置分布统计字段
    • hue :按照不同类别对样本数据进行分布散点图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像
    • order:对x参数所选字段内的分类类别进行排序以及筛选
    • hue_order:控制hue组类别的排序
    • bw:带宽bandwidth控制对数据的拟合程度,与直方图中的bin(数据切分数量参数)大小非常相似seaborn的kdeplot支持四类核密度带方法,分别如下:

    ①scott (斯考特带宽法):是一种不进行自定义带宽的核带宽估计方法,是一种基于最优直方图的估计算法

    ②silverman (西尔弗曼带宽法):是一种基于经验法则的带宽估计方法

    【以上两种方法均不用我们自定义核带宽,即完全可以视为默认值】

    ③scalar (标量带宽法):自定义标量,需要我们自己定义各种带宽,可以从不同的研究尺度去进行研究

    ④pair of scalars (标量对带宽法):暂无研究结果

    • cut:控制小提琴图外壳延伸超过内部极端数据点的密度。设置为0以将小提琴范围限制在观察数据的范围内
    • scale:该参数用于缩放每把小提琴的宽度,有“area”“count”“width”三种方式
    • scale_hue:当使用hue参数时,此参数确定缩放是在主要分组变量(scale_hue = true)的每个级别内还是在图上的所有小提琴             (scale_hue = false)内计算出来的。
    • gridsize:每个格网里面应该包含多少个点,越大表示格网里面的点越多,越平滑
    • width:控制钢琴图的宽度(比例)width=0.9,width=0.5...
    • inner:控制violinplot内部数据点的表示,有“box”箱型图“quartile”四分位数线“point”具体数据点“stick”具体数据棒四种方式。
    • split:将split设置为true则绘制分拆的violinplot以比较经过hue拆分后的两个量
    • dodge:控制组内分类是否彻底分拆
    • orient: “v” | “h”控制绘图的方向
    • linewidth:指定曲线的宽度
    • color:{‘scatter’,'reg'}设置作图的方式
    • palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind} 
    • saturation:饱和度

    分析Titanic数据集中不同等级船舱(或不同性别下)的年龄分布与生存与否的关系

    ~对比不同scale参数下的图像

    #3.2.1左
    sns.violinplot(x=train_data['Survived'], y=train_data['Age'], 
    hue=train_data['Pclass'], data=train_data,bw='scott', cut=2, scale='area', 
    scale_hue=True, gridsize=100, width=0.8, inner='box',split=False, dodge=True, 
    orient=None, linewidth=None, color=None, palette='deep',saturation=0.75)
    plt.show()
    
    #3.2.2中
    sns.violinplot(x=train_data['Survived'], y=train_data['Age'], 
    hue=train_data['Pclass'], data=train_data,bw='scott', cut=2, scale='count', 
    scale_hue=True, gridsize=100, width=0.8, inner='box',split=False, dodge=True, 
    orient=None, linewidth=None, color=None, palette='deep',saturation=0.75)
    plt.show()
    
    #3.2.3右
    sns.violinplot(x=train_data['Survived'],y=train_data['Age'],
    hue=train_data['Pclass'], data=train_data,bw='scott', cut=2, scale='width', 
    scale_hue=True, gridsize=100, width=0.8, inner='box',split=False, dodge=True, 
    orient=None, linewidth=None, color=None, palette='deep',saturation=0.75)
    plt.show()

                                   【 area】                                                         【 count】                                                        【width】

    ~对比不同inner参数下的图像

    #3.2.4左上
    sns.violinplot(x=train_data['Survived'], y=train_data['Age'], 
    hue=train_data['Pclass'], data=train_data,bw='scott', cut=4, 
    scale='count', scale_hue=True, gridsize=100, width=0.8, inner='box',
    split=False, dodge=True, orient=None, linewidth=None, color=None, 
    palette='deep',saturation=0.75)
    plt.show()
    
    #3.2.5右上
    sns.violinplot(x=train_data['Survived'], y=train_data['Age'], 
    hue=train_data['Pclass'], data=train_data,bw='scott', cut=4, 
    scale='count', scale_hue=True, gridsize=100, width=0.8, inner='quartile',
    split=False, dodge=True, orient=None, linewidth=None, color=None, 
    palette='deep',saturation=0.75)
    plt.show()
    
    #3.2.6左下
    sns.violinplot(x=train_data['Survived'], y=train_data['Age'], 
    hue=train_data['Pclass'], data=train_data,bw='scott', cut=4, 
    scale='count', scale_hue=True, gridsize=100, width=0.8, inner='point',
    split=False, dodge=True, orient=None, linewidth=None, color=None, 
    palette='deep',saturation=0.75)
    plt.show()
    
    #3.2.7右下
    sns.violinplot(x=train_data['Survived'], y=train_data['Age'], 
    hue=train_data['Pclass'], data=train_data,bw='scott', cut=4, 
    scale='count', scale_hue=True, gridsize=100, width=0.8, inner='stick',
    split=False, dodge=True, orient=None, linewidth=None, color=None, 
    palette='deep',saturation=0.75)
    plt.show()

                                         【box】                                                                     【quartile】

                                       【point】                                                                     【stick】

    3.3 lvplot

    seaborn.lvplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, 
    orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True, 
    k_depth='proportion', linewidth=None, scale='exponential', outlier_prop=None, ax=None, 
    **kwargs)
    

    各参数含义如下:

    • x:设置分组统计字段
    • y:设置分布统计字段
    • hue :按照不同类别对样本数据进行分布散点图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像
    • order:对x参数所选字段内的分类类别进行排序以及筛选
    • hue_order:控制hue组类别的排序
    • orient: “v” | “h”控制绘图的方向
    • color:{‘scatter’,'reg'}设置作图的方式
    • palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind} 
    • saturation:饱和度
    • width:控制图的宽度(比例)即箱之间的间隔比例width=0.9,width=0.5...
    • dodge:控制组内分类是否彻底分拆
    • k_depth:设置框的数量{“proportion”,“tukey”,“trustworthy”}
    • scale:设置框的大小{“linear”,"exponential","area"}
    • linewidth:指定曲线的宽度
    • outlier_prop:奇异值

    分析Titanic数据集中不同等级船舱(或不同性别下)的年龄分布与生存与否的关系

    ~对比不同k_depth参数下的图像

    #3.3.1左
    sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
    color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
    k_depth='proportion', scale='exponential', outlier_prop=None)
    plt.show()
    
    #3.3.2中
    sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
    color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
    k_depth='tukey', scale='exponential', outlier_prop=None)
    plt.show()
    
    #3.3.3右
    sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
    color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
    k_depth='trustworthy', scale='exponential', outlier_prop=None)
    plt.show()

                           【proportion】                                                     【tukey】                                                    【trustworthy】

    ~对比不同scale参数下的图像

    #3.3.4左
    sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None, 
    color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
    k_depth='proportion', scale='linear', outlier_prop=None)
    plt.show()
    
    #3.3.5中
    sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
    color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
    k_depth='proportion', scale='exponential', outlier_prop=None)
    plt.show()
    
    #3.3.6右
    sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
    color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
    k_depth='proportion', scale='area', outlier_prop=None)
    plt.show()

                                【linear】                                               【exponential】                                                 【area】

    4分类数据可视化-统计图

    4.1 barplot(直方图)

    直方图,利用矩阵条的高度反映数值变量的集中趋势,并使用errorbar功能(差棒图)来估计变量之间的差值统计。

    *barplot显示的是某种变量分布的平均值,当需要精确观察每类变量的分布趋势时,boxplot和violinplot是更好的选择。

    seaborn.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, 
    estimator=<function mean>, ci=95, n_boot=1000, units=None, orient=None, color=None, 
    palette=None, saturation=0.75, errcolor='.26', errwidth=None, capsize=None, dodge=True, 
    ax=None, **kwargs)

    各参数含义如下:

    • x:设置分组统计字段
    • y:设置分布统计字段
    • hue :按照不同类别对样本数据进行分布散点图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像
    • order:对x参数所选字段内的分类类别进行排序以及筛选
    • hue_order:控制hue组类别的排序
    • estimator=<function mean>:设置对每类变量的计算函数,默认为平均值mean,可修改为max,median等其他函数
    • ci:允许的误差范围(置信区间误差),控制误差棒的百分比在0-100之间,若ci=“sd”,则误差棒用标准误差,默认为95
    • n_boot:计算置信区间时使用的引导迭代次数(整数)
    • units:采样单元的标识符,用于执行多级引导和重复测量设计(数据变量或向量数据)
    • orient: “v” | “h”控制绘图的方向
    • color:{‘scatter’,'reg'}设置作图的方式
    • palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind} 
    • saturation:饱和度
    • errorcolor:误差线颜色
    • errwidth:误差线宽度
    • capsize:设置误差棒帽条(上下两根横线)的宽度
    • dodge:控制组内分类是否彻底分拆

    利用均值这一特性反映Titanic数据集不同等级中男女性别下的存活率(考虑到存活率用0/1表示,平均值即代表存货人数占总人数的比例)

    #4.1.1
    sns.barplot(x='Sex', y='Survived', hue='Pclass', data=train_data, order=None, 
    hue_order=None,estimator=np.mean, ci=95, n_boot=1000, units=None, orient=None, 
    color='scatter',palette='deep', saturation=0.75, errcolor='.26', errwidth=None, 
    capsize=None, dodge=True)
    plt.show()

    print(train_data[['Sex',"Survived",'Pclass']].groupby(['Pclass','Sex']).mean())

    Pclass

    Sex

    Survived

    1

    female

    0.968085

    male

    0.368852

    2

    female

    0.921053

    male

    0.157407

    3

    female

    0.500000

    male

    0.135447

    4.2 countplot(计数柱状图)

    因子变量计数然后绘制条形图,相比barplot来说countplot中不能同时输入x和y,且countplot没有误差棒。

    seaborn.countplot(x=None,y=None, hue=None, data=None, order=None, hue_order=None,
    orient=None, color=None, palette=None, saturation=0.75, dodge=True, ax=None, **kwargs)

    各参数含义如下:

    • x/y:设置分组统计字段
    • hue :按照不同类别对样本数据进行分布散点图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像
    • order:对x参数所选字段内的分类类别进行排序以及筛选
    • hue_order:控制hue组类别的排序
    • orient: “v” | “h”控制绘图的方向
    • color:{‘scatter’,'reg'}设置作图的方式
    • palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind} 
    • saturation:饱和度
    • dodge:控制组内分类是否彻底分拆

    统计Titanic不同等级下存活及不存活的人数(横/纵)

    #4.2.1左
    sns.countplot(x="Survived", hue="Pclass", data=train_data,order=None, hue_order=None,
    orient='v', color='scatter', palette='deep', saturation=0.75, dodge=True)
    plt.show()
    
    #4.2.2右
    sns.countplot(y="Survived", hue="Pclass", data=train_data,order=None, hue_order=None,
    orient='h', color='scatter', palette='deep', saturation=0.75, dodge=True)
    plt.show()

    4.3 pointplot(折线图)

    seaborn.pointplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, 
    estimator=(function mean), ci=95, n_boot=1000, units=None, markers='o', linestyles='-', 
    dodge=False, join=True, scale=1, orient=None, color=None, palette=None, errwidth=None, 
    capsize=None, ax=None, **kwargs)
    

    各参数含义如下:

    • x:设置分组统计字段

    • y:设置分布统计字段

    • hue :按照不同类别对样本数据进行分布散点图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像

    • order:对x参数所选字段内的分类类别进行排序以及筛选

    • hue_order:控制hue组类别的排序

    • estimator=<function mean>:设置对每类变量的计算函数,默认为平均值mean,可修改为max,median等其他函数

    • ci:允许的误差范围(置信区间误差),控制误差棒的百分比在0-100之间,若ci=“sd”,则误差棒用标准误差,默认为95

    • n_boot:计算置信区间时使用的引导迭代次数(整数)

    • units:采样单元的标识符,用于执行多级引导和重复测量设计(数据变量或向量数据)

    • markers:使用不同的形状,设置点样式。参数类型:list

    • linestyles:设置连接线类型

    • dodge:控制组内分类是否彻底分拆

    • join:是否连线join=True

    • scale:比例因子(float,optional)

    • orient: “v” | “h”控制绘图的方向

    • color:{‘scatter’,'reg'}设置作图的方式

    • palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind} 

    • errorcolor:误差线颜色

    • errwidth:误差线宽度

    • capsize:设置误差棒帽条(上下两根横线)的宽度

    绘制Titanic数据集中不同等级下各性别的车票价均值

    #4.3.1左
    sns.pointplot(x='Sex', y='Fare', hue='Pclass', data=train_data, order=None, 
    hue_order=None,estimator=np.mean, ci=95, n_boot=1000, units=None, markers='o', 
    linestyles='-',dodge=False, join=True, scale=1, orient=None, color='scatter', 
    palette='deep', errwidth=None)
    plt.show()
    
    #4.3.2右
    sns.pointplot(x='Sex', y='Fare', hue='Pclass', data=train_data, order=None, 
    hue_order=None,estimator=np.mean, ci=95, n_boot=1000, units=None, markers='s', 
    linestyles='--',dodge=False, join=True, scale=1, orient=None, color='scatter', 
    palette='deep', errwidth=None)
    plt.show()

    7 factorplot

     

    8 heatmap

    seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False,
    annot=None, fmt=’.2g’, annot_kws=None, linewidths=0, linecolor=’white’, cbar=True, 
    cbar_kws=None, cbar_ax=None, square=False, xticklabels=’auto’, yticklabels=’auto’, 
    mask=None, ax=None, **kwargs)
    

    各参数含义如下:

    【1】输入数据参数

    • data:矩阵数据集,可以是numpy的数组(array),也可以是pandas的DataFrame。如果是DataFrame,则df的index/column信息会分别对应到heatmap的columns和rows,即pt.index是热力图的行标,pt.columns是热力图的列标

    【2】颜色参数

    • vmin:热力图的颜色取值最小范围,默认是根据data数据表里的取值确定
    • vmax:热力图的颜色取值最大范围,默认是根据data数据表里的取值确定
    • cmap:从数字到色彩空间的映射,取值是matplotlib包里的colormap名称或颜色对象,或者表示颜色的列表;改参数默认值:根据center参数设定
    • center:数据表取值有差异时,设置热力图的色彩中心对齐值;通过设置center值,可以调整生成的图像颜色的整体深浅;设置center数据时,如果有数据溢出,则手动设置的vmax、vmin会自动改变 
    • robust:默认取值False;如果是False,且没设定vmin和vmax的值,热力图的颜色映射范围根据具有鲁棒性的分位数设定,而不是用极值设定

    【3】注释参数

    • annot:默认取值False;如果是True,在热力图每个方格写入数据;如果是矩阵,在热力图每个方格写入该矩阵对应位置数据 
    • fmt:字符串格式代码,矩阵上标识数字的数据格式,比如保留小数点后几位数字 
    • annot_kws::默认取值False;如果是True,设置热力图矩阵上数字的大小颜色字体,matplotlib包text类下的字体设置

    【4】矩阵块之间间隔及间隔线参数

    • linewidths:定义热力图里“表示两两特征关系的矩阵小块”之间的间隔大小 
    • linecolor:切分热力图上每个矩阵小块的线的颜色,默认值是’white’

    【5】颜色刻度条参数

    • cbar:是否在热力图侧边绘制颜色刻度条,默认值是True 
    • cbar_kws:热力图侧边绘制颜色刻度条时,相关字体设置,默认值是None 
    • cbar_ax:热力图侧边绘制颜色刻度条时,刻度条位置设置,默认值是None
    • square:设置热力图矩阵小块形状,默认值是False 
    • xticklabels/yticklabels:控制每列(行)标签名的输出,默认值是auto。如果是True,则以DataFrame的列名作为标签名。如果是False,则不添加行标签名。如果是列表,则标签名改为列表中给的内容。如果是整数K,则在图上每隔K个标签进行一次标注。 如果是auto,则自动选择标签的标注间距,将标签名不重叠的部分(或全部)输出 
    • mask:控制某个矩阵块是否显示出来。默认值是None。如果是布尔型的DataFrame,则将DataFrame里True的位置用白色覆盖掉 

    9 tsplot

     

     

     

     

    参考资料:

    https://blog.csdn.net/allenlu2008/article/details/53692154

    https://blog.csdn.net/u013082989/article/details/73278458

    https://blog.csdn.net/qq_39949963/article/details/79362501

    https://www.cnblogs.com/kylinlin/p/5236601.html

    https://blog.csdn.net/qq_39949963/article/details/80750492

    https://www.jianshu.com/p/96977b9869ac

    https://www.e-learn.cn/content/python/1204329

     

    展开全文
  • kaggle_titanic数据集

    2018-03-23 20:14:24
    去kaggle上下载资源太麻烦了,每次下载还要登录邮箱,没有的话基本等不上去,也就没法下载,所以就发到这里共享,里面有训练集,测试集。是最全的数据集了。
  • kaggle比赛titanic数据集

    2018-07-26 16:07:10
    这是从KAGGLE竞赛官方网站上下载下来的数据集,本人之前也一直在寻找类似的数据,却一直需要大量积分,所以我就上传上来供大家使用。
  • 2 理解数据2.1 采集数据从Kaggle泰坦尼克号项目页面下载数据:https://www.kaggle.com/c/titanic​www.kaggle.com2.2 导入数据2.3 查看数据集信息从结果来看,数据总共有1309行。其中数据类型列:年龄(Age)、船舱...
  • 3.处理Titanic数据集 其目的是根据乘客的年龄、性别、乘客阶层、乘坐地点等属性来预测乘客是否幸存。 首先,登录Kaggle,去Titanic challenge网站下载train.csv和test.csv。保存到datasets/titanic目录。 主要...
  • 只是一个仓库,下载泰坦尼克号数据集,但有一些(突然的)概念漂移 正在下载 培训集和测试集应可通过以下途径获得 curl -LJO https://github.com/remiadon/drifting_titanic/tree/main/drifted/train.csv 测试集...
  • !pip install -U -q kaggle !mkdir -p ~/.kaggle !echo '{"username":"bruce374","key":"43313de75c23e8c5a1b9713cc04183c0"}' > ~/.kaggle/kaggle....kaggle competitions download -c titanic -p titanic_data
  • 二、理解数据2.1 数据来源数据来自kaggle,为方便大家联习,已经上传至百度云,点击下载就即可。链接:https://pan.baidu.com/s/1N_rSAUxJRDm02wtWv4_jBQ 提取码:g474 2.2 导入数据#忽略警告提示 imp...
  • 泰坦尼克号数据集,官网下载(gender_submission,test,train),一共三个
  • 泰坦尼克号乘客数据集和鸢尾花数据集一样, 是机器学习中最常用的样例数据集之一。为了下次查找方便,故分享一下。 百度网盘链接: https://pan.baidu.com/s/1UQwKboBHFx5BpPe1cwkzfA 提取码: ss3v
  • Pandas是入门Python做数据分析所必须要掌握的一个库,本文精选了十套练习题,帮助读者上手Python代码,完成数据集...【小提示:本文所使用的数据集下载地址:DATA | TRAIN 练习数据集】一两赘肉无:10套练习,教你...
  • cifar-10-batches(图像数据集)mnist(手写数据集titanic3(泰坦尼克数据集)合集。下载后请阅读ReadMe.txt。对应代码部分及其他说明请访问我的Github:https://github.com/JackDemo/TensorFlow-Keras-python3
  • Titanic生存预测机器学习数据集,包含了训练集和测试集以及性别数据。kaggle和天池经典案例,下载后可进行机器学习入门学习。
  • KAGGLE竞赛官方网站上下载下来的数据集,最全kaggle泰坦尼克数据集。欢迎下载
  • 正版数据集含代码使用,避免官网下载注册的麻烦。正版数据集含代码使用,避免官网下载注册的麻烦。正版数据集含代码使用,避免官网下载注册的麻烦。
  • 首先去kaggle下载数据集:(需要科学上网,登陆和最后提交成绩需要) https://www.kaggle.com/c/titanic import numpy as np import pandas as pd from sklearn import linear_model, prepro...
  • 泰坦尼克数据集下载 训练集 测试集 导入需要的库 import matplotlib.pyplot as plt %matplotlib inline import numpy as np import pandas as pd 加载数据集 train_file = './data/titanic/train.csv' eval_file = ...
  • 泰坦尼克号数据集下载

    千次阅读 热门讨论 2020-03-30 20:29:46
    这是一个常用的数据,给大家个链接,可以去该链接下载数据集http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt
  • 泰坦尼克号旅客数据集titanic3.xls,原下载地址http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic3.xls无法获取到。网上的资源比较贵,不方便学习。现在将找到的titanic3.xls数据集以较低的分提供给...
  • 获取数据Titanic数据来自Kaggle官网的一个练习项目,可以通过网站进行下载。为了验证ML算法的效果,数据已经分为两组,分别为训练train.csv,和测试test.csv。环境搭建选择Pandas+Matplot...
  • 首先在kaggle官网上下载数据集。 一个train.csv用于训练,一个test.csv用于验证模型,一个gender_submission.csv是提交格式的示例。 看过一些大神们分享的经验,对数据的认识非常非常重要,关系到后面对数据的...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 130
精华内容 52
关键字:

titanic数据集下载