Python机器学习:多项式回归与模型泛化004为什么需要训练数据集和测试数据集
泛化能力:由此及彼能力
遇见新的拟合能力差
数据
#数据
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为什么需要训练数据集和测试数据集相关推荐
- 05机器学习--多项式回归与模型泛化及python实现
目录 ①什么是多项式回归 ②scikit-learn中的多项式回归和Pipelin ③过拟合与欠拟合 ④验证数据集与交叉验证 ⑤回顾网格搜索 ⑥偏差方差权衡 ⑦解决过拟合问题--模型正则化1--岭回归 ...
- 杨桃的Python机器学习3——单特征与多特征、训练集与测试集
本人CSDN博客专栏:https://blog.csdn.net/yty_7 Github地址:https://github.com/yot777/ 单特征与多特征 在上一节标签和特征的示例中,我们使 ...
- 第8章 多项式回归与模型泛化
问题:线性回归要求假设我们的数据背后存在线性关系: , 如果将x的平方理解成一个特征,x理解成另一个特征:本来只有一个特征x,现在看成有两个特征的数据集,多了一个特征,就是x的平方,其实式子本身依然是 ...
- 推荐系统-排序层:主流CTR模型综述【Click-Through-Rate,点击率预估,指精排层的排序】【CTR 模型的输入(即训练数据)是:大量成对的 (features, label)数据】
一.CTR 模型建模 在讲 CTR 模型之前,我们首先要清楚 CTR 模型是什么,用来解决什么问题.所以我们先描述 CTR 问题,并对其进行数学建模. 一个典型的推荐系统架构如下图所示: 一般会划分为 ...
- 利用python整理凯斯西储大学(CWRU)轴承数据,制作数据集
利用python整理凯斯西储大学(CWRU)轴承数据,制作数据集 1 前言 2 制作数据集 2.1 下载数据,初步处理 2.2 上代码 1 前言 大多数文献用CWRU数据制作数据集的思路是差不多的,这 ...
- Python机器学习:多项式回归与模型泛化005学习曲线
KNN和多项式回归不适合上面这样绘制这样,决策树适合绘制 学习曲线 CODE: #数据 import numpy as np import matplotlib.pyplot as plt x = n ...
- python机器学习 多项式回归模型正则化(拉索,岭,弹性网)
多项式回归模型正则化(拉索,岭,弹性网) 目录 多项式回归模型正则化(拉索,岭,弹性网) 一.多项式回归模型正则化: 1.L1正则化(lasso)回归 2.L2正则化(Ridge)回归 3.弹性网(E ...
- python机器学习 | 多项式回归和拟合
多项式回归和拟合.正则化 1 多项式回归 1.1 介绍 1.2 回归实现 2 拟合&正则化 2.1拟合问题 2.1.1 拟合出现的类型 2.2 解决拟合出现的问题 3 正则化 3.1 介绍 3 ...
- 多项式回归与模型泛化
1.多项式回归 线性回归的局限性是只能应用于存在线性关系的数据中,但是在实际生活中,很多数据之间是非线性关系,虽然也可以用线性回归拟合非线性回归,但是效果会变差,这时候就需要对线性回归模型进行改进,使 ...
最新文章
- 矿大计算机控制技术,潜心科研,匠心育人,来看看矿大这位带领国内顶尖团队的“大拿”的多面人生!...
- 评估指标:ROC,AUC,Precision、Recall、F1-score
- 【转】SAP的标准委外采购中都有哪些坑
- Python实训day10am【Python中的地址引用、os模块】
- 手把手教你将pyqt程序打包成exe(2)
- 6月24日AppCan移动开发者大会礼品清单遭泄露
- PyAutoIt 安装(Windows 版)
- 13个好习惯 教你健康一整年
- 数据驱动精准化营销在大众点评的实践
- 【Java】异常和IO在Gourmet咖啡系统中的应用
- python奇奇怪怪的特点
- 详解Python对象属性
- File指定过滤器得到需要的文件
- java-xx参数介绍及调优总结
- mysql 没有 myd_MySQL中找不到.myd文件的问题
- 洛谷P2141 珠心算测验
- 仿真对比4ASK信号、8PSK信号、4FSK信号在AWGN信道下的传输性能
- Python检测重复字——部分中华字经重复字检测
- 对话苏宁张桂平 商协社团·万祥军:全国工商联谋民企凝聚力
- python使用gdal读取tif经纬度
热门文章
- 2017.9.29 谁能赢呢? 思考记录
- Linux 添加alisa,Linux/shell命令的实际应用——alias增加自定义命令
- 聚焦核心竞争力:自建与外购
- eclipse中java环境配置
- python中的模块_python的模块和包的详细说明
- Vulkan in 30 minutes
- Unreal4 IOS上使用第三方库和C++11 特性问题解决
- 阿里新一代分布式任务调度平台Schedulerx2.0破土而出...
- Web服务器处理连接请求的四种架构方式
- OEL6.1下oracle 11gr2 ASM安装