博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python_线性回归,最小二乘法
阅读量:372 次
发布时间:2019-03-05

本文共 1460 字,大约阅读时间需要 4 分钟。

python_线性回归,最小二乘法

  1. 线性回归(又名普通最小二乘法)
    线性回归,或者普通最小二乘法(ordinary least squares,OLS),是回归问题最简单也最经
    典的线性方法。线性回归寻找参数 w 和 b,使得对训练集的预测值与真实的回归目标值 y
    之间的均方误差最小。均方误差(mean squared error)是预测值与真实值之差的平方和除
    以样本数。线性回归没有参数,这是一个优点,但也因此无法控制模型的复杂度。
Linear Regression aka Ordinary Least Squares# 线性回归,最小二乘法# 生成测试数据from sklearn.linear_model import LinearRegressionX, y = mglearn.datasets.make_wave(n_samples=60)X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)​lr = LinearRegression().fit(X_train, y_train)# 查看斜率  ,截距print("lr.coef_: {}".format(lr.coef_))print("lr.intercept_: {}".format(lr.intercept_))lr.coef_: [0.394]lr.intercept_: -0.031804343026759746# 查看训练集和测试集的性能print("Training set score: {:.2f}".format(lr.score(X_train, y_train)))print("Test set score: {:.2f}".format(lr.score(X_test, y_test)))# 查看R方# R2 约为 0.66,这个结果不是很好,但我们可以看到,训练集和测试集上的分数非常接近。# 这说明可能存在欠拟合,而不是过拟合。​# 然而,对于更高维的数据集(即有大量特征的数据集),线# 性模型将变得更加强大,过拟合的可能性也会变大Training set score: 0.67Test set score: 0.66​# 我们来看一下 LinearRegression 在更# 复杂的数据集上的表现,比如波士顿房价数据集。记住,这个数据集有 506 个样本和 105# 个导出特征。首先,加载数据集并将其分为训练集和测试集。然后像前面一样构建线性回# 归模型:X, y = mglearn.datasets.load_extended_boston()​X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)lr = LinearRegression().fit(X_train, y_train)print("Training set score: {:.2f}".format(lr.score(X_train, y_train)))print("Test set score: {:.2f}".format(lr.score(X_test, y_test)))# 训练集和测试集之间的性能差异是过拟合的明显标志,Training set score: 0.95Test set score: 0.61``

转载地址:http://qtrg.baihongyu.com/

你可能感兴趣的文章