Чтобы закодировать категории в Python, вы можете использовать несколько методов в зависимости от конкретных требований вашего проекта. Вот некоторые часто используемые методы и примеры кода:
- LabelEncoder из scikit-learn:
LabelEncoder — популярный метод кодирования категориальных переменных в числовые метки.
from sklearn.preprocessing import LabelEncoder
categories = ['red', 'blue', 'green', 'red', 'yellow', 'blue']
encoder = LabelEncoder()
encoded_categories = encoder.fit_transform(categories)
print(encoded_categories)
Выход:
[2 0 1 2 3 0]
- One-Hot Encoding (Pandas).
One-Hot Encoding – это метод, который создает двоичные столбцы для каждой категории, отражающие наличие или отсутствие этой категории.
import pandas as pd
categories = ['red', 'blue', 'green', 'red', 'yellow', 'blue']
df = pd.DataFrame({'category': categories})
encoded_df = pd.get_dummies(df['category'], prefix='category')
print(encoded_df)
Выход:
category_blue category_green category_red category_yellow
0 0 0 1 0
1 1 0 0 0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1
5 1 0 0 0
- Порядковое кодирование (кодировщики категорий).
Порядковое кодирование присваивает целые числа каждой категории на основе их порядка или ранга.
import pandas as pd
import category_encoders as ce
categories = ['red', 'blue', 'green', 'red', 'yellow', 'blue']
df = pd.DataFrame({'category': categories})
encoder = ce.OrdinalEncoder(cols=['category'])
encoded_df = encoder.fit_transform(df)
print(encoded_df)
Выход:
category
0 1
1 2
2 3
3 1
4 4
5 2
Это всего лишь несколько примеров методов кодирования категорий в Python. Выбор метода кодирования зависит от характера ваших данных и требований вашей задачи.