博客
关于我
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/

你可能感兴趣的文章
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>
mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
查看>>
mysql 导入导出大文件
查看>>
mysql 将null转代为0
查看>>
mysql 常用
查看>>
MySQL 常用列类型
查看>>
mysql 常用命令
查看>>
Mysql 常见ALTER TABLE操作
查看>>
MySQL 常见的 9 种优化方法
查看>>
MySQL 常见的开放性问题
查看>>
Mysql 常见错误
查看>>
MYSQL 幻读(Phantom Problem)不可重复读
查看>>
mysql 往字段后面加字符串
查看>>
mysql 快速自增假数据, 新增假数据,mysql自增假数据
查看>>
Mysql 报错 Field 'id' doesn't have a default value
查看>>
MySQL 报错:Duplicate entry 'xxx' for key 'UNIQ_XXXX'
查看>>
Mysql 拼接多个字段作为查询条件查询方法
查看>>
mysql 排序id_mysql如何按特定id排序
查看>>