A collection of Jupyter Notebooks showcasing techniques in feature engineering — from loading and wrangling data to handling numerical/categorical features, addressing imbalanced classes, and applying dimensionality reduction.
| File | Description |
|---|---|
1)Loading_Data_(22_4_2024).ipynb |
Introduction: Loading datasets and initial exploration. |
2)Data_Wrangling.ipynb |
Data cleaning, missing values, and transformations. |
3) Handling_Numerical_Data.ipynb |
Techniques for numerical features: scaling, binning, outlier treatment. |
4)Categorical_Data_and_Imbalanced_Classes.ipynb |
Handling categorical variables, encoding, and working with imbalanced datasets. |
5)Dimensionality_Reduction_Using_Feature_Extraction.ipynb |
Feature extraction methods and dimensionality reduction. |
6)Dimensionality_Reduction_Using_Feature_Extraction.ipynb |
Additional version / continuation of notebook #5. |
- Loading and inspecting datasets (Pandas)
- Data wrangling: cleaning, reshaping, dealing with missing values
- Numerical feature engineering: scaling (MinMax, Standard), binning, dealing with outliers
- Categorical feature engineering: label & one-hot encoding, target encoding etc.
- Techniques for handling class imbalance (SMOTE, undersampling, weighting)
- Feature extraction & dimensionality reduction: PCA, LDA, t-SNE, etc.
- Clone the repository:
git clone https://github.com/Zivi09/Features-Engineering.git
Navigate into the directory: cd Features-Engineering
Open a notebook of interest (e.g., 3) Handling_Numerical_Data.ipynb) using Jupyter: jupyter notebook Follow the step-by-step cells to learn and adapt the methods to your own dataset.
📋 Prerequisites Make sure you have the following Python packages installed:
pandas
numpy
scikit-learn
matplotlib / seaborn (for visualizations)
You can install them via: pip install pandas numpy scikit-learn matplotlib seaborn
🎯 Use Case / Who Is This For? This repository is ideal for:
Data science / machine learning students looking to learn feature engineering.
Practitioners who want a reference of common feature-engineering techniques.
Anyone preparing datasets for machine learning models who needs guidance on preprocessing.
🔍 Contribution Feel free to contribute! If you have additional techniques, notebooks, or improvements:
Fork the repository.
Create a new branch for your feature/addition.
Open a Pull Request describing your changes.
📄 License This project is licensed under the MIT License (or specify another license if applicable).
Thank you for exploring! If you find this repository helpful, feel free to ⭐ the repo to show your support.