当前位置: 首页 > news >正文

机器学习——seaborn实用画图方法简介

0、seaborn简介:

  • 前言:下面的总结只是介绍seaborn有哪些方法和属性,至于具体使用,通过下面给出的名称稍作查找即可。重点应该关注本文介绍的seaborn的使用方法
  • seaborn与机器学习的关系:
    在这里插入图片描述
  • 知识图谱
    在这里插入图片描述
0.1、了解即可的知识:
  • seaborn:在matplotlib的基础上画一些更好看的图,在进行探索性数据分析时会常用到,对于seaborn需要做简单了解,掌握对应画法的查询方法。
  • 官网:https://seaborn.pydata.org/
  • 下载方法:在控制界面输入“pip install seaborn”

  • 如果seaborn版本不是最新,可以跟新:“pip install --upgrade seabron”
  • seaborn中也自带一些数据集,通过属性调用就可以查看:“get_dataset_names()”,要调用这些数据集要通过调用方法:load_dataset(“数据集名称”)
  • 设置seaborn主题风格的方法:set_style(“风格名称”) # darkgrid、whitegrid、dark、white、ticks
  • 在seaborn中可以通过despine()方法去掉不需要的边框,这种操作在matplotlib中是无法实现的。通过其中的offset参数可以设置图形到轴线的距离。
  • set_context()方法可以设置图形当中内容的格式,比如字体大小之类的。
  • 在seaborn中绘制子图可以将风格的使用控制在一定的作用范围内
f = plt.figure(figsize=(10,4))
# 子图
with sns.axes_style('dark'):f.add_subplot(1,2, 1) # 1行2列排第1个sinplot()

  • 离散型颜色调色板:
    1、seaborn默认的颜色是六种,如果面对分类问题大于六种时,就可以使用hls颜色空间来划分,例如需要有n种不同颜色时,就可以调用sns.color_palette(‘hls’, n),调色板在seaborn中就相当于一个参数了。
    2、亮度和饱和度:”sns.hls_palette(n,l=‘亮度数值’,‘饱和度数值’)“
  • 连续性颜色调色板:
    1、颜色有浅到深:“sns.color_palette(‘‘颜色名称’)”
    2、颜色有深到浅:“sns.color_palette(’‘颜色名称_r’)”
    3、其他方法:“sns.cubehelix_palette(n, start=数值, rot=数值)”,“sns.light_palette(“颜色名称”)”
    4、对于颜色问题,大部分时间使用默认的即可

0.2、★★★seaborn使用重点
  • 单变量分析(单个特征数据分布情况查看):直方图,会根据数据自动生成每个柱子(bins)
import numpy as np
import pandas as pd
import matplotlib.pyplot as pltimport seaborn as sns
sns.set()   # 使用seaborn默认设置x = np.random.normal(size=100) # 随机生成高斯分布的数据
display(x.shape)
sns.displot(x,kde=False)  # 直方图,kde为核密度估计,通过bins参数可以设置柱子的个数

在这里插入图片描述

  • 观测两个变量之间关系最好用的就是散点图:
mean = [0, 1]
cov = [[1, 0.5], [0.5, 1]] # 协方差# 创建2维的正态分布
data = np.random.multivariate_normal(mean, cov, 200)
# datadf = pd.DataFrame(data=data, columns=['x','y'])
df# 画双变量图
# sns.jointplot(x='x', y='y', data=df)sns.jointplot(x='x', y='y', data=df)

在这里插入图片描述
散点图中可能会有点重叠在一起,所以可以通过下面的hex图来看到散点图的同时看到数据密度分布

mean = [0, 1]
cov = [[1, 0.5], [0.5, 1]] # 协方差# # 创建2维的正态分布
data = np.random.multivariate_normal(mean, cov, 1000)
# datadf = pd.DataFrame(data=data, columns=['x','y'])
df
with sns.axes_style('white'):sns.jointplot(x=
http://www.lryc.cn/news/179360.html

相关文章:

  • leetCode 188.买卖股票的最佳时机 IV 动态规划 + 状态压缩
  • Lua学习笔记:debug.sethook函数
  • 信息化发展74
  • Go-Ldap-Admin | openLDAP 同步钉钉、企业微信、飞书组织架构实践和部分小坑
  • elasticsearch+logstash+kibana整合(ELK的使用)第一课
  • 宝塔 php修改了php.ini配置不生效
  • Unrecognized option ‘stream_loop‘.(版本不匹配,利用make编译安装)
  • 【考研数学】概率论与数理统计 —— 第三章 | 二维随机变量及其分布(2,常见的二维随机变量及二维变量的条件分布和独立性)
  • 力扣 -- 10. 正则表达式匹配
  • Spring源码分析(四) Aop全流程
  • 定义现代化实时数据仓库,SelectDB 全新产品形态全面发布
  • Linux系统编程(七):线程同步
  • Arcgis克里金插值报错:ERROR 999999: 执行函数时出错。 表名无效。 空间参考不存在。 ERROR 010429: GRID IO 中存在错误
  • 【网络协议】ARP协议
  • 安防视频/集中云存储平台EasyCVR(V3.3)部分通道显示离线该如何解决?
  • 软件测试经典面试题:如何进行支付功能的测试?
  • SolidWorks 入门笔记03:生成工程图和一键标注
  • 【Java】对象内存图多个对象同一内存地址
  • Python 笔记05(装饰器的使用)
  • 记忆化搜索,901. 滑雪
  • 计算机网络:连接世界的纽带
  • SpringMVC 学习(三)注解开发
  • 0x84加密数据传输服务
  • Vue.js快速入门:构建现代Web应用
  • Scala第五章节
  • erlang练习题(三)
  • What Is A DNS Amplification DDoS Attack?
  • jvm笔记
  • WPF中的控件
  • Java下对象的序列化和反序列化(写出和读入)