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()

png

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/