泛化能力:由此及彼能力
遇见新的拟合能力差

数据

#数据
import numpy as np
import matplotlib.pyplot as plt
x = np.random.uniform(-3,3,size=100)
#在最新版本的sklearn中,所有的数据都应该是二维矩阵,哪怕它只是单独一行或一列。
X = x.reshape(-1,1)
y = 0.5 * x ** 2 + x + 2 +np.random.normal(0,1,size=100)
plt.scatter(x,y)#非线性关系
#print(X)


from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import PolynomialFeatures
def PolynomialRegression(degree):return Pipeline([('poly',PolynomialFeatures(degree=degree)),('std_scaler',StandardScaler()),('lin_reg',LinearRegression())])
#过度拟合,欠拟合
#为什么要训练数据和测试数据
#train test split 的意义
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=666)

使用测试数据集
线性回归

from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
y_predict = lin_reg.predict(X_test)
from sklearn.metrics import mean_squared_error
print(mean_squared_error(y_test,y_predict))
3.0558244599225235

多项式回归degree = 2

poly2_reg = PolynomialRegression(degree=2)
poly2_reg.fit(X_train,y_train)
y2_predict = poly2_reg.predict(X_test)
print(mean_squared_error(y2_predict,y_test))
1.0186698710398034

多项式回归degree = 10

poly2_reg = PolynomialRegression(degree=10)
poly2_reg.fit(X_train,y_train)
y2_predict = poly2_reg.predict(X_test)
print(mean_squared_error(y2_predict,y_test))
0.9294573452521058

degree = 100

poly2_reg = PolynomialRegression(degree=100)
poly2_reg.fit(X_train,y_train)
y2_predict = poly2_reg.predict(X_test)
print(mean_squared_error(y2_predict,y_test))

误差非常大!!!泛化能力非常弱!!!!!!!

5.5125601832506963e+17


训练,测试数据集分离




过拟合?毛发颜色是黄颜色的是狗(其实狗还有别的颜色,颜色特征不是一般特征,这个特征找的太细节了)



测评模型泛化能力。。但还有更好的办法。。

Python机器学习:多项式回归与模型泛化004为什么需要训练数据集和测试数据集相关推荐

  1. 05机器学习--多项式回归与模型泛化及python实现

    目录 ①什么是多项式回归 ②scikit-learn中的多项式回归和Pipelin ③过拟合与欠拟合 ④验证数据集与交叉验证 ⑤回顾网格搜索 ⑥偏差方差权衡 ⑦解决过拟合问题--模型正则化1--岭回归 ...

  2. 杨桃的Python机器学习3——单特征与多特征、训练集与测试集

    本人CSDN博客专栏:https://blog.csdn.net/yty_7 Github地址:https://github.com/yot777/ 单特征与多特征 在上一节标签和特征的示例中,我们使 ...

  3. 第8章 多项式回归与模型泛化

    问题:线性回归要求假设我们的数据背后存在线性关系: , 如果将x的平方理解成一个特征,x理解成另一个特征:本来只有一个特征x,现在看成有两个特征的数据集,多了一个特征,就是x的平方,其实式子本身依然是 ...

  4. 推荐系统-排序层:主流CTR模型综述【Click-Through-Rate,点击率预估,指精排层的排序】【CTR 模型的输入(即训练数据)是:大量成对的 (features, label)数据】

    一.CTR 模型建模 在讲 CTR 模型之前,我们首先要清楚 CTR 模型是什么,用来解决什么问题.所以我们先描述 CTR 问题,并对其进行数学建模. 一个典型的推荐系统架构如下图所示: 一般会划分为 ...

  5. 利用python整理凯斯西储大学(CWRU)轴承数据,制作数据集

    利用python整理凯斯西储大学(CWRU)轴承数据,制作数据集 1 前言 2 制作数据集 2.1 下载数据,初步处理 2.2 上代码 1 前言 大多数文献用CWRU数据制作数据集的思路是差不多的,这 ...

  6. Python机器学习:多项式回归与模型泛化005学习曲线

    KNN和多项式回归不适合上面这样绘制这样,决策树适合绘制 学习曲线 CODE: #数据 import numpy as np import matplotlib.pyplot as plt x = n ...

  7. python机器学习 多项式回归模型正则化(拉索,岭,弹性网)

    多项式回归模型正则化(拉索,岭,弹性网) 目录 多项式回归模型正则化(拉索,岭,弹性网) 一.多项式回归模型正则化: 1.L1正则化(lasso)回归 2.L2正则化(Ridge)回归 3.弹性网(E ...

  8. python机器学习 | 多项式回归和拟合

    多项式回归和拟合.正则化 1 多项式回归 1.1 介绍 1.2 回归实现 2 拟合&正则化 2.1拟合问题 2.1.1 拟合出现的类型 2.2 解决拟合出现的问题 3 正则化 3.1 介绍 3 ...

  9. 多项式回归与模型泛化

    1.多项式回归 线性回归的局限性是只能应用于存在线性关系的数据中,但是在实际生活中,很多数据之间是非线性关系,虽然也可以用线性回归拟合非线性回归,但是效果会变差,这时候就需要对线性回归模型进行改进,使 ...

最新文章

  1. 矿大计算机控制技术,潜心科研,匠心育人,来看看矿大这位带领国内顶尖团队的“大拿”的多面人生!...
  2. 评估指标:ROC,AUC,Precision、Recall、F1-score
  3. 【转】SAP的标准委外采购中都有哪些坑
  4. Python实训day10am【Python中的地址引用、os模块】
  5. 手把手教你将pyqt程序打包成exe(2)
  6. 6月24日AppCan移动开发者大会礼品清单遭泄露
  7. PyAutoIt 安装(Windows 版)
  8. 13个好习惯 教你健康一整年
  9. 数据驱动精准化营销在大众点评的实践
  10. 【Java】异常和IO在Gourmet咖啡系统中的应用
  11. python奇奇怪怪的特点
  12. 详解Python对象属性
  13. File指定过滤器得到需要的文件
  14. java-xx参数介绍及调优总结
  15. mysql 没有 myd_MySQL中找不到.myd文件的问题
  16. 洛谷P2141 珠心算测验
  17. 仿真对比4ASK信号、8PSK信号、4FSK信号在AWGN信道下的传输性能
  18. Python检测重复字——部分中华字经重复字检测
  19. 对话苏宁张桂平 商协社团·万祥军:全国工商联谋民企凝聚力
  20. python使用gdal读取tif经纬度

热门文章

  1. 2017.9.29 谁能赢呢? 思考记录
  2. Linux 添加alisa,Linux/shell命令的实际应用——alias增加自定义命令
  3. 聚焦核心竞争力:自建与外购
  4. eclipse中java环境配置
  5. python中的模块_python的模块和包的详细说明
  6. Vulkan in 30 minutes
  7. Unreal4 IOS上使用第三方库和C++11 特性问题解决
  8. 阿里新一代分布式任务调度平台Schedulerx2.0破土而出...
  9. Web服务器处理连接请求的四种架构方式
  10. OEL6.1下oracle 11gr2 ASM安装