可视化---seaborn
变量说明
- x,y,hue 数据集变量 变量名
- date 数据集 数据集名
- row,col 更多分类变量进行平铺显示 变量名
- col_wrap 每行的最高平铺数 整数
- estimator 在每个分类中进行矢量到标量的映射 矢量
- ci 置信区间 浮点数或None
- n_boot 计算置信区间时使用的引导迭代次数 整数
- units 采样单元的标识符,用于执行多级引导和重复测量设计 数据变量或向量数据
- order, hue_order 对应排序列表 字符串列表
- row_order, col_order 对应排序列表 字符串列表
- kind : 可选:point 默认, bar 柱形图, count 频次, box 箱体, violin 提琴, strip 散点,swarm 分散点 size 每个面的高度(英寸) 标量 aspect 纵横比 标量 orient 方向 "v"/"h" color 颜色 matplotlib颜色 palette 调色板 seaborn颜色色板或字典 legend hue的信息面板 True/False legend_out 是否扩展图形,并将信息框绘制在中心右边 True/False share{x,y} 共享轴线 True/False
直方图
x = np.random.normal(size=100) sns.distplot(x,kde=False) #sns.distplot(x, bins=20, kde=False)
柱状图
sns.barplot(x="sex", y="survived", hue="class", data=titanic);
观测两个变量之间的分布关系最好用散点图
sns.jointplot(x="x", y="y", data=df);
# 根据均值和协方差生成数据 mean, cov = [0, 1], [(1, .5), (.5, 1)] x, y = np.random.multivariate_normal(mean, cov, 1000).T # 绘制散点图 with sns.axes_style("white"): sns.jointplot(x=x, y=y, kind="hex", color="k")
iris = sns.load_dataset("iris") sns.pairplot(iris)
箱线图
sns.set_style("whitegrid") data = np.random.normal(size=(20, 6)) + np.arange(6) / 2 sns.boxplot(data=data)
sns.violinplot(x="total_bill", y="day", hue="time", data=tips);
regplot()和lmplot()都可以绘制回归关系,推荐regplot()
sns.regplot(x="total_bill", y="tip", data=tips) sns.lmplot(x="total_bill", y="tip", data=tips);
sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)
sns.swarmplot(x="day", y="total_bill", hue="sex",data=tips)
sns.violinplot(x="day", y="total_bill", data=tips, inner=None) sns.swarmplot(x="day", y="total_bill", data=tips, color="w", alpha=.5)
g = sns.FacetGrid(tips, col="time") g.map(plt.hist, "tip");
g = sns.FacetGrid(tips, col="sex", hue="smoker") g.map(plt.scatter, "total_bill", "tip", alpha=.7) g.add_legend();
特征之间的相关性
plt.subplots(figsize=(16,9))
correlation_mat = train[cont_features].corr()
sns.heatmap(correlation_mat, annot=True)