主页 > 电脑硬件  > 

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


要点拓扑

AutoKeras 拓扑

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

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

#mermaid-svg-OQot04e5ELu0amxI {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-OQot04e5ELu0amxI .error-icon{fill:#552222;}#mermaid-svg-OQot04e5ELu0amxI .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-OQot04e5ELu0amxI .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-OQot04e5ELu0amxI .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-OQot04e5ELu0amxI .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-OQot04e5ELu0amxI .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-OQot04e5ELu0amxI .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-OQot04e5ELu0amxI .marker{fill:#333333;stroke:#333333;}#mermaid-svg-OQot04e5ELu0amxI .marker.cross{stroke:#333333;}#mermaid-svg-OQot04e5ELu0amxI svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-OQot04e5ELu0amxI .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-OQot04e5ELu0amxI .cluster-label text{fill:#333;}#mermaid-svg-OQot04e5ELu0amxI .cluster-label span{color:#333;}#mermaid-svg-OQot04e5ELu0amxI .label text,#mermaid-svg-OQot04e5ELu0amxI span{fill:#333;color:#333;}#mermaid-svg-OQot04e5ELu0amxI .node rect,#mermaid-svg-OQot04e5ELu0amxI .node circle,#mermaid-svg-OQot04e5ELu0amxI .node ellipse,#mermaid-svg-OQot04e5ELu0amxI .node polygon,#mermaid-svg-OQot04e5ELu0amxI .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-OQot04e5ELu0amxI .node .label{text-align:center;}#mermaid-svg-OQot04e5ELu0amxI .node.clickable{cursor:pointer;}#mermaid-svg-OQot04e5ELu0amxI .arrowheadPath{fill:#333333;}#mermaid-svg-OQot04e5ELu0amxI .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-OQot04e5ELu0amxI .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-OQot04e5ELu0amxI .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-OQot04e5ELu0amxI .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-OQot04e5ELu0amxI .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-OQot04e5ELu0amxI .cluster text{fill:#333;}#mermaid-svg-OQot04e5ELu0amxI .cluster span{color:#333;}#mermaid-svg-OQot04e5ELu0amxI div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-OQot04e5ELu0amxI :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Predicting Training 模型训练 超参数调整模型选择 验证 特征工程 新数据 预测 目标 特征工程 原始数据和目标 训练集 验证集 测试集 机器学习 模型

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

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

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

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

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

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

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

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

导入所需类: import os import pathlib import numpy as np import tensorflow as tf import autokeras as ak import warnings warnings.filterwarnings('ignore') 加载数据库 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) 分类训练、测试、验证集 batch_size = 32 img_height = 240 img_width = 240 train_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. 构建自动化机器学习模型 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 评估模型 image_classifier.evaluate(test_data)

输出

18/18 [==============================] - 5s 276ms/step - loss: 0.5662 - accuracy: 0.5600 [0.5662239789962769, 0.5600000023841858] 加载图像并进行预测 from PIL import Image image_path = "sunflower.jpeg" new_image = Image.open(image_path) resized_image = new_image.resize((img_height, img_width)) resized_image 预测 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']] 参阅一:计算思维 参阅二:亚图跨际
标签:

AutoKeras(Python自动化机器学习)多模态数据和多任务由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“AutoKeras(Python自动化机器学习)多模态数据和多任务