当前位置: 首页 > 科技观察

AutoML的十个GitHub存储库

时间:2023-03-17 21:43:47 科技观察

人工智能和机器学习的突破是过去二十年中最激动人心的两个主题。机器学习和数据科学工程师需要广泛的研究和艰苦的工作才能有效地理解和运行他们的模型。虽然它们可能因人而异,但传统的机器学习步骤包括:数据采集数据探索数据准备特征工程规模调整模型训练超参数调整预测虽然在构建机器学习模型时8个步骤可能看起来并不多,但它们是从以上步骤需要相当长的时间才能完善!当外行机器学习从业者第一次经历这些步骤时,问题会更加严重;该过程通常需要更多的时间和资源才能完成,即使如此,最终结果也可能与预期不符。AutoML通过自动化专家和非专家的大部分模型创建过程来派上用场。什么是自动机器学习(AutoML)?自动化机器学习(通常称为AutoML)使机器学习变得更加容易。AutoML使用由给定框架完成的自动处理,使非机器学习专家更容易使用机器学习。它专注于加速人工智能研究和提高机器学习模型的效率。传统的机器学习过程侧重于前面提到的所有8个步骤,而AutoML涵盖两个步骤:数据摄取是在将使用过的数据存储到数据仓库之前收集、过滤和清理的过程。预测是指给定模型返回的实际输出,训练有素的模型很可能返回准确的最终预测。数据探索、数据准备、特征工程、模型选择、模型训练和最终模型调整的框架将涵盖其他6个步骤。AutoML的好处提高生产力更好的最终结果最大限度地减少错误扩展机器学习流行的AutoML框架现在我们已经讨论了什么是AutoML并了解了它的一些好处,我们将介绍前10个AutoML框架,在哪里可以找到它们,以及他们提供的功能。1.Google自动机器学习GoogleAutoML是最著名的可用框架之一,在我们的列表中排名第一。Google推出了很多AutoML框架,比如GoogleAutoMLvision、GoogleAutoMLNaturalLanguage等。2.AutomaticSKLearn之前接触过机器学习的用户可能对SKlearn这个名字很熟悉。作为流行的sci-kit-learn库的附加组件,AutoSKLearn是一个开源机器学习框架,可处理机器学习任务的自动化。AutoSklearn框架能够执行其模型选择、超参数调整和表征,这是AutoSKlearn框架的独特功能。通过执行模型选择,AutoSKlearn将自动搜索可以处理用户给出的问题的最佳算法。转到AutoSKlearn的第二个功能,我们有超参数调整。作为任何机器或深度学习模型的最后步骤之一,用户应该找到最佳模型参数来优化结果。此任务需要花费大量时间,并且可以使用此类框架轻松实现自动化。使用AutoSKlearn的一个独特且最终的好处是它能够执行自动表征。表征是将原始数据转换为可用信息的过程。3.TPotTPOT,又称TreePipelineOptimizationTool,是最早的python开源autoML包之一。它专注于使用遗传编程优化机器学习管道。TPOT的主要目标是通过将管道的灵活表达式树表示与遗传编程等随机搜索算法相结合来自动构建ML管道。请注意,TPOT在必须先安装的sci-kit-learn库之上运行。4.AutoKerasAutoKeras是一个为AutoML和深度学习模型构建的开源库,最初由DATALabs开发。AutoKeras帮助非专家机器和深度学习爱好者以最小的努力运行和训练他们的模型。AutoKeras的目标是让每个人都可以学习机器学习,它是初学者的绝佳工具5.LudwigLudwig是一个开源的autoML框架,主要专注于使用简单的配置文件系统组装和训练深度学习模型。通过让用户提供一个配置文件来定义给定模型的输入和输出及其各自的数据类型,Ludwig框架将利用这些数据基于上述属性构建其深度学习模型。6.MLBOXMLBOX正在崛起,并迅速成为顶级自动化机器学习框架工具之一。根据MLBOX官方文档,它提供了以下好处:快速读取和分布式数据预处理/清理/格式化。高度稳健的特征选择和泄漏检测。高维空间中的精确超参数优化。最先进的分类和回归预测模型(深度学习、堆叠、LightGBM等)。使用模型解释进行预测。7.AutoGlounAutoGloun面向专家和非专家机器学习从业者,专注于跨图像、文本和表格数据的自动化堆栈集成、深度学习和实际应用。根据AutoGloun在线文档,AutoGloun使用户能够:只需几行代码即可快速构建原始数据的深度学习和经典ML解决方案原型。在没有专业知识的情况下自动利用最先进的技术(在适当的情况下)。利用自动超参数调整、模型选择/集成、架构搜索和数据处理。轻松改进/调整自定义模型和数据管道,或针对特定用例自定义AutoGluon。8.MicrosoftNeuralNetworkIntelligence(NNI)MicrosoftNeuralNetworkIntelligence,也称为NNI,是一个旨在自动化特征工程、神经架构搜索、超参数调整和深度学习模型压缩的工具包。NNI工具支持PyTorch、TensorFlow、Scikit-learn、XGBoost、LightGBM等框架。使用MicrosoftNeuralNetwork的主要好处是神经架构搜索,NNI工具支持Multi-trail(网格搜索、正则化进化、基于策略的IRL等)和one-shot(DARTS、ENASFBNet等)神经架构搜索.该工具提供了多种超参数调整算法,例如贝叶斯优化、穷举搜索和启发式搜索。在Github上查看NNI的README以了解有关此工具必须提供的其他内容的更多信息。9.TransmogrifAI旨在帮助开发人员提高机器学习生产力。TransmogrifAI在ApacheSpark之上运行。正如Github上的TransmogrifREADME中简要提到的那样,“通过自动化,它可以在将近100倍的时间内达到接近手动调整模型的精度。”与提到的其他autoML框架一样,TransmogrifAI工具能够提供用户选择的数据集来选择最佳算法。10、H2OAutomaticMachineLearningH2OautoML是H2O创建的开源框架工具,同时支持R和Python编程。它还支持最广泛使用的统计和机器学习算法,包括梯度提升机、广义线性模型和深度学习。H2OautoML接口通过要求尽可能少的参数来适应新的机器学习用户。用户在使用H2O工具时的主要任务是提供数据集。其他有用的AutoML工具1.HypertunityHypertunity是一种轻量级工具,旨在使用轻量级包优化模型的给定超参数。它们模块化简单且可扩展,以允许无缝调度实现。Hypertunity支持使用与Slurm兼容的调度程序GPyOpt进行贝叶斯优化,并使用Tensorboard(通过HParams插件)进行实时可视化。2.Dragonfly是一个开源的autoML工具,专为可扩展的贝叶斯优化而设计。贝叶斯优化用于评估超出普通优化的非常昂贵的黑盒函数。Dragonfly允许新用户以最少的知识解决可扩展的贝叶斯优化错误。3.RayTune作为我们的第二个超参数优化工具,RayTune是一个用于扩展AI和Python应用程序的统一框架。它可以通过分布式数据处理、分布式训练、可扩展的超参数调整、可扩展的强化学习和可扩展的可编程服务轻松扩展AI工作负载。4.AutoGraphLearningAutoGraphLearning是一个独特的autoML框架,专注于图数据集的机器学习,非常简单。他们使用数据集来维护基于PytorchGeometric或来自DeepGraphLibrary的数据集的基于图形的机器学习的数据集。用于自动化机器学习的GitHub存储库随着机器和深度学习领域的进步,对机器学习专家的需求急剧增加而没有得到解决。这就是机器学习工具和技术的自动化派上用场的地方,它允许新用户比以往更轻松地构建功能齐全且高度优化的模型。简而言之,在寻找完美的自动化机器学习工具时,您应该关注您尝试使用给定模型实现的目标以及您希望自动化的机器学习过程的确切部分。我们建议您亲自试用上述几种autoML工具,并且只使用您认为高效且易于使用的工具。