python 残差图_python数据分析010_seaborn的绘图方式

一.单变量分析绘图

1.什么是单变量分析?

单变量其实就是我们通常接触到的数据集中的一列数据

2.使用NumPy模块从标准正态分布中随机地抽取1000个数,作为我们的连续数值型数据。

data = np.random.normal(size=1000) random是NumPy的一个随机模块,在random模块中的normal方法表示从正态分布中随机产生size个数值。

3.在seaborn里最常用的观察单变量分布的函数是distplot(),默认地,这个函数会绘制一个直方图,并拟合一个核密度估计。

sns.distplot(data, bins, hist = True, kde = True)

data参数记录绘图所用的数据,而bins参数在绘制直方图时可以进行设置,用于设置分组的个数,默认值时,会根据数据的情况自动分为n个组,若是想指定分组的个数,可以设置该参数,然后计算我们可以增加其数量,来看到更为详细的信息。

hist和kde参数用于调节是否显示直方图及核密度估计图,默认hist、kde均为True,表示两者都显示。我们可以通过修改参数为False选择是否将其中之一去掉。

import numpy as np

import seaborn as sns

# 从标准正态分布中随机地抽取1000个数

data = np.random.normal(size=1000)

sns.set(style='darkgrid')

sns.distplot(data,10,kde=True, hist=True)

4.使用sns.kdeplot()函数绘制数据的概率密度曲线图。

sns.kdeplot(data1, data2, shade = False)

shade参数用于设置图像下方的部分是否设置阴影,默认值为False,表示不绘制阴影。

import numpy as np

import seaborn as sns

data = np.random.normal(size=1000)

sns.set(style='darkgrid')

sns.kdeplot(data, shade = True)

二.绘制双变量联合分布图

1.在Seaborn中绘制连续数值型双变量我们使用sns.jointplot():

seaborn.jointplot(x, y, data=None, kind='scatter')

x、y:分别记录x轴和y轴的数据名称。

data:数据集,data的数据类型为DataFrame。

kind:用于设置图像的类型,可选的类型有:'scatter' | 'reg' | 'resid' | 'kde' | 'hex',分别表示散点图、回归图、残差图、核密度图和蜂巢图。

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

# 创建dataframe: df

df = pd.DataFrame({'x': np.random.normal(size=500),

'y': np.random.normal(size=500)})

# 绘制双变量散点图

sns.jointplot(x='x', y='y', data=df,kind='reg')

plt.show()

三.多变量关系分布图

1.使用seaborn中的pairplot()方法,就可以绘制连续数值型多变量关系分布图

sns.pairplot( data, hue, vars, kind, diag_kind)

参数介绍

data表示绘图所用到的数据集

hue参数表示按照某个字段进行分类

vars参数可以用于筛选绘制图像的变量,用列表的形式传入列名称

kind参数用于设置变量间图像的类型,可以选择'scatter'散点图,或者 'reg'回归图

diag_kind用于设置对角线上的图像类型,可以选择'hist'直方图, 或者'kde'核密度图

代码:

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

data = pd.read_csv('/data/course_data/data_analysis/iris.csv')

# 双变量图像设置为回归图,单变量(对角线图)设置为核密度图

sns.pairplot(data, hue='species',vars=['sepal_length', 'sepal_width'],kind='reg', diag_kind='kde')

plt.show()

四.总结

1245837-20200601190014223-11023815.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,我们可以使用matplotlib库来绘制散点分析。首先,我们需要进行线性回归分析,然后使用来检查模型的拟合情况。具体步骤如下: 1. 导入所需的库和数据集。 2. 使用sklearn库中的线性回归模型进行拟合。 3. 使用matplotlib库绘制,横坐标为预测值,纵坐标为值。 4. 检查中是否存在任何模式或趋势,如果存在,则说明模型可能存在问题。 下面是一个简单的Python代码示例,用于绘制散点分析: ``` import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression # 导入数据集 X = [[1], [2], [3], [4], [5]] y = [2, 4, 5, 4, 5] # 创建线性回归模型 model = LinearRegression() model.fit(X, y) # 绘制 y_pred = model.predict(X) residuals = y - y_pred plt.scatter(y_pred, residuals) plt.xlabel('Predicted Values') plt.ylabel('Residuals') plt.axhline(y=0, color='r', linestyle='-') plt.show() ``` 在这个例子中,我们使用了一个简单的数据集,包含5个样本。我们使用sklearn库中的LinearRegression模型进行拟合,并使用matplotlib库绘制。在中,横坐标为预测值,纵坐标为值。我们还添加了一条红色的水平线,表示为0的位置。 如果中存在任何模式或趋势,例如值随预测值的增加而增加或减少,那么就需要重新检查模型的拟合情况,并可能需要进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值