python两种可视化工具在拟合一元线性回归模型上的对比(matplotlib,seaborn)

import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import  numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
%matplotlib inline

np.random.seed(0)
x = np.linspace(-10, 10, 1000)
x = x.reshape(-1, 1)
y = 0.85 * x - 0.72
# scale是正态分布的标准差
e = np.random.normal(scale=1.5, size=x.shape)
y += e
lr = LinearRegression()
train_X, test_X, train_y, test_y = train_test_split(x, y, test_size=0.25, random_state=0)
lr.fit(train_X, train_y)
plt.scatter(x, y, s=2)
plt.plot(x, lr.predict(x), "r-")

在这里插入图片描述

x=x.reshape(1,-1)[0]
y=y.reshape(1,-1)[0]
data = pd.DataFrame({"X1":x,"y":y})#,index=[0]
gridobj = sns.lmplot("X1","y",data=data) # seaborn 的函数lmplot必须通过字符串和DataFrame数据传值的形式

在这里插入图片描述
Seaborn是自动拟合绘制时不需要预测值,只需要给样本和标签,可见功能比Matplotlib强大,order参数可以控制进行回归的幂次(一次以上即是多项式回归)

sns.lmplot(x=‘’,y=‘’,
       data=data,order=1)#一元线性回归

参考:https://blog.csdn.net/qq_39949963/article/details/80773588

发布了588 篇原创文章 · 获赞 170 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/qq_41228218/article/details/105125280
今日推荐