Skip to content

Zivi09/Features-Engineering

Repository files navigation

Features-Engineering

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.

📂 Repository Structure

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.

🧠 Key Concepts Covered

  • 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.

🚀 Getting Started

  1. 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages