zoukankan      html  css  js  c++  java
  • 可视化:回归分析和分类属性

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import numpy as np
    import pandas as pd
    from scipy import stats, integrate
    import matplotlib.pyplot as plt
    import matplotlib as mpl
    import seaborn as sns
    sns.set(color_codes=True)
    np.random.seed(sum(map(ord, "distributions")))
    x = np.random.normal(size=100)
    sns.distplot(x,kde=False) #直方图绘制
    sns.distplot(x, bins=20, kde=False)
    #根据均值和协方差生成数据
    mean, cov = [0, 1], [(1, .5), (.5, 1)]
    data = np.random.multivariate_normal(mean, cov, 200)
    df = pd.DataFrame(data, columns=["x", "y"])
    #观测两个变量之间的分布关系最好用散点图
    sns.jointplot(x="x", y="y", data=df);
    iris = sns.load_dataset("iris") #读入自带的数据集
    sns.pairplot(iris)
    #4.REG
    sns.set(color_codes=True)
    np.random.seed(sum(map(ord, "regression")))
    tips = sns.load_dataset("tips")
    tips.head()
    #回归分析绘制图
    #regplot()和lmplot()都可以绘制回归关系,推荐regplot()
    sns.regplot(x="total_bill", y="tip", data=tips)
    #x_jitter:小范围的浮动
    sns.regplot(x="size", y="tip", data=tips, x_jitter=.05)
    #多变量分析图
    sns.set(style="whitegrid", color_codes=True)
    np.random.seed(sum(map(ord, "categorical")))
    titanic = sns.load_dataset("titanic")
    tips = sns.load_dataset("tips")
    iris = sns.load_dataset("iris")
    sns.stripplot(x="day", y="total_bill", data=tips);
    sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)#jitter:小范围的浮动
    sns.swarmplot(x="day", y="total_bill", hue="sex",data=tips)#树形图
    #盒图
    #IQR即统计学概念四分位距,第一/四分位与第三/四分位之间的距离
    #N = 1.5IQR 如果一个值>Q3+N或 < Q1-N,则为离群点
    sns.boxplot(x="day", y="total_bill", hue="time", data=tips);
    #小提琴图
    sns.violinplot(x="total_bill", y="day", hue="time", data=tips);
    #条形图可以显示值的集中趋势
    sns.barplot(x="sex",y="survived",hue="class",data=titanic)
    #点图可以更好的描述变化差异
    sns.pointplot(x="sex", y="survived", hue="class", data=titanic)
    sns.boxplot(data=iris,orient="h");#盒型图,orient=“h'横着画
    #分类属性
    #多层面板分类图
    sns.factorplot(x="day", y="total_bill", hue="smoker", data=tips)
    sns.factorplot(x="day", y="total_bill", hue="smoker",
                   col="time", data=tips, kind="swarm")#点图
    sns.factorplot(x="time", y="total_bill", hue="smoker",#盒图
                   col="day", data=tips, kind="box", size=4, aspect=.5)
    '''
    Parameters:
    •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
    
    '''
  • 相关阅读:
    浙大《数据结构》第二章:线性结构
    浙大《数据结构》第一章:基本概念
    《软技能:代码之外的生存指南》读书笔记
    《高质量程序设计指南》读书笔记
    《大话无线通信》读书笔记
    使用Tensorflow训练神经网络模型
    掌握功率谱估计的方法
    网络安全宣传周活动
    ICMP数据包
    DNS数据包
  • 原文地址:https://www.cnblogs.com/lifengwu/p/9821362.html
Copyright © 2011-2022 走看看