博客
关于我
python_线性回归,最小二乘法
阅读量:375 次
发布时间: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/

你可能感兴趣的文章
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>
navicat怎么导出和导入数据表
查看>>
Navicat怎样同步两个数据库中的表
查看>>
Navicat报错connection is being used
查看>>
Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
查看>>
Navicat控制mysql用户权限
查看>>
navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
查看>>
Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
查看>>
Navicat连接mysql数据库中出现的所有问题解决方案(全)
查看>>
Navicat连接Oracle出现Oracle library is not loaded的解决方法
查看>>
Navicat连接Oracle数据库以及Oracle library is not loaded的解决方法
查看>>
Navicat连接sqlserver提示:未发现数据源名并且未指定默认驱动程序
查看>>
navicat连接远程mysql数据库
查看>>
Navicat通过存储过程批量插入mysql数据
查看>>
Navicat(数据库可视化操作软件)安装、配置、测试
查看>>