想天外 比Keras更好用的机器学习“模型包”:0代码上手做模型

萧箫发自凹非寺量子位报道|公众号QbitAI
做机器学习模型时 , 只是融合各种算法 , 就已经用光了脑细胞?
又或者觉得 , 数据预处理就是在“浪费时间”?
一位毕业于哥廷根大学、做机器学习的小哥也发现了这个问题:原本只是想设计个模型 , 结果“实现比设计还麻烦” 。
【想天外 比Keras更好用的机器学习“模型包”:0代码上手做模型】于是他自己动手做了个项目igel(德语中意为“刺猬” , 但也是Init、Generate、EvaluateMachineLearning的缩写) , 无需编写任何多余代码 , 就能设计出想要的模型 。
也就是说 , 用户只需要知道各种机器学习模型的原理 , 但不需要再自己动手写代码 。
相比于Keras , 这个项目进一步简化了预处理、输入输出的工作 , 就像“模型包”一样简便 。
作者用了两周的时间 , 做出了项目的1.0版本 , 一天以内已有842Star , 目前还在快速上涨中 。
由于只是1.0版本 , 作者表示 , 这个项目仍然有很大的完善空间 。
但就目前的功能来说 , 已经足够进行基本的机器学习建模了 。
“让机器学习生产变得自动化”
作者建立这个项目的初衷 , 是希望为所有人提供机器学习模型 。
无论是技术向工程师、还是非技术向的其他行业用户 , 都能使用机器模型让自己的工作更简单 。
说白了 , 就是将机器学习变成一个“自动化”的过程 , 而他也这么设计了 。
项目igel包含了当前最新的所有机器学习模型(回归、分类、聚类) , 而且作者表示 , 项目还在持续更新中 。
也就是说 , 后续如果还有更新的机器学习模型 , 也会再加进项目 。
模型目前支持的功能有以下几种:
支持所有最新的机器学习模型(甚至是预览模型)
支持不同的数据预处理方法
在编写配置时提供灵活性和数据控制
支持交叉验证
支持yaml和json格式
支持不同的sklearn指标以进行回归 , 分类和聚类
支持多输出/多目标回归和分类
支持多处理并行模型构建
可以看出 , 作者为了偷懒让机器学习生产变得更简洁 , 也是操碎了心 。
如果要上手的话 , 也非常简便 。
6步上手“模型包”
与其他程序一样 , 作者为这个程序提供了“帮助”菜单 , 只需要输入“igel-h”(或igel-help) , 就能了解它的使用方法 。
想天外 比Keras更好用的机器学习“模型包”:0代码上手做模型
文章图片
学习完使用方法后 , 就可以开始创建配置文件了 , 无论是yaml还是json格式 , 都ok 。
如果你是个“懒癌患者”(像作者一样) , 可以使用“igelinit”来初始化 。
例如 , 想做个判断“是否生病”功能的配置文件:
第一步 , 选择功能、模型、目标:igelinit-type“classification”-model“NeuralNetwork”-target“sick”
第二步 , 初始化:igelinit
那么 , 程序就会给你生成一份配置文件 , 根据需要进行修改 。
想天外 比Keras更好用的机器学习“模型包”:0代码上手做模型
文章图片
在那之后 , 就是选择具体的算法参数、并提供你所选的数据集了 。
例如 , 想用随机森林处理数据 , 那么 , 只需要提供参数给系统(以及数据集、配置文件路径) , 它就会帮你训练:
想天外 比Keras更好用的机器学习“模型包”:0代码上手做模型
文章图片
此外 , 还可以对模型/预训练模型进行评估:
想天外 比Keras更好用的机器学习“模型包”:0代码上手做模型
文章图片
感觉不错?生成预测模型:
想天外 比Keras更好用的机器学习“模型包”:0代码上手做模型
文章图片
直接用起来:
想天外 比Keras更好用的机器学习“模型包”:0代码上手做模型
文章图片
简单6步 , 机器模型(预览模型)就已经生成了 , 非常方便 。