Lightwood 项目介绍
概述
Lightwood 是一个自动化机器学习(AutoML)框架,致力于通过使用一种名为 JSON-AI 的声明式语法来生成和自定义机器学习管道,从而简化数据科学和机器学习的生命周期。其目标是让用户专注于数据分析中的关键任务,而不必被大量重复的机器学习和数据准备代码所困。Lightwood 提供了一种简明的方法,让用户能够创建独特而定制化的机器学习模型。
支持的数据类型及功能
Lightwood 支持多种数据类型,包括数字、日期、分类、标签、文本、数组以及各种多媒体格式。这些数据类型可以结合起来解决复杂问题。此外,Lightwood 还支持时间序列模式,适用于具有行间依赖关系的问题。
用户可以通过 JSON-AI 语法更改 Lightwood 自动生成的模型的任何部分。这个语法详细描述了建模管道的每一个步骤,用户可以选择覆盖默认值,或者完全用自己的方法替代步骤。通过此语法,Lightwood 创建一个 JSON-AI 对象,可以自动生成用于表示管道的 Python 代码。
Lightwood 哲学
Lightwood 将机器学习管道抽象为三个核心步骤:
-
预处理和数据清理: 对数据集中的每一列进行简要统计分析以识别数据类型,然后生成相应的 JSON-AI 语法。根据默认配置,Lightwood 会清理每一列数据并将其分割为训练、开发、和测试集。
-
特征工程: 通过“编码器”将数据转化为特征。这些编码器可以是基于规则的或学习的,并用于将预处理后的数据转换为模型可用的数值表示。
-
模型构建和训练: 使用一个“混合器”模型,输入编码后的特征数据并输出目标预测。用户可以使用 Lightwood 默认的混合器或自定义自己的模型。
使用方式
要使用 Lightwood,用户需要加载 Pandas 数据框并定义一个预测任务,即“问题定义”。通过 json_ai_from_problem
命令生成 JSON-AI 语法,然后使用 code_from_json_ai
命令转换为 Python 代码。接着,用户可以创建一个预测器对象,并通过 predictor.learn()
方法从原始数据训练这个模型。
示例代码展示了如何加载数据集、定义预测任务、生成 JSON-AI 语法、生成 Python 代码,并最终训练一个预测模型。
自带模型与定制
Lightwood 支持用户自带的模型架构或方法,只要遵循每个步骤内提供的抽象。Lightwood 还提供了详细的教程,演示如何在管道中引入自定义配置,如“自定义清理器”、“自定义分割器”等。
安装指南
Lightwood 可以通过以下命令安装:
pip3 install lightwood
推荐在 Python 虚拟环境中进行安装。具体的开发环境设置指南建议使用 Visual Studio Code。然而,Lightwood 也可在其他开发环境中使用。
贡献与社区
Lightwood 欢迎社区贡献者们的参与和意见交流。贡献方式包括报告错误、改进文档、解决问题或提出新特性等。贡献者需遵循“fork-and-pull”工作流程,并签署 CLI 协议以确保代码的 GPL 许可。
如果希望了解更多关于 Lightwood 和 MindsDB 的更新,可以加入社区的讨论或订阅月度新闻通讯。Lightwood 鼓励开发者与数据科学家一起加入到普及机器学习的使命中。