python金融分析小知识(28)——使用seaborn绘制线性回归图

Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助!

相信大家在平时绘图的时候会经常用到matplotlib这个包,但其实还有一个绘图包也是相当优秀,并且美观大方,它就是seaborn,今天我们就是用seaborn来绘制机器学习中常用到的模型——线性回归模型的图像。

提起matplotlib相比大家都知道,如果你想要使用matplotlib来绘制比较漂亮的图像的话所需要使用的参数巨多,然而对于seaborn来说,其有一定程度的初始设置,这样会让你的图像看起来更加的美观!

今天我们就用seaborn来进行线性回归图像的绘制:

1.通过sklearn导入数据

首先我们通过sklearn来导入所要用到的数据库,这里我们使用鸢尾花数据集:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd 
from sklearn import datasets
import seaborn as sns

iris = datasets.load_iris()

我们来打印一下iris数据集:

其实这个数据集就是一个字典型的数据集,我们可以通过键索引来获取数据,iris数据集的键包括:data、target、frame、target_names等。

2.数据预处理 

下面我们将鸢尾花数据集进行一下预处理,包括指定特征值与标签值、将数据集中的target匹配为具体的种类名,最后组合数据:

x, y =iris.data,iris.target
y_1 = np.array(['setosa' if i==0 else 'versicolor' if i==1 else 'virginica' for i in y])
pd_iris = pd.DataFrame(np.hstack((x, y_1.reshape(150,1))),columns=['sepal length(cm)','sepal width(cm)','petal length(cm)','petal width(cm)','class'])

我们来看看结果,可以看出前四列就是特征,最后一列就是标签:

由于前四列数据的数据类型是object,所以我们这里需要将object类型的数据转化为float类型:

#astype修改pd_iris中数据类型object为float64
pd_iris['sepal length(cm)']=pd_iris['sepal length(cm)'].astype('float64')
pd_iris['sepal width(cm)']=pd_iris['sepal width(cm)'].astype('float64')
pd_iris['petal length(cm)']=pd_iris['petal length(cm)'].astype('float64')
pd_iris['petal width(cm)']=pd_iris['petal width(cm)'].astype('float64')

3.通过seaborn绘制线性回归图

在处理好数据后,我们来绘制线性回归图:

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)#设置主题,文本大小
g = sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             color='#000000',#设置marker及线的颜色
             marker='*')#设置marker形状

得到的结果如下,这里我们选择的x,y分别为sepal length和sepal width: 

 

 

这张图中的阴影部分就是线性回归的置信区间(confidence interval),可以通过参数ci=95来设置,#置信区间设置,默认为95%置信区间,越大线周围阴影部分面积越大。

好啦,今天的文章就分享到这里啦!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君子以自强不息python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值