AutoKeras(Python自动化机器学习)多模态数据和多任务

要点拓扑

在这里插入图片描述

AutoKeras 拓扑

在这里插入图片描述

要点

  1. 常规机器学习:scikit-learn示例探索性数据分析和数据预处理,线性回归,决策树
  2. 图像分类ResNet模型示例,合成数据集DenseNet模型示例
  3. 绘图线性回归和决策树模型
  4. 使用Python工具seaborn、matplotlib、pandas、scikit-learn进行特征分析,数据处理
  5. Tensorflow和Keras实现多测感知器、卷积神经网络CNN和递归神经网络RNN及应用示例
  6. AutoKeras案例实现:新闻热点预测、垃圾邮件检测、CIFAR-10图像分类、事故率、MNIST识别、话题分类、情绪分析

自动化机器学习

自动化机器学习是一种自动化各种机器学习模型开发流程的过程,以便数据科学和机器学习方面专业知识有限的个人和组织能够更容易地使用机器学习。 它拥有一组技术和工具,可以自动选择和微调机器学习模型的过程。 其目标是让数据科学专业知识有限的人们更轻松地构建和部署高性能机器学习模型。

Predicting
Training
模型训练
超参数调整模型选择
验证
特征工程
新数据
预测
目标
特征工程
原始数据和目标
训练集
验证集
测试集
机器学习
模型

它使用户能够将机器学习技术应用于不同的领域,从简单的表格数据分析到图像识别、自然语言处理和预测等更复杂的任务。它不仅仅停留在模型训练上,涵盖了整个生命周期,包括评估、验证、部署以及持续监控和维护。

自动化目标可以自动化构建机器学习模型所涉及的多个步骤。其中一些如下:

  • 数据准备:处理缺失值、缩放特征、编码分类变量以及将数据拆分为训练集和测试集
  • 特征工程:从原始数据中提取有用的特征。
  • 模型选择和训练:选择合适的机器学习算法和超参数。
  • 超参数调整:微调机器学习模型的设置以优化性能。
  • 集成建模:组合多个模型以提高性能。
  • 部署:将经过训练的模型投入生产
  • 监控和维护:模型部署后可以根据新数据进行维护和监控

自动机器学习用于简化和自动化将机器学习应用于现实世界问题的端到端过程:

  • 使机器学习可供更广泛的受众使用,包括机器学习专业知识有限的个人。通过自动化复杂的任务,它降低了非数据科学专家的用户的进入门槛。
  • 减少了开发有效的机器学习模型所需的时间和精力。其工具通常提供直观、用户友好的界面或 API,让用户提供数据并接收优化的机器学习模型,而无需深入了解底层算法和技术。
  • 机器学习涉及处理各种算法、超参数和数据预处理技术。机器学习可以自动为特定任务选择最合适的算法和超参数,从而降低用户的复杂性。
  • 擅长自动优化超参数,这对于实现最佳模型性能至关重要。这个过程可能非常耗时并且需要专业知识,因此自动化非常有益。

可用于执行各种机器学习任务,包括分类、回归、聚类、深度学习,甚至预测。 它们能够执行从简单的表格数据分析到更复杂的图片识别或自然语言处理的任务。

  • 表格数据:分类和回归
  • 图像数据:计算机视觉
  • 文本数据:自然语言处理 (NLP)

使用 AutoKeras 进行图像分类的示例。

  1. 导入所需类:
import os
import pathlib
import numpy as np
import tensorflow as tf
import autokeras as akimport warnings
warnings.filterwarnings('ignore')
  1. 加载数据库
dataset_url = "https://storage.gapis.com/download.tensorflow.org/example_images/flower_photos.tgz"
data_dir = tf.keras.utils.get_file('flower_photos', origin=dataset_url, untar=True)
data_dir = pathlib.Path(data_dir)
  1. 分类训练、测试、验证集
batch_size = 32
img_height = 240
img_width = 240train_data = ak.image_dataset_from_directory(data_dir,validation_split=0.15,subset="training",seed=23,image_size=(img_height, img_width),batch_size=batch_size,
)test_data = ak.image_dataset_from_directory(data_dir,validation_split=0.15,subset="validation",seed=23,image_size=(img_height, img_width),batch_size=batch_size,
)

输出

Found 3670 files belonging to 5 classes.
Using 3120 files for training.
Found 3670 files belonging to 5 classes.
Using 550 files for validation.
  1. 构建自动化机器学习模型
image_classifier = ak.ImageClassifier(num_classes = 5,multi_label = True,overwrite=True, max_trials=1)image_classifier.fit(train_data, epochs=5)

输出

Search: Running Trial #1
Value             |Best Value So Far |Hyperparameter
vanilla           |vanilla           |image_block_1/block_type
True              |True              |image_block_1/normalize
False             |False             |image_block_1/augment
3                 |3                 |image_block_1/conv_block_1/kernel_size
1                 |1                 |image_block_1/conv_block_1/num_blocks
2                 |2                 |image_block_1/conv_block_1/num_layers
True              |True              |image_block_1/conv_block_1/max_pooling
False             |False             |image_block_1/conv_block_1/separable
0.25              |0.25              |image_block_1/conv_block_1/dropout
32                |32                |image_block_1/conv_block_1/filters_0_0
64                |64                |image_block_1/conv_block_1/filters_0_1
flatten           |flatten           |classification_head_1/spatial_reduction_1/reduction_type
0.5               |0.5               |classification_head_1/dropout
adam              |adam              |optimizer
0.001             |0.001             |learning_rate
Trial 1 Complete [00h 08m 02s]
val_loss: 0.3753296434879303
Best val_loss So Far: 0.3753296434879303
Total elapsed time: 00h 08m 02s
INFO:tensorflow:Oracle triggered exit
Epoch 1/5
98/98 [==============================] - 110s 1s/step - loss: 0.9031 - accuracy: 0.4234
Epoch 2/5
98/98 [==============================] - 114s 1s/step - loss: 0.3507 - accuracy: 0.6224
Epoch 3/5
98/98 [==============================] - 109s 1s/step - loss: 0.2060 - accuracy: 0.8490
Epoch 4/5
98/98 [==============================] - 112s 1s/step - loss: 0.0995 - accuracy: 0.9497
Epoch 5/5
98/98 [==============================] - 106s 1s/step - loss: 0.0795 - accuracy: 0.9686
  1. 评估模型
image_classifier.evaluate(test_data)

输出

18/18 [==============================] - 5s 276ms/step - loss: 0.5662 - accuracy: 0.5600
[0.5662239789962769, 0.5600000023841858]
  1. 加载图像并进行预测
from PIL import Imageimage_path = "sunflower.jpeg"new_image = Image.open(image_path)
resized_image = new_image.resize((img_height, img_width))
resized_image
  1. 预测
preprocessed_image = np.expand_dims(resized_image, axis=0)predictions = image_classifier.predict(preprocessed_image)
print(predictions)

输出

1/1 [==============================] - 0s 48ms/step
1/1 [==============================] - 0s 16ms/step
[['sunflowers']]
参阅一:计算思维
参阅二:亚图跨际

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

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

相关文章

论文阅读:四足机器人对抗运动先验学习稳健和敏捷的行走

论文:Learning Robust and Agile Legged Locomotion Using Adversarial Motion Priors 进一步学习:AMP,baseline方法,TO 摘要: 介绍了一种新颖的系统,通过使用对抗性运动先验 (AMP) 使四足机器人在复杂地…

Github项目推荐-Tiny-Rdm

项目地址 GitHub - tiny-craft/tiny-rdm: A Modern Redis GUI Client 项目简述 一个开源的Redis管理工具,有漂亮的界面和丰富的功能。使用的编程语言如下 项目截图

【IIS中绑定SSL证书】

下载SSL证书: 打开服务器IIS: 点击导入 在IIS中新增网站:

【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱8(附带项目源码)

效果演示 文章目录 效果演示系列目录前言砍树功能源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第25篇中,我们将探索如何用unity制作一个3D背包、库存、制作、快捷栏、存…

NodeJS背后的人:Express

NodeJS背后的人:Express 本篇文章,学习记录于:尚硅谷🎢 文章简单学习总结:如有错误 大佬 👉点. 前置知识:需要掌握了解: JavaScript基础语法 、Node.JS环境API 、前端工程\模块化 …

【Linux】程序地址空间 -- 详解 Linux 2.6 内核进程调度队列 -- 了解

一、程序地址空间回顾 在学习 C/C 时,我们知道内存会被分为几个区域:栈区、堆区、全局/静态区、代码区、字符常量区等。但这仅仅是在语言层面上的理解,是远远不够的。 如下空间布局图,请问这是物理内存吗? 不是&…

Acwing 周赛143 解题报告 | 珂学家 | 状压DP

前言 整体评价 被这个T2难住了, 幸好最后磨出来了,感觉蛮头痛的。T3是道状压题,这个反而容易写。 A. 时间 思路: 模拟 取模,但是对0要改成12 n int(input())r n % 12print (12 if r 0 else r)B. 数对推理 思路: 按题意模拟 如果一组…

Kubernetes 元信息与控制器模型

一、资源元信息: Kubernetes 的资源对象组成:主要包括了 Spec、Status 和元数据。其中 Spec 部分用来描述期望的状态,Status 部分用来描述观测到的状态。 元数据主要包括了:Labels 用来识别资源的标签;Annotations 用…

EasyUI动态加载组件

要实现如下的效果,在表格中显示进度条 主要是需要再次初始化组件,借用ChatGPT的意思是: 在许多 JavaScript UI 框架中,包括 EasyUI,在动态地创建或插入新的 DOM 元素后,通常需要手动初始化相关的组件或特性…

DPU技术的进步:赋予未来创新力量

随着云计算和虚拟化技术的发展,网卡在功能和硬件结构方面也经历了四个阶段,即网卡、智能网卡、基于FPGA的DPU和DPU SoC网卡。本文将重点介绍这些不同类型的网络适配器和处理器,在硬件、可编程能力、开发和应用方面的特点。 网卡的演进和应用…

第四节笔记:XTuner 大模型单卡低成本微调实战

视频链接:https://www.bilibili.com/video/BV1yK4y1B75J/?spm_id_from333.788&vd_source3bbd0d74033e31cbca9ee35e111ed3d1 课程笔记: 1.Finetune简介 指令微调: 开始的大模型可能不知道问的是问题 这三种角色的划分只有在微调训练阶…

LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】

文章目录 前言LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】题目链接与分类思路贪心,连续区间数量问题 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客…

Unity 减低GC和优化

文章目录 在Unity中,垃圾收集(Garbage Collection, GC)是一项重要的内存管理机制,但过度的GC活动可能会导致性能瓶颈。优化Unity项目中的GC涉及减少不必要的对象分配和生命周期管理。以下列举了五个实例来详细说明如何降低GC负担并…

数学建模【线性规划】

一、线性规划简介 线性规划通俗讲就是“有限的资源中获取最大的收益”(优化类问题)。而且所有的变量关系式都是线性的,不存在x、指数函数、对数函数、反比例函数、三角函数等。此模型要优化的就是在一组线性约束条件下,求线性目标…

java 课程签到管理系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目

一、源码特点 java 课程签到管理系统是一套完善的java web信息管理系统 采用serlvetdaobean,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0…

飞天使-k8s知识点20-kubernetes实操5-pod更新与暂停-statefulset

文章目录 资源调度 Deployment:扩缩容资源调度 Deployment:更新的暂停与恢复资源调度 StatefulSet:定义一个有状态服务headless service 金丝雀发布 资源调度 Deployment:扩缩容 扩容和缩容,常用的功能 scale[rootkub…

C++11---lambda表达式

lambda表达式 lambda表达式概念lambda表达式语法lambda表达式各部分说明 lambda表达式交换两个数lambda表达式底层原理lambda表达式的底层原理 lambda表达式之间不能相互赋值 lambda表达式概念 lambda表达式是一个匿名函数,恰当使用lambda表达式可以让代码变得简洁…

企业计算机服务器中了faust勒索病毒怎么办?Faust勒索病毒解密数据恢复

网络技术的不断发展与更新,为企业的生产运营提供了极大便利,但也为企业的数据安全埋下隐患。近期,云天数据恢复中心接到很多企业的求助,企业的计算机服务器遭到了faust勒索病毒攻击,给企业的生产运营带来了极大困扰&am…

matlab中mosek安装教程

MOSEK数学优化软件包(Mosek Optimization Tools) 是一款MOSEK优化软件包,是一款用来解决大规模级别数学优化问题的软件。MOSEK提供了特定解决线性编程、混合整数编程以及其它非线性转换优化问题。 mosek安装教程 ①去官网https://www.mosek…

【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——数据库

1、JAVA 2、计算机网络 3、计算机体系结构 4、数据库 5、计算机租场原理 6、软件工程 7、大数据 8、英文 自我介绍 4. 数据库 1. B树相对于B树的区别及优势 B树中有重复元素,B树没有重复元素B树种每个节点都存储了key和data,B树内节点去掉了其中指向数…