回归模型演示


目录:

实验四、回归模型演示

一、实验目的

  • 1.理解线性回归和对应参数调节。
  • 2.掌握使用任意公式进行广义线性回归拟合的方法。

二、实验内容

  • 1.调用 sklearn 的多项式特征 PolynomialFeatures 进行多项式拟合。
  • 2.调用逻辑斯蒂回归直线 LinearRegression 进行线性拟合。
  • 3.使用任意函数为 curve_fit 调用以拟合任意规律数据。

三、实验步骤

  • 1、线性回归 利用 sklearn 用于学习逻辑斯蒂回归直线的 LinearRegression 和多项式转换 PolynomialFeatures 可以拟合多项式曲线。
  • 2、广义线性回归 scipy 有一种拟合函数 curve_fit,可利用这个函数进行多种函数的拟合。不少 分布是非线性的,例如泊松分布、二项分布,本质上是指数分布,灵活运用 curve_fit 可拟合不同类型的函数。这里使用正态分布公式拟合。
import matplotlib.pyplot as plt
import numpy as np
from scipy import stats
from sklearn.pipeline import Pipeline
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures


x = np.arange(0,1,0.002)

y = stats.norm.rvs(0,size=500,scale=0.1)

y = y + x ** 0.5

plt.scatter(x,y,s=5)

degree = [1,2,300]


y_test = np.array([])

for d in degree:
    clf = Pipeline(
        [('poly',PolynomialFeatures(degree=d)),
         ('linear',LinearRegression(fit_intercept=False))]
    )
    clf.fit(x[:,np.newaxis],y)
    y_test = clf.predict(x[:,np.newaxis])
    plt.plot(x,y_test,linewidth=2)

plt.grid()
plt.legend([str(nu) for nu in degree],loc='upper left')
plt.show()