zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

AI之AutoML:autosklearn/Auto-Sklearn(基于scikit-learn库的自动化的机器学习工具)的简介、安装、使用方法之详细攻略

2023-09-14 09:04:43 时间

AI之AutoML:autosklearn/Auto-Sklearn(基于scikit-learn库的自动化的机器学习工具)的简介、安装、使用方法之详细攻略

目录

autosklearn/Auto-Sklearn的简介

autosklearn/Auto-Sklearn(基于scikit-learn库的自动化的机器学习工具)的概述

autosklearn/Auto-Sklearn的安装

系统安装要求¶

autosklearn/Auto-Sklearn的使用方法

1、基础案例


autosklearn/Auto-Sklearn的简介

autosklearn/Auto-Sklearn(基于scikit-learn库的自动化的机器学习工具)的概述

简介

Auto-Sklearn,在2015年由德国图宾根大学的研究人员提出的,最初的版本于2016年发布。auto-sklearn基于scikit-learn库进行开发,支持多种机器学习任务,包括分类、回归、时间序列等。

核心技术点

Auto-Sklearn使用了贝叶斯优化的方法进行超参数优化,可以在较短的时间内找到最优的超参数组合,从而得到更好的模型性能。

功能

Auto-Sklearn是一款基于Python的自动机器学习工具,可以自动进行机器学习的各个步骤,包括特征选择、特征预处理、算法选择和超参数优化等。

自动特征选择与工程:可以自动选择最优特征子集,并进行归一化、缺失值处理等特征工程。

自动模型选择:可以自动选择最优的机器学习算法来解决问题,支持的算法包括SVM、KNN、随机森林等。

自动超参数优化:可以自动搜索机器学习模型的最优超参数,获得最高性能的模型配置。

特点

auto-sklearn的优势在于它的易用性和灵活性。用户只需要提供数据集和一些基本的配置,就可以自动进行模型构建和优化。

auto-sklearn可以自动选择和配置算法和超参数,从而让用户省去了手动调参的过程。

auto-sklearn还支持并行化处理,可以在多个CPU或GPU上运行,进一步加速模型训练和优化。

优缺点

自动化:auto-sklearn能够自动化地完成机器学习的各个环节,从而让用户省去手动调参和特征工程等繁琐的工作。

灵活性:auto-sklearn提供了多种配置选项,用户可以根据自己的需求进行自定义配置。

性能好:auto-sklearn使用贝叶斯优化技术进行超参数优化,能够在短时间内找到最优的超参数组合,从而得到更好的模型性能。

处理大数据集时较慢:auto-sklearn的处理速度受限于计算资源,处理大数据集时需要较长时间。

可解释性较差:由于auto-sklearn是自动化的,生成的模型可解释性较差。

应用案例

Kaggle竞赛:auto-sklearn在多个Kaggle竞赛中表现出色,包括房价预测、分类、回归等多个任务。

自动化机器学习平台:auto-sklearn可以作为自动化机器学习平台的核心组件,帮助用户快速构建和部署机器学习模型。

数据科学教育:auto-sklearn可以作为教学工具,帮助学生快速入门机器学习,并加深对机器学习原理的理解。

autosklearn/Auto-Sklearn安装

pip install auto-sklearn


pip install -i https://pypi.tuna.tsinghua.edu.cn/simple auto-sklearn


conda install -c conda-forge auto-sklearn

系统安装要求

auto-sklearn 具有以下系统要求:

如果您尝试在没有提供 pyrfr 包的 wheel 文件的系统上安装 Auto-sklearn(请参阅此处了解可用的 wheels),您还需要:

有关缺少 Microsoft Windows 和 macOS 支持的说明,请查看Windows/macOS 兼容性部分。

注意:auto-sklearn 当前不支持 Windows系统,因为auto-sklearn严重依赖 Python 模块resource。是 Python 的Unix 特定服务resource 的一部分 ,在 Windows 机器上不可用。因此,无法 在 Windows 机器上运行auto-sklearn 。

autosklearn/Auto-Sklearn使用方法

1、基础案例


import sklearn.datasets
import autosklearn.classification

# 加载Titanic数据集
X, y = sklearn.datasets.load_breast_cancer(return_X_y=True)

# 使用Auto-Sklearn训练模型
model = autosklearn.classification.AutoSklearnClassifier()
model.fit(X, y)

# 输出模型评估结果
print(model.sprint_statistics())