Data Science — Feature Engineering
Encoding categorical variables
import pandas as pd
# One-hot encoding
df = pd.get_dummies(df, columns=['category'])
# Label encoding
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df['category_encoded'] = le.fit_transform(df['category'])
Scaling features
from sklearn.preprocessing import StandardScaler, MinMaxScaler
# Standard scaling
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# Min-max scaling
scaler = MinMaxScaler()
X_normalized = scaler.fit_transform(X)
Feature creation
# Date features
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
df['day_of_week'] = df['date'].dt.dayofweek
# Interaction features
df['feature_interaction'] = df['feature1'] * df['feature2']
# Polynomial features
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X)
Handling missing values
# Fill with mean
df.fillna(df.mean(), inplace=True)
# Fill with median
df.fillna(df.median(), inplace=True)
# Drop rows
df.dropna(inplace=True)
Feature selection
from sklearn.feature_selection import SelectKBest, f_classif
selector = SelectKBest(f_classif, k=5)
X_selected = selector.fit_transform(X, y)
Mini Practice
- Encode categorical features
- Scale numerical features
- Create new features
- Select important features
Up Next
Continue with Data Visualization - Charts and graphs.
Related Topics
Frequently Asked Questions about Feature Engineering
What is Feature Engineering in Data Science?
Feature Engineering is a fundamental concept in Data Science. This lesson explains it step by step with clear examples, making it easy for beginners to understand.
How do I learn Feature Engineering?
Start by reading the explanation above, then try the code examples. Practice by modifying the examples and experimenting with different values. Hands-on practice is the best way to learn Feature Engineering.
Why is Feature Engineering important in Data Science?
Feature Engineering is essential for Data Science development. Understanding this concept will help you write better code and solve real-world problems more effectively.