使用AutoKeras2.0的AutoModel进行结构化数据回归预测

1、First of All: Read The Fucking Source Code

import autokeras as ak
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error# 生成数据集
np.random.seed(42)
x = np.random.rand(1000, 10)  # 生成1000个样本,每个样本有10个特征
y = x.dot([0.5, -1.5, 2.0, -0.8, 1.2, -0.3, 0.7, -1.1, 0.4, -0.6]) + 3.0  # 生成目标变量# 划分训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=42)input_node = ak.Input()
output_node = ak.DenseBlock()(input_node)  # 数值特征处理层
output_node = ak.RegressionHead()(output_node)# 初始化AutoModel,指定为回归任务
regressor = ak.AutoModel(inputs=input_node,  # 指定输入节点outputs=output_node,  # 指定输出节点overwrite=True,  # 覆盖之前的搜索结果max_trials=2  # 最大尝试次数
)# 训练模型
regressor.fit(x_train, y_train, epochs=10)# 评估模型
predictions = regressor.predict(x_test)
mse = mean_squared_error(y_test, predictions)
print('Mean Squared Error: {:.2f}'.format(mse))# 显示最佳模型信息
model = regressor.export_model()
model.summary()

 注:以上基于AutoKeras 2.0版本回归测试的例子,特别使用了通用的AutoModel的写法,其1.1版本不支持。

2、代码结构简介

AutoKeras是一个基于Keras的自动机器学习库,它能够自动搜索最优的神经网络架构。上述为一个简单的回归任务示例代码,主要包含以下部分:

  1. 生成模拟数据集并进行训练/测试集划分
  2. 定义AutoKeras的输入输出节点
  3. ‌配置并训练AutoModel
  4. ‌预测并计算均方误差
  5. ‌查看最佳模型结构

3、AutoModel输入输出说明

input_node = ak.Input()
output_node = ak.DenseBlock()(input_node)  # 数值特征处理层
output_node = ak.RegressionHead()(output_node)

输入部分:

  • input_node = ak.Input() 创建输入节点
  • 无需指定输入形状,AutoKeras会自动推断

处理层部分:

  • DenseBlock() 处理数值特征
  • 通过函数式API连接:output_node = ak.DenseBlock()(input_node)

输出部分:

  • RegressionHead() 指定回归任务
  • 同样使用函数式API连接

AutoModel配置:

  1. inputs参数接收输入节点
  2. outputs参数接收输出节点

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/84546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战设计模式之访问者模式

概述 访问者模式允许我们在不改变类的前提下,向已有类添加新的功能。简单来说,就是将算法与对象的数据结构进行分离的一种方法。在实际应用中,当我们需要对一组对象执行一些操作,而这些操作又需要随着需求的变化而不断变化时&…

centos7.9使用docker-compose安装kafka

docker-compose配置文件 services:zookeeper:image: confluentinc/cp-zookeeper:7.0.1hostname: zookeepercontainer_name: zookeeperports:- "2181:2181"environment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000kafka:image: confluentinc/cp-kafka:7.0…

STM32:Modbus通信协议核心解析:关键通信技术

知识点1【 Modbus通信】 1、Modbus的概述 Modbus是OSI模型第七层的应用层报文传输协议 协议:说明有组包和解包的过程 2、通信机制 Modelbus是一个请求/应答协议 通信机制:主机轮询,从机应答的机制。每个从设备有唯一的地址,主…

LeetCode 3362.零数组变换 III:贪心+优先队列+差分数组——清晰题解

【LetMeFly】3362.零数组变换 III:贪心优先队列差分数组——清晰题解 力扣题目链接:https://leetcode.cn/problems/zero-array-transformation-iii/ 给你一个长度为 n 的整数数组 nums 和一个二维数组 queries ,其中 queries[i] [li, ri] …

ORM++ 封装实战指南:安全高效的 C++ MySQL 数据库操作

ORM 封装实战指南:安全高效的 C MySQL 数据库操作 一、环境准备 1.1 依赖安装 # Ubuntu/Debian sudo apt-get install libmysqlclient-dev # CentOS sudo yum install mysql-devel# 编译时链接库 (-I 指定头文件路径 -L 指定库路径) g main.cpp -stdc17 -I/usr/i…

JESD204B 协议介绍

一、协议概述 JESD204B是由JEDEC(固态技术协会)制定的高速串行接口标准,专为模数转换器(ADC)、数模转换器(DAC)与逻辑器件(如FPGA、ASIC)之间的数据传输设计。其核心目标…

yolov8,c++案例汇总

文章目录 引言多目标追踪案例人体姿态估计算法手势姿态估计算法目标分割算法 引言 以下案例,基于c,ncnn,yolov8既可以在windows10/11上部署, 也可以在安卓端部署, 也可以在嵌入式端部署, 服务器端可支持部署封装为DLL,支持c/c#/java端调用 多目标追踪案例 基于yolov8, ncnn,…

运动规划实战案例 | 图解基于状态晶格(State Lattice)的路径规划(附ROS C++/Python仿真)

目录 1 控制采样 vs 状态采样2 State Lattice路径规划2.1 算法流程2.2 Lattice运动基元生成2.3 几何代价函数2.4 运动学约束启发式 3 算法仿真3.1 ROS C仿真3.2 Python仿真 1 控制采样 vs 状态采样 控制采样的技术路线源自经典的运动学建模思想。这种方法将机器人的控制指令空…

BERT框架:自然语言处理的革命性突破

引言 在自然语言处理(NLP)领域,2018年Google推出的BERT(Bidirectional Encoder Representations from Transformers)框架无疑是一场革命。作为基于Transformer架构的双向编码器表示模型,BERT通过预训练学习…

【Fifty Project - D31】

结束了一个超级消耗周末,满安排之健身梅溪湖游泳做饭喝酒羽毛球赛 完全力竭了,久久不能恢复过来,暂停健身安排了 端午后再继续 今日完成记录 TimePlan完成情况7:30 - 8:10有氧爬坡√9:00 - 11:…

信息学奥赛一本通 1547:【 例 1】区间和

【题目链接】 ybt 1547:【 例 1】区间和 【题目考点】 1. 线段树 2. 树状数组 【解题思路】 本题要求维护区间和,实现单点修改、区间查询。 解法1:线段树 线段树原理,及实现方法见:洛谷 P3374 【模板】树状数组…

力扣面试150题--求根节点到叶节点数字之和

Day 48 题目描述 思路 我们利用sum这个全局变量来保存总和值,递归函数sum来计算每个根到叶子节点路径所代表的数,由于我们需要遍历到每条根到叶子节点的路径,所有我采取了前序遍历,如果不是叶子节点,就计算到该节点代…

DJI上云API官方demo学习

1、websocket,所在位置如下图,调用的可以用//websocket搜索 2、用到的http客户端,axios 3、很多和后端交互都是走的http请求

uniapp开发小程序,如何根据权限动态配置按钮或页面内容

前言 写了好几个项目,发现小程序对权限控制非常麻烦,于是有了这个想法,但是网上找了一圈没有一个比较完善的讲解,因为小程序不支持自定义指令,所以不能像后台那样方便,于是就将几个博主的想法结合。 思路就…

LSTM+Transformer混合模型架构文档

LSTMTransformer混合模型架构文档 模型概述 本项目实现了一个LSTMTransformer混合模型,用于超临界机组协调控制系统的数据驱动建模。该模型结合了LSTM的时序建模能力和Transformer的自注意力机制,能够有效捕捉时间序列数据中的长期依赖关系和变量间的复…

测量尺子:多功能测量工具,科技改变生活

测量尺子是一款专业的测距仪测量万能工具箱类型手机APP,旨在为用户提供最贴心的测量助手。它拥有和现实测量仪器一样的测量标准,更简单便捷且精准的测量方式,最新AR科技测量更是大大拓宽了可以被测量的高度和深度。无论是日常使用、学习还是工…

结课作业01. 用户空间 MPU6050 体感鼠标驱动程序

目录 一. qt界面实现 二. 虚拟设备模拟模拟鼠标实现体感鼠标 2.1 函数声明 2.2 虚拟鼠标实现 2.2.1 虚拟鼠标创建函数 2.2.2 鼠标移动函数 2.2.3 鼠标点击函数 2.3 mpu6050相关函数实现 2.3.1 i2c设备初始化 2.3.2 mpu6050寄存器写入 2.3.3 mpu6050寄存器读取 2.3.…

深入浅出 Python Testcontainers:用容器优雅地编写集成测试

在现代软件开发中,自动化测试已成为敏捷开发与持续集成中的关键环节。单元测试可以快速验证函数或类的行为是否符合预期,而集成测试则确保多个模块协同工作时依然正确。问题是:如何让集成测试可靠、可重复且易于维护? 这时&#…

JVM 的垃圾回收器

新生代回收器 通性 会触发StW,暂停所有应用线程复制算法 Serial 单线程回收适合单线程系统 ParNew 多线程回收优先保证响应速度,降低 STW(STW 越大,执行垃圾回收的时间越长,回收的垃圾越多,减少垃圾回…

【笔记】排查并解决Error in LLM call after 3 attempts: (status code: 502)

#工作记录 一、问题描述 在部署运行部署对冲基金分析工具 ai-hedge-fund 时,不断出现以下报错,导致项目运行异常: Error in LLM call after 3 attempts: (status code: 502) Error in LLM call after 3 attempts: [WinError 10054] 远程主…