Data Science — Feature Selection
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 Selection
What is Feature Selection in Data Science?
Feature Selection 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 Selection?
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 Selection.
Why is Feature Selection important in Data Science?
Feature Selection is essential for Data Science development. Understanding this concept will help you write better code and solve real-world problems more effectively.