Обычно, когда у вас есть категориальные данные, вы пытаетесь закодировать их в «числовое» значение. Теперь в вашем случае рассмотрим социальные медиа: твиттер, фейсбук, гугл-плюс. У вас может возникнуть желание закодировать их как твиттер: 0, facebook: 1, google-plus: 2. Но у этой кодировки есть проблема: он подразумевает, что алгоритм машинного обучения google-plus вдвое больше, чем facebook, а это не то, что вам нужно.
Введите одно горячее кодирование : оно преобразует категориальные данные в вектор битов. Таким образом, у вас будет количество бит, равное количеству категорий, присутствующих в ваших данных:
social media | binary vector (bits in order: is_twitter, is_facebook, is_google_plus)
twitter | 1, 0, 0
facebook | 0, 1, 0
google-plus | 0, 0, 1
Теперь вы можете применять любой алгоритм ML, поскольку все ваши данные являются числовыми.
Подробнее здесь: Одна горячая кодировка в Scikit