spotify/featran

A Scala feature transformation library for data science and machine learning

解決する課題

Featranは、データサイエンスや機械学習における時間のかかる特徴量エンジニアリングのプロセスを簡素化します。スケーリングやエンコーディングといった特徴量変換の素朴で手動の実装を、構造化された型安全なアプローチに置き換えることで、複雑な特徴量セットをより管理しやすくします。

仕組み

このライブラリは、特徴量変換のために2段階のプロセスを使用します。まずデータを要約するグローバル集計ステップ(最小値や最大値の算出など)を行い、次にその要約に基づいてデータを変換する要素ごとのマッピングステップを実行します。ユーザーは FeatureSpec を定義して、どのフィールドを変換し、どの変換器(MinMaxScaler や OneHotEncoder など)を適用するかを指定します。

対象ユーザー

Scalaエコシステムで作業しており、機械学習モデルのために生データを特徴量に変換する必要があるデータサイエンティストや機械学習エンジニア向けに設計されています。

特徴

  • 幅広い統合: Scalaコレクション、Apache Flink、Scalding、Scio、Apache Sparkからのデータ抽出をサポートしています。
  • 柔軟な出力: 特徴量をScalaコレクション、Breezeベクトル、TensorFlow Example Protobufs、XGBoost LabeledPoints、NumPyファイルとしてエクスポート可能です。
  • 学習/テスト分割のサポート: 以前の抽出から集計結果をインポートできるため、学習、検証、テストセット間での一貫性を確保できます。
  • 構成可能な仕様: 特徴量仕様の構成や出力の分離をサポートしています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト