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

优于Keras的机器学习“模型包”:0代码做模型

时间:2023-03-20 14:07:47 科技观察

本文经AI新媒体量子比特(公众号ID:QbitAI)授权转载,转载请联系出处。做机器学习模型,光是融合各种算法就已经耗尽脑细胞了?还是您认为数据预处理是“浪费时间”?一个哥廷根大学毕业做机器学习的小弟也发现了这个问题:本来只是想设计一个模型,结果发现“实现比设计更麻烦”。于是他做了自己的项目igel(德文是“刺猬”的意思,也是Init、Generate、EvaluateMachineLearning的缩写),无需额外编写任何代码就可以设计出想要的模型。也就是说,用户只需要知道各种机器学习模型的原理,而不需要自己动手写代码。与Keras相比,本项目进一步简化了预处理、输入和输出的工作,就像一个“模型包”一样简单。项目1.0版本作者用了两周时间制作完成,一天之内就有842颗Star,并且还在快速上升中。由于只是1.0版本,作者表示这个项目还有很大的改进空间。但就目前的功能而言,基本的机器学习建模已经足够了。《自动化机器学习生产》作者建立这个项目的初衷是为大家提供机器学习模型。无论是技术工程师还是其他行业的非技术用户,他们都可以使用机器模型来简化他们的工作。说白了,就是把机器学习变成一个“自动化”的过程,他就是这么设计的。igel项目包含了所有最新的机器学习模型(回归、分类、聚类),作者表示项目还在更新中。也就是说,如果以后有更新的机器学习模型,也会加入到项目中。该模型目前支持的功能如下:支持所有最新的机器学习模型(甚至是预览模型)支持不同的数据预处理方式在编写配置时提供灵活性和数据控制支持交叉验证支持yaml和json格式支持不同的sklearn索引用于回归、分类和聚类,支持多输出/多目标回归和分类,支持多处理并行模型构建。看得出来,作者为了偷懒,为了让机器学习制作更简洁,也是操碎了心。如果你想入门,也很简单。6步上手“模型包”与其他程序一样,作者为该程序提供了“帮助”菜单,您只需输入“igel-h”(或igel-help)即可了解如何使用.学会使用后,就可以开始创建配置文件了,不管是yaml还是json格式,都可以。如果你是“懒癌患者”(和笔者一样),可以使用“igelinit”来初始化。比如我想做一个判断“有没有病”的功能的配置文件:第一步,选择功能,模型,目标:igelinit-type"classification"-model"NeuralNetwork"-target"sick"步骤2、初始化:igelinit,程序会为你生成配置文件,根据需要修改。之后,就是选择特定算法参数并提供您选择的数据集的问题。比如你想用随机森林来处理数据,你只需要给系统提供参数(和数据集,配置文件路径),它就会帮你训练:另外,你还可以评估模型/预训练模型:感觉好吗?生成预测模型:直接使用:简单6步,机器模型(预览模型)已经生成,非常方便。网友:太好了,我想要更多的新功能。另外,笔者也很乐意采纳各位网友的意见。例如,有网友指出使用交叉验证进行超参数搜索/调优会是一个很好的改进,作者本人立即采纳了这个建议。不过,也有网友表示,“所有程序自动化”毫无意义。毕竟,作者已经声明该项目是基于scikit-learn的。但是后者几行代码也可以做机器学习,那么scikit-learn和这个项目有什么区别呢?作者回应说,最大的不同是这个项目旨在以比编写代码更“可读”的方式设计所需的模型。对于这一观点,部分网友表示认同。毕竟,对于很多生产中的机器学习工程师来说,“任何不需要做的编程工作”都是没有意义的,是“浪费时间和金钱”。对于这个项目,更多的网友表示支持,希望看到他的新功能。对这个机器学习项目感兴趣的朋友可以通过下方传送门查看~作者介绍NidhalBaccouri,今年4月获得德国哥廷根大学硕士学位,研究方向为软件、控制工程与人工智能。目前,NidhalBaccouri在汽车行业工作。他的研究方向是数字孪生技术,同时会应用人工智能和物联网的知识。在业余时间,他喜欢做项目,尤其是与AI和Python相关的项目。传送门项目地址:https://github.com/nidhaloff/igel