{"id":40777,"url":"https://github.com/aikho/awesome-feature-engineering","name":"awesome-feature-engineering","description":"A curated list of resources dedicated to Feature Engineering Techniques for Machine Learning","projects_count":69,"last_synced_at":"2026-08-19T23:00:32.185Z","repository":{"id":39229003,"uuid":"143329936","full_name":"aikho/awesome-feature-engineering","owner":"aikho","description":"A curated list of resources dedicated to Feature Engineering Techniques for Machine Learning","archived":false,"fork":false,"pushed_at":"2018-10-26T15:20:23.000Z","size":20,"stargazers_count":598,"open_issues_count":2,"forks_count":190,"subscribers_count":48,"default_branch":"master","last_synced_at":"2026-07-31T12:04:14.598Z","etag":null,"topics":["ai","data-science","feature-engineering","feature-extraction","machine-learning"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aikho.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-02T18:14:01.000Z","updated_at":"2026-07-14T16:32:50.000Z","dependencies_parsed_at":"2022-08-09T12:59:16.723Z","dependency_job_id":null,"html_url":"https://github.com/aikho/awesome-feature-engineering","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aikho/awesome-feature-engineering","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aikho%2Fawesome-feature-engineering","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aikho%2Fawesome-feature-engineering/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aikho%2Fawesome-feature-engineering/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aikho%2Fawesome-feature-engineering/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aikho","download_url":"https://codeload.github.com/aikho/awesome-feature-engineering/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aikho%2Fawesome-feature-engineering/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36784026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-13T21:17:59.004Z","updated_at":"2026-08-19T23:00:32.186Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Textual Data","Image Data","Numeric Data","Categorical Data","Time Series Data","Geospatial Data"],"sub_categories":["Word Embeddings","TFIDF","Bag of Words","Deep Learning Features","Scaling","Ranking","Quantization and Binning","Box-Cox Transformation","Yeo-Johnson Transformation","Feature Interactions","t-SNE Features","PCA Features","Hashing","Phrase Detection Features","Pattern Features","Lexicon Features","PoS Features","Computer Vision Algorithm Features","One Hot Encoding","Label Encoding","Dummy Encoding","Mean Encoding","Rolling Window Features","Lag Features","Clustering Features","Count Encoding","OCR Features","Subword Embeddings"],"readme":"# Awesome Feature Engineering for Machine Learning\n\n[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\nA curated list of resources dedicated to Feature Engineering Techniques for Machine Learning \n\nMaintainers - [Andrei Khobnia](https://github.com/aikho)\n\nThis page is licensed under [Creative Commons Attribution-Noncommercial-ShareAlike 3.0 Unported License](https://creativecommons.org/licenses/by-nc-sa/3.0/)\n\nPlease feel free to create [pull requests](https://github.com/aikho/awesome-feature-engineering/pulls).\n\n\n## Contents\n\n - [Numeric Data](#numeric-data)\n   - [Scaling](#scaling)\n   - [Ranking](#ranking)\n   - [Quantization and Binning](#quantization-and-binning)\n   - [Box-Cox Transformation](#box-cox-transformation)\n   - [Yeo-Johnson Transformation](#yeo-johnson-transformation)\n   - [Feature Interactions](#feature-interactions)\n   - [Clustering Features](#clustering-features)\n   - [t-SNE Features](#t-sne-features)\n   - [PCA Features](#pca-features)\n - [Textual Data](#textual-data)\n   - [Bag of Words](#bag-of-words)\n   - [Phrase Detection Features](#phrase-detection-features)\n   - [TFIDF](#tfidf)\n   - [Word Embeddings](#word-embeddings)\n   - [Subword Embeddings](#subword-embeddings)\n   - [Pattern Features](#pattern-features)\n   - [Lexicon Features](#lexicon-features)\n   - [PoS Features](#pos-features)\n - [Image Data](#image-data)\n   - [Computer Vision Algorithm Features](#computer-vision-algorithm-features)\n   - [Image Statistics Features](#image-statistics-features)\n   - [OCR Features](#ocr-features)\n   - [Deep Learning Features](#deep-learning-features)\n - [Categorical Data](#categorical-data)\n   - [One Hot Encoding](#one-hot-encoding)\n   - [Count Encoding](#count-encoding)\n   - [Label Encoding](#label-encoding)\n   - [Dummy Encoding](#dummy-encoding)\n   - [Mean Encoding](#mean-encoding)\n   - [Hashing](#hashing)\n - [Time Series Data](#time-series-data)\n   - [Rolling Window Features](#rolling-window-features)\n   - [Lag Features](#lag-features)\n - [Geospatial Data](#geospatial-data)\n\n\n## Numeric Data\n* [Understanding Feature Engineering (Part 1) -- Continuous Numeric Data](https://towardsdatascience.com/understanding-feature-engineering-part-1-continuous-numeric-data-da4e47099a7b)\n### Scaling\n* [sklearn.preprocessing.MinMaxScaler](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html)\n* [sklearn.preprocessing.StandartScaler](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html)\n### Ranking\n* [Ranking](https://en.wikipedia.org/wiki/Ranking)\n* [scipy.stats.rankdata](https://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.stats.rankdata.html)\n### Quantization and Binning\n* [Data Binning](https://en.wikipedia.org/wiki/Data_binning)\n* [Bucketing Continuous Variables in pandas](http://benalexkeen.com/bucketing-continuous-variables-in-pandas/)\n* [pandas.cat](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.cut.html)\n### Box-Cox Transformation\n* [scipy.stats.boxcox](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.boxcox.html)\n* `np.log (x + const)`\n### Yeo-Johnson Transformation\n* [Yeo-Johnson Transformation](https://gist.github.com/mesgarpour/f24769cd186e2db853957b10ff6b7a95)\n### Feature Interactions\n* [Featuretools](https://docs.featuretools.com/)\n* [sklearn.preprocessing.PolynomialFeatures](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PolynomialFeatures.html)\n* Divisions\n* Other interactions\n### Clustering Features\n* [How to create New Features using Clustering!!](https://towardsdatascience.com/how-to-create-new-features-using-clustering-4ae772387290)\n### t-SNE Features\n* [t-SNE](https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding)\n* [Automatic feature extraction with t-SNE](https://medium.com/jungle-book/automatic-feature-extraction-with-t-sne-62826ce09268)\n### PCA Features\n* [Principal component analysis (PCA)](https://en.wikipedia.org/wiki/Principal_component_analysis)\n* [sklearn.decomposition.PCA](http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html)\n\n\n## Textual Data\n* [Understanding Feature Engineering (Part 3) -- Traditional Methods for Text Data](https://towardsdatascience.com/understanding-feature-engineering-part-3-traditional-methods-for-text-data-f6f7d70acd41)\n### Bag of Words\n* [Bag-of-words model](https://en.wikipedia.org/wiki/Bag-of-words_model)\n* [A Gentle Introduction to the Bag-of-Words Model](https://machinelearningmastery.com/gentle-introduction-bag-words-model/)\n* [sklearn.feature_extraction.text.CountVectorizer](http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html)\n* [sklearn.feature_extraction.DictVectorizer](http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.DictVectorizer.html)\n* [sklearn.feature_extraction.FeatureHasher](http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.FeatureHasher.html)\n### Phrase Detection Features\n* [sklearn_api.phrases – Scikit learn wrapper for phrase (collocation) detection](https://radimrehurek.com/gensim/models/phrases.html)\n### TFIDF\n* [tf-idf](https://en.wikipedia.org/wiki/Tf%E2%80%93idf)\n* [sklearn.feature_extraction.text.TfidfVectorizer](http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html)\n### Word Embeddings\n* [Word embedding](https://en.wikipedia.org/wiki/Word_embedding)\n* [GloVe: Global Vectors for Word Representation](https://nlp.stanford.edu/projects/glove/)\n* [Gensim: models.word2vec – Word2vec embeddings](https://radimrehurek.com/gensim/models/word2vec.html)\n* [fastText](https://fasttext.cc/)\n* [Word2Vec and FastText Word Embedding with Gensim](https://towardsdatascience.com/word-embedding-with-word2vec-and-fasttext-a209c1d3e12c)\n* [Do Pretrained Embeddings Give You The Extra Edge?](https://www.kaggle.com/sbongo/do-pretrained-embeddings-give-you-the-extra-edge)\n### Subword Embeddings\n* [Pre-trained subword embeddings in 275 languages, based on Byte-Pair Encoding (BPE)](https://github.com/bheinzerling/bpemb)\n### Pattern Features\n* [ClearTK - Feature Extraction Tutorial](https://cleartk.github.io/cleartk/docs/tutorial/feature_extraction.html)\n* Regular Expressions\n### Lexicon Features\n* [Named Entity Recognition with Bidirectional LSTM-CNNs (arXiv:1511.08308)](https://arxiv.org/abs/1511.08308v4)\n### PoS Features\n* [Part-of-Speech_Tagging](https://en.wikipedia.org/wiki/Part-of-speech_tagging)\n* [NLTK Categorizing and Tagging Words](https://www.nltk.org/book/ch05.html)\n* [How to use PoS features in scikit learn classfiers](https://stackoverflow.com/questions/24002485/python-how-to-use-pos-part-of-speech-features-in-scikit-learn-classfiers-svm)\n\n## Image Data\n### Computer Vision Algorithm Features\n* [Feature extraction and similar image search with OpenCV for newbies](https://medium.com/machine-learning-world/feature-extraction-and-similar-image-search-with-opencv-for-newbies-3c59796bf774)\n* [OpenCV -- Feature Detection and Description](https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_table_of_contents_feature2d/py_table_of_contents_feature2d.html)\n* [SimpleCV.Features package](http://simplecv.readthedocs.io/en/latest/SimpleCV.Features.html)\n* [Scikit-image feature module](http://scikit-image.org/docs/stable/api/skimage.feature.html)\n### Image Statistics Features\n* [ImageStat Module -- Pillow](http://pillow.readthedocs.io/en/3.1.x/reference/ImageStat.html)\n### OCR Features\n* [A Python wrapper for Google Tesseract](https://github.com/madmaze/pytesseract)\n### Deep Learning Features\n* [Keras pre-trained models feature extraction](https://keras.io/applications/)\n* [Using Keras’ Pre-trained Models for Feature Extraction in Image Clustering](https://medium.com/@franky07724_57962/using-keras-pre-trained-models-for-feature-extraction-in-image-clustering-a142c6cdf5b1)\n\n\n## Categorical Data\n* [Understanding Feature Engineering (Part 2) -- Categorical Data](https://towardsdatascience.com/understanding-feature-engineering-part-2-categorical-data-f54324193e63)\n### One Hot Encoding\n* [Why One-Hot Encode Data in Machine Learning?](https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/)\n* [How to One Hot Encode Sequence Data in Python](https://machinelearningmastery.com/how-to-one-hot-encode-sequence-data-in-python/)\n* [sklearn.preprocessing.OneHotEncoder](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html)\n* [Keras - to_categorical](https://keras.io/utils/#to_categorical)\n### Count Encoding\n* [Feature engineering: Count encoding](https://www.slideshare.net/HJvanVeen/feature-engineering-72376750/11)\n### Label Encoding\n* [Label encoding in scikit-learn](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html)\n* [Feature engineering: Label encoding](https://www.slideshare.net/HJvanVeen/feature-engineering-72376750/9)\n### Dummy Encoding\n* [Dummy Coding: The how and why](http://www.statisticssolutions.com/dummy-coding-the-how-and-why/)\n* [pandas.get_dummies](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html)\n* [One-Hot vs Dummy encoding](https://stats.stackexchange.com/questions/224051/one-hot-vs-dummy-encoding-in-scikit-learn)\n### Mean Encoding\n* [Likelihood encoding of categorical features](https://www.kaggle.com/tnarik/likelihood-encoding-of-categorical-features)\n* [Python target encoding for categorical features](https://www.kaggle.com/ogrellier/python-target-encoding-for-categorical-features)\n* [Adding variance column when mean encoding](https://www.kaggle.com/general/16927#95887)\n### Hashing\n* [Feature Hashing on Wikipedia](https://en.wikipedia.org/wiki/Feature_hashing)\n* [Feature hashing and Extraction in VowpalWabbit](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Feature-Hashing-and-Extraction)\n* [Feature hashing in scikit-learn](http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.FeatureHasher.html)\n\n\n## Time Series Data\n* [Automatic extraction of relevant features from time series](http://tsfresh.readthedocs.io)\n* [Basic Feature Engineering With Time Series Data in Python](https://machinelearningmastery.com/basic-feature-engineering-time-series-data-python/)\n### Rolling Window Features\n* [pandas.DataFrame.rolling](https://pandas.pydata.org/pandas-docs/version/0.22/generated/pandas.DataFrame.rolling.html)\n### Lag Features\n* [Use pandas to lag your timeseries data in order to examine causal relationships](https://medium.com/@NatalieOlivo/use-pandas-to-lag-your-timeseries-data-in-order-to-examine-causal-relationships-f8186451b3a9)\n\n\n## Geospatial Data\n* [Geospatial Feature Engineering and Visualization](https://www.kaggle.com/camnugent/geospatial-feature-engineering-and-visualization)\n* [Intro to Geospatial Data using Python](https://github.com/SocialDataSci/Geospatial_Data_with_Python/blob/master/Intro%20to%20Geospatial%20Data%20with%20Python.ipynb)\n\n\n[Back to Top](#contents)\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/aikho%2Fawesome-feature-engineering/projects"}