Comparison of Encoding Methods
Ordinal Encoding
Assigns a unique integer to each category based on order.
import pandas as pd
from [Link] import OrdinalEncoder
data = [Link]({'Category': ['Low', 'Medium', 'High', 'Medium', 'Low']})
encoder = OrdinalEncoder(categories=[['Low', 'Medium', 'High']])
data['Encoded'] = encoder.fit_transform(data[['Category']])
print(data)
Frequency Encoding
Replaces categories with their frequency in the dataset.
import pandas as pd
data = [Link]({'Category': ['A', 'B', 'A', 'C', 'A', 'B', 'C', 'C']})
freq = data['Category'].value_counts(normalize=True)
data['Encoded'] = data['Category'].map(freq)
print(data)
Target Encoding
Replaces categories with the mean of the target variable.
import pandas as pd
from category_encoders import TargetEncoder
data = [Link]({'Category': ['A', 'B', 'A', 'C', 'B', 'C'],
'Target': [1, 0, 1, 0, 1, 0]})
encoder = TargetEncoder()
data['Encoded'] = encoder.fit_transform(data['Category'], data['Target'])
print(data)
Binary Encoding
Converts categories to binary and represents them in separate columns.
import pandas as pd
from category_encoders import BinaryEncoder
data = [Link]({'Category': ['A', 'B', 'C', 'D']})
encoder = BinaryEncoder()
data_encoded = encoder.fit_transform(data['Category'])
print(data_encoded)
Embedded Encoding
Uses deep learning to learn meaningful numerical representations.
# Requires a neural network approach (e.g., embeddings in TensorFlow or PyTorch)