第三段階:データと特徴量エンジニアリング
数値、テキスト、画像、カテゴリ、時系列など、さまざまなデータ型を網羅した、機械学習の特徴量エンジニアリング技術のリソースを厳選したリストです。
Awesome Feature Engineering プロジェクト紹介
プロジェクト概要
Awesome Feature Engineering は、機械学習における特徴量エンジニアリング技術のリソースを専門に収集した厳選リストです。このプロジェクトは Andrei Khobnia によってメンテナンスされており、Creative Commons Attribution-Noncommercial-ShareAlike 3.0 Unported License に基づいて提供されています。
このプロジェクトは、機械学習の実務家に対し、様々なデータタイプに対応する特徴量エンジニアリングの手法とツールを網羅した、包括的なリソースを提供します。
主なコンテンツ分類
1. 数値データ (Numeric Data)
データ変換:
- Box-Cox変換:
scipy.stats.boxcox
- 対数変換:
np.log (x + const)
- Box-Cox変換:
自動特徴量エンジニアリング:
Featuretools
: 自動特徴量エンジニアリング用
特徴量インタラクション:
sklearn.preprocessing.PolynomialFeatures
: 多項式特徴量生成- 除算
- その他のインタラクティブな特徴量
2. テキストデータ (Textual Data)
BoW (Bag-of-words) モデル:
- Bag-of-words model
- A Gentle Introduction to the Bag-of-Words Model
sklearn.feature_extraction.text.CountVectorizer
sklearn.feature_extraction.DictVectorizer
sklearn.feature_extraction.FeatureHasher
単語埋め込み技術 (Word Embedding):
特徴量抽出技術:
3. 画像データ (Image Data)
従来の(伝統的な)特徴量抽出:
深層学習による特徴量抽出:
4. カテゴリデータ (Categorical Data)
One-Hotエンコーディング:
- Why One-Hot Encode Data in Machine Learning?
- How to One Hot Encode Sequence Data in Python
sklearn.preprocessing.OneHotEncoder
Keras - to_categorical
ターゲットエンコーディング:
特徴量ハッシュ (Feature Hashing):
5. 時系列データ (Time Series Data)
- 自動特徴量抽出:
6. 地理空間データ (Geospatial Data)
- 地理位置関連の特徴量エンジニアリング技術が含まれます。
プロジェクトの特徴
- 網羅性: 機械学習における主要なデータタイプと、それに対応する特徴量エンジニアリング技術を網羅しています。
- 実用性: 具体的なツールライブラリとコード実装を提供します。
- オープンソース性: オープンソースライセンスを採用しており、コミュニティからの貢献を歓迎します。
- 信頼性: 信頼性の高いドキュメント、チュートリアル、学術リソースへのリンクを提供します。
- 操作性: 具体的なPythonライブラリと関数呼び出し方法を提供します。
利用価値
このプロジェクトは、以下の人々にとって特に価値があります。
- 機械学習エンジニア
- データサイエンティスト
- 特徴量エンジニアリングの研究者
- 機械学習の初心者
- モデル性能の向上を目指す実務家
貢献方法
プロジェクトはコミュニティからの貢献を奨励しており、プルリクエスト を作成することで、新しいリソースの追加や既存コンテンツの改善が可能です。
まとめ
Awesome Feature Engineering プロジェクトは、機械学習の特徴量エンジニアリングに対し、包括的かつ実用的なリソースを提供し、特徴量エンジニアリング技術を学習し、応用するための重要な参考資料となります。体系的な分類と豊富なリソースリンクを通じて、実務家が特定のデータタイプに適した特徴量エンジニアリング手法を迅速に見つけるのに役立ちます。