2、使用Keras构建回归模型
文章目录
- 使用Keras构建回归模型
- 1、导入相关工具包
- 2、加载数据集
- 3、划分训练集和测试集
- 4、数据标准化
- 5、模型构建
- 6、打印模型信息
- 7、模型编译
- 8、模型训练
- 9、测试集上评估
- 10、预测:
- 11、完整代码
使用Keras构建回归模型
- 数据集:加州住房数据集
- 模型:MLP
- 框架:Keras
1、导入相关工具包
从sklearn中导入数据集
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import keras
2、加载数据集
# housing_data 是一个包含数据、标签的字典
housing_data = fetch_california_housing()
3、划分训练集和测试集
使用sklearn中的 train_test_split 进行数据划分,默认测试集占比25%。
x_train_all, x_test_all, y_train_all , y_test_all = train_test_split(housing_data["data"], housing_data["target"])
4、数据标准化
使用sklearn中的 StandardScaler 进行数据标准化,由于采用梯度下降法,故标准化可以加速模型收敛
scaler = StandardScaler() # 标准化的对象
x_train_all = scaler.fit_transform(x_train_all) # 对训练集进行拟合,标准化
x_test_all = scaler.transform(x_test_all) # 在测试集上标准化
5、模型构建
由于是回归模型,因此,输出层神经元个数为1,并且不需要激活函数,输出神经元会不断逼近真实标签值,
model = keras.models.Sequential(name="MLP-回归")
model.add(keras.layers.Dense(30, activation="relu", input_shape=(x_train_all.shape[1], )))
model.add(keras.layers.Dense(1))
6、打印模型信息
model.summary()
7、模型编译
采用随机梯度下降法进行优化,损失函数为均方误差
model.compile(optimizer="sgd", loss=keras.losses.mean_squared_error)
8、模型训练
验证集占训练集10%,训练集每轮训练完后,在验证集上进行验证
history = model.fit(x_train_all, y_train_all, epochs= 50, validation_split=0.1)
9、测试集上评估
mse = model.evaluate(x_test_all, y_test_all) # 返回测试集的mse
print(mse)
10、预测:
x_new = x_test_all[:10] # 取测试集前10个样本,进行预测
y_pre = model.predict(x_new)
11、完整代码
# 导入相关工具库
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import keras# 加载数据集
housing_data = fetch_california_housing()# 划分训练集和测试集
x_train_all, x_test_all, y_train_all , y_test_all = train_test_split(housing_data["data"], housing_data["target"])# 数据处理(标准化)
scaler = StandardScaler()
x_train_all = scaler.fit_transform(x_train_all)
x_test_all = scaler.transform(x_test_all)# 构建模型
model = keras.models.Sequential(name="MLP-回归")
model.add(keras.layers.Dense(30, activation="relu", input_shape=(x_train_all.shape[1], )))
model.add(keras.layers.Dense(1))# 打印模型结构信息
model.summary()# 模型编译
model.compile(optimizer="sgd", loss=keras.losses.mean_squared_error)# 模型训练
history = model.fit(x_train_all, y_train_all, epochs= 50, validation_split=0.1)# 在测试集上评估
mse = model.evaluate(x_test_all, y_test_all) # 返回测试集的loss和mse
print(mse)# 预测
x_new = x_test_all[:10]
y_pre = model.predict(x_new)
2、使用Keras构建回归模型相关推荐
- R语言使用caret包构建遗传算法树模型(Tree Models from Genetic Algorithms )构建回归模型、通过method参数指定算法名称
R语言使用caret包构建遗传算法树模型(Tree Models from Genetic Algorithms )构建回归模型.通过method参数指定算法名称.通过trainControl函数控 ...
- R语言使用caret包构建岭回归模型(Ridge Regression )构建回归模型、通过method参数指定算法名称、通过trainControl函数控制训练过程
R语言使用caret包构建岭回归模型(Ridge Regression )构建回归模型.通过method参数指定算法名称.通过trainControl函数控制训练过程 目录
- R语言使用caret包构建随机森林模型(random forest)构建回归模型、通过method参数指定算法名称、通过ntree参数指定随机森林中树的个数
R语言使用caret包构建随机森林模型(random forest)构建回归模型.通过method参数指定算法名称.通过ntree参数指定随机森林中树的个数 目录
- R语言使用caret包构建gbdt模型(随机梯度提升树、Stochastic Gradient Boosting )构建回归模型、通过method参数指定算法名称
R语言使用caret包构建gbdt模型(随机梯度提升树.Stochastic Gradient Boosting )构建回归模型.通过method参数指定算法名称 目录
- R语言构建回归模型并进行模型诊断(线性关系不满足时)、进行变量变换(Transforming variables)、使用car包中的boxTidwell函数对预测变量进行Box–Tidwell变换
R语言构建回归模型并进行模型诊断(线性关系不满足时).进行变量变换(Transforming variables).使用car包中的boxTidwell函数对预测变量进行Box–Tidwell变换 目 ...
- R语言使用xgboost构建回归模型:vtreat包为xgboost回归模型进行数据预处理(缺失值填充、缺失值标识、离散变量独热onehot编码)、构建出生体重的xgboost模型回归模型
R语言使用xgboost构建回归模型:vtreat包为xgboost回归模型进行数据预处理(缺失值填充.缺失值标识.离散变量独热onehot编码).构建出生体重的xgboost模型回归模型 目录
- R语言构建回归模型并获取对于新数据预测的预测区间实战:给出预测区间而不是一个具体的预测值、置信区间与预测区间的异同
R语言构建回归模型并获取对于新数据预测的预测区间实战:95%或者99%预测区间而不是一个具体的预测值.置信区间与预测区间的异同 目录
- 8.1 mnist_soft,TensorFlow构建回归模型
背景 之前已经写了很多TensorFlow的基本知识,现在利用TensorFlow实现一些简单的功能,对原来的知识进行串联,并初步入门,该部分共包括三篇,分别实现的是回归模型,浅层神经网络,KNN. ...
- mae python实现_使用Python进行机器学习:从0到1,构建回归模型(附完整教程)
摘要 在本文中,我将使用数据科学和Python来解释回归用例的主要步骤,从数据分析到理解模型输出. 我将介绍一些非常有用的Python代码,当你遇到相同的情况时,只需要复制,粘贴,运行,就能轻松使用. ...
- R语言使用lm函数构建回归模型、使用broom包的augmented函数将模型结果存入dataframe中、使用ggplot2可视化回归残差图(拟合值和残差值的关系图)
R语言使用lm函数构建回归模型.使用broom包的augmented函数将模型结果存入dataframe中.使用ggplot2可视化回归残差图(拟合值和残差值的关系图) 目录
最新文章
- Cisco路由器故障诊断技术
- 浪度九州城首页到内容页
- 30 Days of .NET [Windows Mobile Applications] - Day 01: Minutes to Midnight Countdown(午夜倒数器)...
- reactjs定义组件:类式组件
- win7系统电脑自动重启解决方法
- 基于密度的停留点识别方法
- STP/RSTP/MSTP经典分析与对比
- Zabbix server is not running:the information displayed may not be current
- 推算周期软件有哪些,推算周期软件怎么用
- 爱奇艺落子IP源头 全产业链开放协同助攻原创内容
- 计算机快捷键word,计算机类009-Word的快捷键集锦.doc
- 最近在测FREEBSD平台下ISP邮件系统前的准备知识摘录
- Arduino开发教程
- 殿影酒店即将开业,推出电影和酒店的跨界创新模式
- 嵩天老师《Python语言程序设计》第6周测试题笔记
- 显卡 1050Ti pytorch 安装
- 转载 | 身份访问与管理(IAM)的定义、应用与提供商
- freeman 链码
- python模拟用户登录注册定义函数user_python模拟登录通达信
- linux写磁带软件,如何在Linux下安装磁带机
热门文章
- 《红周刊》独家对话芒格:你可以随自己喜欢一辈子不理性,那必然承受糟糕结果
- 暴增14倍!这家港股最大基金公司,1年净利20亿,竟是因为这个!
- ZStack实践汇 | 快照和备份的区别
- 【优化分配】基于matlab遗传算法求解医疗资源分配优化问题【含Matlab源码 1419期】
- 【图像分割】基于matlab GUI FCMKFCM MRI图像分割【含Matlab源码 582期】
- SPSS AMOS常用统计软件及科研神器安装包资源【SPSS 006期】
- 线性分类模型和向量矩阵求导_自然语言处理中向量空间模型的矩阵设计
- 根据吴安德(斯坦福大学深度学习讲座),您应该如何阅读研究论文
- python exception最简单的应用(基本可以满足大部分需求)(异常、raise的使用)
- 解决方案:Windows下修改hosts文件