Featured resource
2025 Tech Upskilling Playbook
Tech Upskilling Playbook

Build future-ready tech teams and hit key business milestones with seven proven plays from industry leaders.

Check it out
  • Lab
    • Libraries: If you want this lab, consider one of these libraries.
    • AI
Labs

Feature Engineering and Data Quality

In this lab, you'll practice feature engineering and selection techniques. When you're finished, you'll have created features, selected impactful ones, and applied dimensionality reduction.

Lab platform
Lab Info
Level
Intermediate
Last updated
Feb 01, 2026
Duration
42m

Contact sales

By clicking submit, you agree to our Privacy Policy and Terms of Use, and consent to receive marketing emails from Pluralsight.
Table of Contents
  1. Challenge

    Introduction

    Introduction

    Welcome to the Feature Engineering and Data Quality Code Lab. In this hands-on lab, you'll learn essential techniques for transforming raw data into powerful features that improve machine learning model performance.

    Feature engineering is the process of using domain knowledge to create new variables from raw data that make machine learning algorithms work better. Data quality ensures your features are clean, consistent, and reliable. Together, these skills form the foundation of successful machine learning projects - often making a bigger difference than choosing the right algorithm.

    Throughout this lab, you'll work with a realistic credit scoring dataset and apply four key techniques. You'll learn to create new features from raw data, apply feature selection methods to identify impactful predictors, store features for reuse, and apply dimensionality reduction techniques.

    By the end of this lab, you'll confidently engineer features for real-world machine learning applications and understand how to balance feature richness with model efficiency.

    Background

    You're an ML engineer at CarvedRock building a credit scoring model. The raw customer data has 50+ features with redundancy and noise. Your team needs to transform this messy data into a clean, powerful feature set that improves model performance while reducing training time.

    Your job is to create new features using domain knowledge, apply feature selection to identify the most impactful predictors, implement a simple feature store for reuse, and apply dimensionality reduction to compress the feature space.

    Familiarizing with the Program Structure

    The lab environment includes the following key files:

    1. data_loader.py: Loads and prepares the credit scoring dataset
    2. feature_creator.py: Creates new features from raw data
    3. feature_selector.py: Applies feature selection methods
    4. feature_store.py: Stores and retrieves features for reuse
    5. dimensionality_reducer.py: Applies PCA for dimensionality reduction
    6. pipeline.py: Main script to run the full feature engineering pipeline

    The environment uses Python 3.x with scikit-learn for machine learning, pandas for data manipulation, and NumPy for numerical operations. All dependencies are pre-installed in the lab environment.

    To run scripts, use the terminal with commands like python3 pipeline.py. The results will be saved to the output/ directory.

    Important Note: Complete tasks in order. Each task builds on the previous one. Test your code frequently by running the provided scripts to catch errors early.

    info > If you get stuck on a task, there are solution files provided for you located in the solution directory in your filetree.

  2. Challenge

    Loading and Understanding the Data

    Understanding Data Preparation

    Before engineering any features, you need to load and understand your raw data. The credit scoring dataset contains customer information including demographics, financial history, and account details. Understanding the data types and distributions helps us decide which features to create.

    In machine learning, the quality of your features often matters more than the complexity of your model. Good features capture meaningful patterns that help the model make accurate predictions.

  3. Challenge

    Creating New Features

    Understanding Feature Creation

    Feature creation (or feature engineering) transforms raw data into features that better represent the underlying patterns. Raw data often contains values that don't directly reveal patterns - for credit scoring, knowing someone has $2,000 monthly debt means little without knowing their income.

    Good features have predictive power - they correlate with the target variable (credit risk) in meaningful ways. Domain knowledge helps identify which combinations of raw features might be useful.

    In the next task, you will create ratio features. Ratio features capture relationships between two numerical columns. For credit scoring, the debt-to-income ratio is a classic example - it shows how much of a customer's income goes toward debt payments. You also need to handle division by zero by replacing infinite values. Aggregation features summarize multiple columns into a single value. For example, total debt might be the sum of credit card debt, mortgage, and auto loans. These features simplify the model's job by pre-computing useful summaries. You'll now implement sum and mean aggregations across multiple columns. Sum captures totals, while mean captures averages.

  4. Challenge

    Selecting Important Features

    Understanding Feature Selection

    Not all features help your model - some add noise, cause overfitting, or slow down training. Feature selection identifies which features actually improve predictions. Methods like SelectKBest score each feature using statistical tests and keep only the top performers.

    The f_classif scoring function uses ANOVA F-values to measure how well each feature separates the classes. Higher scores indicate stronger relationships with the target variable. After fitting the selector, you need to transform your data to keep only the selected features. This reduces dimensionality and removes noise from the dataset. Reducing features has multiple benefits: faster training, reduced overfitting, easier interpretation, and lower storage requirements. For production systems, fewer features also mean faster inference times. You also need to get the names of selected features. ### Understanding Feature Storage

    In production ML systems, feature engineering is expensive - computing features across millions of records takes time. Feature stores solve this by persisting engineered features for reuse across experiments, model versions, and team members. This simple implementation uses pickle files, but production systems use databases with versioning and serving capabilities.

    Your simple feature store uses pickle files to persist DataFrames. The pd.to_pickle function serializes the DataFrame to disk, and pd.read_pickle loads it back.

  5. Challenge

    Applying Dimensionality Reduction

    Understanding Dimensionality Reduction with PCA

    Even after selection, correlated features remain. If two features move together (like savings and checking balances), they contain redundant information. Dimensionality reduction techniques like PCA (Principal Component Analysis) compress features into uncorrelated "principal components" - new synthetic features that are linear combinations of originals.

    When you set n_components to a float like 0.95, PCA automatically selects enough components to retain that percentage of the total variance. PCA automatically determines how many components achieve this threshold. The result is a smaller feature set that preserves most information while eliminating redundancy and reducing noise. After fitting PCA, you transform your data into the reduced feature space. You also want to understand how many components were needed and how much variance each captures. The explained_variance_ratio_ attribute tells us the proportion of variance explained by each component.

  6. Challenge

    Conclusion

    Congratulations on completing the Feature Engineering and Data Quality lab! You've successfully learned to transform raw data into powerful features for machine learning.

    What You've Accomplished

    Throughout this lab, you have:

    1. Configured Data Loading: Set up reproducible train/test splits for honest model evaluation.
    2. Created Ratio Features: Built debt-to-income and similar ratio features that capture relationships between variables.
    3. Created Aggregation Features: Computed sum and mean features that summarize multiple columns.
    4. Applied Feature Selection: Used SelectKBest to identify the 10 most impactful features for credit scoring.
    5. Transformed Selected Features: Reduced the dataset to only the most predictive features.
    6. Implemented Feature Storage: Built a simple feature store to save and load features for reuse.
    7. Configured PCA: Set up dimensionality reduction to retain 95% of variance.
    8. Analyzed Reduced Features: Understood how many components are needed and their variance contribution.

    Key Takeaways

    • Features Matter More Than Models: Well-engineered features often improve performance more than complex algorithms.
    • Domain Knowledge Is Valuable: Understanding the problem domain helps create meaningful features like debt-to-income ratios.
    • Selection Removes Noise: Feature selection improves model performance by eliminating irrelevant or redundant features.
    • Feature Stores Enable Reuse: Saving features ensures consistency and saves computation time.
    • Dimensionality Reduction Helps: PCA can compress many features while preserving most of the information.

    Experiment Before You Go

    You still have time in the lab environment. Try these explorations:

    • Create additional ratio features using different column combinations
    • Compare different feature selection methods (RFE, mutual information)
    • Experiment with different PCA variance thresholds (90%, 99%)
    • Build a full pipeline that chains all components together

    Take this opportunity to experiment and deepen your understanding!

About the author

Angel Sayani is a Certified Artificial Intelligence Expert®, CEO of IntellChromatics, author of two books in cybersecurity and IT certifications, world record holder, and a well-known cybersecurity and digital forensics expert.

Real skill practice before real-world application

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Learn by doing

Engage hands-on with the tools and technologies you’re learning. You pick the skill, we provide the credentials and environment.

Follow your guide

All labs have detailed instructions and objectives, guiding you through the learning process and ensuring you understand every step.

Turn time into mastery

On average, you retain 75% more of your learning if you take time to practice. Hands-on labs set you up for success to make those skills stick.

Get started with Pluralsight