<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; кодирование признаков</title>
	<atom:link href="http://web.snauka.ru/issues/tag/kodirovanie-priznakov/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 17 Apr 2026 07:29:22 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Преобразование категориальных данных: практическое руководство на примере датасета “Титаник”</title>
		<link>https://web.snauka.ru/issues/2025/11/103920</link>
		<comments>https://web.snauka.ru/issues/2025/11/103920#comments</comments>
		<pubDate>Mon, 17 Nov 2025 15:05:10 +0000</pubDate>
		<dc:creator>Артыков Ильнур Кимсанович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[Feature Engineering]]></category>
		<category><![CDATA[One-Hot Encoding]]></category>
		<category><![CDATA[бинарное кодирование]]></category>
		<category><![CDATA[датасет «Титаник»]]></category>
		<category><![CDATA[категориальные данные]]></category>
		<category><![CDATA[кодирование признаков]]></category>
		<category><![CDATA[машинное обучение]]></category>
		<category><![CDATA[предобработка данных]]></category>
		<category><![CDATA[преобразование данных]]></category>
		<category><![CDATA[фиктивные переменные]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2025/11/103920</guid>
		<description><![CDATA[Любой проект в области анализа данных или машинного обучения начинается с этапа предобработки данных. Этот этап, часто называемый «feature engineering» (создание признаков), является критически важным для построения качественных моделей. Одна из самых распространенных задач на этом этапе — работа с категориальными признаками. Такие признаки описывают принадлежность объекта к определенной группе или классу: например, пол, страна [...]]]></description>
			<content:encoded><![CDATA[<p>Любой проект в области анализа данных или машинного обучения начинается с этапа предобработки данных. Этот этап, часто называемый «feature engineering» (создание признаков), является критически важным для построения качественных моделей. Одна из самых распространенных задач на этом этапе — работа с категориальными признаками. Такие признаки описывают принадлежность объекта к определенной группе или классу: например, пол, страна проживания, тип товара, образовательная степень.</p>
<p>Алгоритмы машинного обучения — будь то линейная регрессия, решающее дерево или нейронная сеть — оперируют числами. Они не могут напрямую интерпретировать текстологические значения вроде «М» или «Саутгемптон». Наша задача — найти способ перевести эту категориальную информацию в числовую, не исказив при этом ее смысл. В этой статье мы решим практическую задачу по кодированию трех признаков из датасета «Титаник» и объясним теоретическую базу, стоящую за этим процессом.</p>
<p>Категориальные признаки делятся на два основных типа:</p>
<p>Номинальные (Nominal): Категории не имеют внутреннего порядка. Например, «Порт посадки» (Саутгемптон, Шербур, Куинстаун). Нет такого понятия, что «Шербур &gt; Саутгемптон».</p>
<p>Порядковые (Ordinal): Категории имеют четкий, естественный порядок. Например, «Класс» (1-й, 2-й, 3-й) или «Уровень образования» (школа, бакалавр, магистр). Здесь 1-й класс объективно «выше» 3-го по уровню сервиса и комфорта.</p>
<p>Неправильное кодирование может ввести алгоритм в заблуждение. Если мы просто заменим порты посадки числами (Саутгемптон=1, Шербур=2, Куинстаун=3), модель может ошибочно решить, что между ними существует количественное отношение (например, что Куинстаун «в три раза больше» Саутгемптона), что бессмысленно.</p>
<p>Для корректного преобразования используются два основных метода, которые мы и применили в нашем задании.</p>
<p>1.1. Бинарное кодирование (Label Encoding для бинарных признаков)</p>
<p>Этот метод применяется к признакам, имеющим ровно две категории.</p>
<p>Принцип: Каждой категории присваивается число: 0 или 1.</p>
<p>Область применения: Идеально подходит для бинарных признаков, таких как «Пол» (М/Ж), «Есть ли домашнее животное?» (Да/Нет), «Прошел ли клиент целевое действие?» (Да/Нет).</p>
<p>Пример из задания: Для признака «Пол» мы применили простое правило:</p>
<p>&#8216;М&#8217; → 1</p>
<p>&#8216;Ж&#8217; → 0</p>
<p>Такой подход экономно использует пространство признаков (не создает новых столбцов) и однозначно разделяет объекты на две группы.</p>
<p>1.2. One-Hot Encoding (OHE) — Кодирование в виде «горячего» вектора</p>
<p>Это стандартный метод для работы с номинальными признаками, у которых нет внутреннего порядка.</p>
<p>Принцип: Для каждой уникальной категории внутри признака создается новый бинарный (0/1) столбец. Для каждого объекта 1 ставится в столбце, соответствующем его категории, а во всех остальных новых столбцах — 0.</p>
<p>Область применения: Номинальные признаки с тремя и более категориями, такие как «Порт посадки» или к примеру «Страна», «Марка автомобиля».</p>
<p>Пример из задания:</p>
<p>Пример представлен на рисунке 1.</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2025/12/120225_1556_1.png" alt="" /></p>
<p style="text-align: center;">Рисунок 1</p>
<p>Исходный признак «Класс» имеет 3 категории: 1, 2, 3. Хотя он является порядковым, OHE также применим, особенно если мы не хотим, чтобы модель предполагала строгую линейную зависимость (иногда разница между 1-м и 2-м классом может быть значительнее, чем между 2-м и 3-м).</p>
<p>Процесс: Мы создали три новых признака: Класс_1, Класс_2, Класс_3.</p>
<p>Для пассажира 1-го класса: Класс_1=1, Класс_2=0, Класс_3=0.</p>
<p>Для пассажира 3-го класса: Класс_1=0, Класс_2=0, Класс_3=1.</p>
<p>Исходный признак «Порт посадки» имеет 3 категории: Саутгемптон, Шербур, Куинстаун.</p>
<p>Процесс: Мы создали три новых признака: Порт_Саутгемптон, Порт_Шербур, Порт_Куинстаун.</p>
<p>Для пассажира, севшего в Шербуре: Порт_Саутгемптон=0, Порт_Шербур=1, Порт_Куинстаун=0.</p>
<p>Важное замечание: После применения OHE исходный категориальный столбец удаляется из набора данных, чтобы избежать избыточности.</p>
<p>2. Постановка задачи</p>
<p>Нам был предоставлен датасет с информацией о 14 пассажирах Титаника (рисунок 1). Содержащиеся в нем категориальные признаки («Пол», «Класс», «Порт посадки») непригодны для непосредственного анализа алгоритмами машинного обучения.</p>
<p>Цель: Преобразовать эти три признака в числовой формат, руководствуясь следующими правилами:</p>
<p>Пол: Закодировать бинарно (&#8216;М&#8217; → 1, &#8216;Ж&#8217; → 0).</p>
<p>Класс: Применить One-Hot Encoding, создав три dummy-переменных: Класс_1, Класс_2, Класс_3.</p>
<p>Порт посадки: Применить One-Hot Encoding, создав три dummy-переменных: Порт_Саутгемптон, Порт_Шербур, Порт_Куинстаун.</p>
<p>Результатом должна стать рисунок 2, где для каждого пассажира указаны его имя и новые, закодированные версии указанных признаков.</p>
<p>3. Описание решения</p>
<p>Решение задачи выполнялось в несколько последовательных шагов для каждого пассажира из исходной Таблицы 1.</p>
<p>Шаг 1: Кодирование признака «Пол».</p>
<p>Для каждого пассажира мы смотрели на значение в столбце «Пол» и заменяли его на 1 (если &#8216;М&#8217;) или 0 (если &#8216;Ж&#8217;). Например:</p>
<p>Джон Линган (№1): &#8216;М&#8217; → 1.</p>
<p>Аврора Аделия Ландергрен (№2): &#8216;Ж&#8217; → 0.</p>
<p>Шаг 2: One-Hot Encoding для признака «Класс».</p>
<p>Для каждого пассажира мы анализировали его класс и проставляли 1 в соответствующем столбце, и 0 — в двух других.</p>
<p>Джон Линган (№1): Класс = 1 → Класс_1=0, Класс_2=1, Класс_3=0.</p>
<p>Аврора Аделия Ландергрен (№2): Класс = 2 → Класс_1=0, Класс_2=1, Класс_3=0.</p>
<p>Графиня Ротес(№4): Класс = 3 → Класс_1=1, Класс_2=0, Класс_3=0.</p>
<p>Шаг 3: One-Hot Encoding для признака «Порт посадки».</p>
<p>Аналогично предыдущему шагу, мы создали три бинарных столбца для портов.</p>
<p>Графиня Ротес(№4): Порт = Саутгемптон → Порт_Саутгемптон=1, Порт_Шербур=0, Порт_Куинстаун=0.</p>
<p>Альбер Малле (№3): Порт = Шербур → Порт_Саутгемптон=0, Порт_Шербур=1, Порт_Куинстаун=0.</p>
<p>Джон Линган (№1): Порт = Куинстаун → Порт_Саутгемптон=0, Порт_Шербур=0, Порт_Куинстаун=1.</p>
<p>Результат: В результате ручного применения этих правил для 4 пассажиров была заполнена Таблица 2. Её фрагмент представлен ниже для наглядности (рисунок 2).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2025/12/120225_1556_2.png" alt="" /></p>
<p style="text-align: center;">Рисунок 2</p>
<p><strong>Выводы</strong></p>
<p>Проделанная работа наглядно демонстрирует важность и необходимость этапа предобработки категориальных данных. Путем применения всего двух методов кодирования — бинарного и One-Hot Encoding — мы превратили текстологическую информацию, непонятную для машины, в строгий числовой формат.</p>
<p>Корректность представления: One-Hot Encoding позволил избежать навязывания ложного порядкового соотношения между номинальными признаками (порты) и нивелировать возможный нелинейный эффект порядкового признака (класс).</p>
<p>Готовность к анализу: Полученная в Таблице 2 матрица признаков является чистой и готовой к использованию. Её можно напрямую подавать на вход алгоритмам машинного обучения для решения задач классификации (например, предсказание выживания) или регрессии.</p>
<p>Универсальность методов: Рассмотренные подходы являются стандартными и широко применяются в индустрии. Понимание их принципов — фундаментальный навык для любого специалиста по data science.</p>
<p>В реальных проектах этот процесс автоматизируется с помощью библиотек, таких как Pandas (pd.get_dummies()) или Scikit-learn (OneHotEncoder), что позволяет обрабатывать тысячи строк за доли секунды. Однако ручное выполнение, как в этом задании, закрепляет понимание сути преобразования, что неизменно важнее механического владения инструментом.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2025/11/103920/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
