TGViewer
Интеллект в коде: Python, AI, Data Science Интеллект в коде: Python, AI, Data Science @ai_in_progress · 125 subscribers
Post #114 79
Что такое One-Hot-кодирование❓
Представь, что у тебя есть данные, которые нельзя сразу использовать в виде чисел, например, названия животных, цветов или городов. Это называется категориальные данные, потому что они делятся на категории. One-Hot-кодирование — это способ превратить такие данные в числа, чтобы компьютер мог их понять, не путаясь.

Простыми словами, мы создаём для каждой категории отдельный столбец, где ставим:
➖1, если эта категория подходит,
➖0, если нет.
Давайте разберём это на новом, ещё более простом примере.
Пример : Любимые животные
У тебя есть три друга, и каждый любит одно животное:
- Аня любит кошек.
- Боря любит собак.
- Ваня любит рыбок.


Но компьютер может подумать, что собаки (2) "больше" кошек (1), а это неправильно — это просто разные животные, между ними нет порядка. Поэтому мы используем One-Hot-кодирование.
Как это выглядит после One-Hot-кодирования:
Мы создаём три столбца: "Кошки", "Собаки", "Рыбки". И для каждого друга ставим 1 там, где его любимое животное, и 0 в остальных местах.
Картинка 1

Теперь:
- Аня: [1, 0, 0] — любит кошек.
- Боря: [0, 1, 0] — любит собак.
- Ваня: [0, 0, 1] — любит рыбок.

Компьютер не запутается, думая, что одна категория "лучше" другой.
Каждый столбец независимый, и данные готовы для машинного обучения.


Как это сделать в коде❓
Давай применим One-Hot-кодирование🧑‍💻 к примеру с животными, используя Python🐍.

1. Создаём данные
import pandas as pd

data = {'Имя': ['Аня', 'Боря', 'Ваня'],
'Животное': ['кошки', 'собаки', 'рыбки']}
df = pd.DataFrame(data)
print(df)

Вывод: Картинка 2

2. Используем OneHotEncoder
from sklearn.preprocessing import OneHotEncoder

# Создаём энкодер
ohe = OneHotEncoder(sparse=False)

# Учим его на наших данных
ohe.fit(df[['Животное']])

# Преобразуем данные
ohe_animals = ohe.transform(df[['Животное']])
print(ohe_animals)

Вывод: Картинка 3

Это наши 1 и 0 для каждого человека:
- Аня: [1, 0, 0] (кошки)
- Боря: [0, 1, 0] (собаки)
- Ваня: [0, 0, 1] (рыбки)


3. Узнаём названия столбцов
print(ohe.get_feature_names())

Вывод (порядок может отличаться):
['x0_кошки' 'x0_собаки' 'x0_рыбки']


4. Добавляем в таблицу
df[ohe.get_feature_names()] = ohe_animals
print(df)

Вывод: Картинка 4

One-Hot-кодирование — это как переводчик, который помогает компьютеру понять категории без путаницы. Ты создаёшь "да/нет" столбцы для каждой категории, и это делает данные понятными и удобными для машинного обучения.
  • 🔥 4
  • 👍 2
  • 🤯 1
  • 😱 1
More from @ai_in_progress
  1. Mar 4, 2026Seedance 2.0 теперь стоит копейки. Официальные цены API вышли сегодня! ByteDance только чт…
  2. Mar 2, 2026🔥ГЛАВНЫЕ НОВОСТИ ИИ ЗА СЕГОДНЯ ➖Grok Imagine взорвал всех Новая фича Расширение от кадра…
  3. Mar 1, 2026Seedance 2.0 - модель, о которой сейчас говорят почти все, кто следит за развитием AI-виде…
  4. Feb 28, 2026Небольшое обновление формата канала📊 Изначально этот канал создавался исключительно для м…
  5. Feb 10, 2026Аналитический пайплайн: двигатель, который превращает данные в решения Вы слышали модное «…
  6. Feb 7, 2026С возвращением в мир данных! 🌐 Ваш канал по аналитике снова в активной фазе. Перерыв окон…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →