spotify/featran

A Scala feature transformation library for data science and machine learning

解决的问题

Featran 简化了数据科学与机器学习中耗时的特征工程流程。它以结构化、类型安全的方法取代了原始且手动的特征转换实现(如缩放与编码),使复杂的特征集更易于管理。

运作方式

该库使用两步骤流程进行特征转换:首先是全局聚合步骤以总结数据(例如找出最小值与最大值),接着是元素级映射步骤,根据这些摘要转换数据。用户定义一个 FeatureSpec 来指定哪些字段需要转换,以及要应用哪些转换器(例如 MinMaxScaler 或 OneHotEncoder)。

适用对象

它专为在 Scala 生态系统中工作,且需要将原始数据转换为机器学习模型特征的数据科学家与机器学习工程师所设计。

特色

  • 广泛整合:支持从 Scala 集合、Apache Flink、Scalding、Scio 与 Apache Spark 提取数据。
  • 灵活输出:可将特征导出为 Scala 集合、Breeze 向量、TensorFlow Example Protobufs、XGBoost LabeledPoints 与 NumPy 文件。
  • 训练/测试集分割支持:允许导入先前提取的聚合结果,以确保训练、验证与测试集之间的一致性。
  • 可组合规格:支持组合特征规格并分离输出。

相关

  • 项目
  • 项目
  • 项目
  • 项目