plot_linear_regression: 一种绘制线性回归拟合的快速方法
绘制线性回归拟合的函数。
from mlxtend.plotting import plot_linear_regression
概述
plot_linear_regression
是一个方便的函数,它使用 scikit-learn 的 linear_model.LinearRegression
来拟合线性模型,并使用 SciPy 的 stats.pearsonr
计算相关系数。
参考资料
- -
示例 1 - 普通最小二乘简单线性回归
import matplotlib.pyplot as plt
from mlxtend.plotting import plot_linear_regression
import numpy as np
X = np.array([4, 8, 13, 26, 31, 10, 8, 30, 18, 12, 20, 5, 28, 18, 6, 31, 12,
12, 27, 11, 6, 14, 25, 7, 13,4, 15, 21, 15])
y = np.array([14, 24, 22, 59, 66, 25, 18, 60, 39, 32, 53, 18, 55, 41, 28, 61, 35,
36, 52, 23, 19, 25, 73, 16, 32, 14, 31, 43, 34])
intercept, slope, corr_coeff = plot_linear_regression(X, y)
plt.show()
API
plot_linear_regression(X, y, model=LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False), corr_func='pearsonr', scattercolor='blue', fit_style='k--', legend=True, xlim='auto')
绘制线性回归拟合线。
参数
-
X
: numpy 数组,形状 = [n_samples,]样本。
-
y
: numpy 数组,形状 (n_samples,) 目标值 model: 对象(默认值: sklearn.linear_model.LinearRegression)用于回归的估计器对象。必须实现 .fit() 和 .predict() 方法。corr_func: str 或 function(默认值: 'pearsonr')如果 corr_func='pearsonr',则使用 scipy.stats 的pearsonr
。用于计算回归斜率。如果不是 'pearsonr',corr_func
参数期望一个形式为 func() 作为输入,并且期望返回一个元组
(<correlation_coefficient>, <some_unused_value>)
。scattercolor: string(默认值: blue)散点图点的颜色。fit_style: string(默认值: k--)拟合线的样式。legend: bool(默认值: True)绘制包含 corr_coeff 系数、拟合系数和截距值的图例。xlim: 类似数组(x_min, x_max)或 'auto'(默认值: 'auto')线性拟合线的 X 轴范围。, ) 作为输入),预期返回一个元组 (<correlation_coefficient>, <some_unused_value>)
。scattercolor: 字符串 (默认值: blue) 散点图点的颜色。fit_style: 字符串 (默认值: k--) 线拟合的样式。legend: 布尔值 (默认值: True) 绘制图例,包含相关系数值、拟合系数值和截距值。xlim: 类似数组的 (x_min, x_max) 或 'auto' (默认值: 'auto') 线性拟合线的X轴范围。
返回值
-
regression_fit
: 元组截距 (intercept), 斜率 (slope), 相关系数 (corr_coeff) (浮点型, 浮点型, 浮点型)
示例
有关使用示例,请参阅 https://mlxtend.cn/mlxtend/user_guide/plotting/plot_linear_regression/