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数据集:

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

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

其实这个数据集就是一个字典型的数据集,我们可以通过键索引来获取数据,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'])

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

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

由于前四列数据的数据类型是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: 

 

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

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

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

你可能感兴趣的:(python,金融,线性回归)