<?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/author/autho2378/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Sat, 18 Apr 2026 09:41:14 +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>Прогрессивные веб-приложения (PWA) как будущее веб-разработки</title>
		<link>https://web.snauka.ru/issues/2024/04/101904</link>
		<comments>https://web.snauka.ru/issues/2024/04/101904#comments</comments>
		<pubDate>Sun, 28 Apr 2024 05:04:04 +0000</pubDate>
		<dc:creator>Хузяханов Егор Илдарович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[push-уведомления]]></category>
		<category><![CDATA[PWA]]></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/2024/04/101904</guid>
		<description><![CDATA[Введение Прогрессивные веб-приложения (PWA) представляют собой новую парадигму в веб-разработке, сочетающую в себе лучшие качества веб-сайтов и нативных мобильных приложений. Эта концепция быстро набирает популярность благодаря своей способности улучшать пользовательский опыт, увеличивать вовлеченность аудитории и повышать производительность приложений. Краткий обзор истории и концепции PWA История PWA началась в 2015 году, когда Google представил концепцию прогрессивных [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;" align="center"><strong><em>Введение</em></strong></p>
<p>Прогрессивные веб-приложения (PWA) представляют собой новую парадигму в веб-разработке, сочетающую в себе лучшие качества веб-сайтов и нативных мобильных приложений. Эта концепция быстро набирает популярность благодаря своей способности улучшать пользовательский опыт, увеличивать вовлеченность аудитории и повышать производительность приложений.</p>
<p><strong><em>Краткий обзор истории и концепции PWA</em></strong></p>
<p>История PWA началась в 2015 году, когда Google представил концепцию прогрессивных веб-приложений на конференции Chrome Dev Summit. Одним из ключевых моментов было введение Service Workers &#8211; скриптов, которые работают в фоновом режиме и позволяют кэшировать ресурсы для работы в автономном режиме.</p>
<p><strong><em>Основные принципы и характеристики PWA</em></strong></p>
<p>Одной из ключевых особенностей PWA является их способность работать в оффлайн-режиме. Это достигается за счет использования Service Workers, которые представляют собой сценарии JavaScript, которые работают в фоновом режиме браузера. Service Workers могут кешировать данные, такие как HTML, CSS, JavaScript и изображения, и управлять запросами к серверу.</p>
<p>Когда пользователь посещает PWA, Service Worker проверяет наличие кэшированных данных. Если данные доступны, PWA может загружаться и работать полностью в оффлайн-режиме. Если данные недоступны, Service Worker отправит запрос на сервер и кеширует ответ, если запрос выполнен успешно.</p>
<p>PWA спроектированы так, чтобы работать во всех современных браузерах, независимо от устройства или операционной системы. Это достигается за счет использования веб-стандартов, таких как HTML, CSS и JavaScript.</p>
<p>По мере того, как браузеры добавляют новые возможности, PWA постепенно улучшают свой пользовательский интерфейс и функциональность. Например, PWA могут использовать push-уведомления в браузерах, которые их поддерживают, и могут получать доступ к аппаратным возможностям устройства, таким как камера и GPS, в браузерах, которые предоставляют соответствующие API.</p>
<p>Они оптимизированы для работы на устройствах с ограниченными ресурсами, таких как смартфоны и планшеты. Так, они используют легкие технологии, такие как Service Workers и Web App Manifest, и эффективно управляют памятью и пропускной способностью.</p>
<p>Например, Service Workers могут кешировать данные и управлять запросами, что снижает потребление пропускной способности и улучшает время загрузки. В свою очередь, Web App Manifest — это JSON-файл, который предоставляет метаданные о PWA, такие как имя, значок и цвет темы.</p>
<p>PWA можно легко установить на устройства пользователей с помощью значка на главном экране. Они не требуют загрузки из магазина приложений и могут быть установлены непосредственно из браузера.</p>
<p>Когда пользователь посещает PWA, браузер отображает приглашение установить приложение. Пользователь может нажать на приглашение, чтобы добавить значок PWA на главный экран своего устройства. Значок будет вести себя как ярлык для PWA, позволяя пользователям запускать приложение непосредственно с главного экрана.</p>
<p>Также PWA используют адаптивный дизайн, который позволяет им изменять свой макет и пользовательский интерфейс в зависимости от размера экрана и ориентации устройства. Это гарантирует, что PWA всегда отображаются наилучшим образом на любом устройстве.</p>
<p><strong><em>Преимущества PWA</em></strong></p>
<p>1)        обеспечение быстрой загрузки, плавной навигации и возможности работы в автономном режиме, что повышает удобство использования и вовлеченность;</p>
<p>2)        установка с сайта одним кликом, обеспечивающая моментальную загрузку контента и удобство для пользователей;</p>
<p>3)        автоматические обновления и небольшой размер приложений, делающие данные приложения экономными;</p>
<p>4)        интегрирование в операционные системы, а также нативный стандарт интерфейса, способствующий удобству пользователей;</p>
<p>5)        индексация поисковыми системами и привлечение дополнительного трафика.</p>
<p><strong>Недостатки PWA</strong></p>
<p>1)        не все браузеры поддерживают полнофункциональную работу PWA, что может привести к неожиданным ошибкам и проблемам с совместимостью;</p>
<p>2)        поскольку PWA работают в браузере, они могут быть уязвимы к атакам безопасности, таким как межсайтовый скриптинг, фишинг и DNS-спуфинг;</p>
<p>3)        PWA могут быть ограничены в доступе к функциям устройства, таким как камера, GPS и уведомления, в отличие от нативных мобильных приложений.</p>
<p><strong>Методы улучшения пользовательского опыта с помощью PWA</strong></p>
<p>Методы улучшения пользовательского опыта с использованием прогрессивных веб-приложений (PWA) представляют собой важную часть современной веб-разработки. PWA сочетают в себе преимущества веб-сайтов и функциональность нативных приложений, обеспечивая пользователям удобство и быстродействие. В данной главе мы рассмотрим несколько ключевых аспектов, которые помогают улучшить пользовательский опыт при использовании PWA.</p>
<p>Так, оптимизация загрузки контента Одним из главных преимуществ PWA является быстрая загрузка контента. Чтобы ускорить загрузку контента, необходимо использовать технологии, такие как Service Workers и Cache API, которые позволяют кэшировать данные на стороне клиента. Это позволяет уменьшить время загрузки и увеличить скорость работы веб-сайта.</p>
<p>Еще одним ключевым свойством PWA является надежность и безопасность. Усовершенствованные механизмы кеширования и Service Workers решают проблему плохого соединения и даже позволяют PWA продолжить работу в автономном режиме. Пользователям больше не придется смотреть на пустой экран, если интернета нет. По крайней мере, ситуация может быть решена более изящно при помощи простого уведомления «Отсутствует интернет-соединение».</p>
<p>Как и нативные приложения, PWA предлагают пользователям возможность отправки уведомлений. И это является отличным инструментом вовлечения пользователей и увеличения продаж. С помощью push-уведомлений можно сообщить покупателям, что они оставили что-то в корзине, о специальных предложениях или новых продуктах — любую информацию, которая может им понадобиться, прежде чем они совершат покупку. Компании, использующие push-уведомления в PWA, могут заметно увеличить конверсию и уменьшить количество брошенных корзин.</p>
<p>Отличительной особенностью PWA является высокая адаптивность к разным устройствам и средам. Они могут легко адаптироваться к разным размерам экранов, работая на равных как на настольных компьютерах, так и на мобильных устройствах. Возможна адаптация под любое мобильное устройство, будь то Android или iOS, планшет или мобильный телефон, десктоп или ноутбук. Данная гибкость позволяет пользователям получать одинаково удобный и качественный пользовательский опыт вне зависимости от устройства, которое они используют для доступа к приложению.</p>
<p><strong>Увеличение производительности веб-приложений благодаря PWA</strong></p>
<p>Как уже говорилось ранее, одним из основных преимуществ PWA является возможность кэширования ресурсов на стороне клиента. Кэширование позволяет значительно сократить время загрузки и улучшить отзывчивость приложений, так как ресурсы могут быть получены из кэша, не требуя повторной загрузки с сервера.</p>
<p>Еще одним важным аспектом является возможность оптимизации веб-приложений для работы в условиях медленных сетей. PWA позволяют создавать приложения, которые могут функционировать даже при низкой скорости интернета, обеспечивая пользователям стабильный и непрерывный доступ к контенту.</p>
<p><strong>Примеры успешной реализации PWA</strong></p>
<p>Рассмотрим несколько примеров успешной реализации PWA различными компаниями и стартапами. Каждая модель позволит показать основные преимущества применения PWA в веб-разработке.</p>
<p>Так, например, AliExpress, один из крупнейших мировых интернет-магазинов, создал PWA версию своего сайта для улучшения работы на мобильных устройствах. Теперь устройство пользователя сохраняет данные, такие, как изображения, CSS-стили и JavaScript-файлы, чтобы при следующей загрузке брать их не с сервера, а из локального кэша.</p>
<p>Ещё одним удачным примером является внедрение PWA в приложение Trivago. Компания использовала PWA для создания интерактивной карты с возможностью работы в офлайн-режиме. Карта делает процесс выбора отеля более наглядным и интерактивным. Также она может отображать повторные запросы пользователя без использования интернета.</p>
<p>Данные примеры показывают, как данная технология применяется различными компаниями для улучшения собственной продукции. Нельзя не отметить значимость этой технологии для развития онлайн-бизнеса и веб-разработки в целом.</p>
<p><strong>Вызовы и ограничения внедрения PWA</strong></p>
<p>Несмотря на все преимущества использования, PWA-приложения имеют ряд серьёзных проблем и органичений, которые следует учитывать при разработке и использовании.</p>
<p>Так, одной из основных проблем является совместимость с некоторыми устройствами и браузерами. Хотя большинство современных браузеров поддерживают необходимые для PWA технологии, некоторые старые браузеры могут не поддерживать их работу. Например, некоторые браузеры не поддерживают работу сервис-воркеров, которые просто необходимы данным приложениям. Это сильно ограничивает возможности использования PWA на редких браузерах и непопулярных устройствах.</p>
<p>Ещё одной важной проблемой является ограничение функционала и производительности в некоторых сценариях использования. Например, некоторые функции устройства, такие как доступ к файловой системе или управление устройствами через Bluetooth, могут быть ограничены или недоступны в PWA из-за безопасности или ограничений браузера. Это сильно стесняет разработку функционала и оптимизацию производительности.</p>
<p>Тем не менее, при всех недостатках внедрения данной технологии, преимущества PWA над аналогами (мобильные веб-приложения, нативные приложения и тд), заключающиеся в их способности сочетать преимущества как нативных, так и веб-приложений, а также низкие затраты на производство и поддержку делают данный тип приложений очень привлекательным для современной веб-разработки. Именно поэтому крупные компании отдают ему предпочтение.</p>
<p><strong>Заключение</strong><strong></strong></p>
<p>PWA открывают новую эру веб-приложений, предлагая решения с высоким уровнем функциональности и доступности. Простота использования в сочетании с экономичностью в разработке делают PWA востребованным типом веб-приложений. Они обеспечивают высокий уровень производительности, а также повышают user-experience, объединяют в себе преимущества веб и наивных приложений, предлагая быстроту загрузки и возможность работать оффлайн.</p>
<p>Также одним из ключевых преимуществ PWA является универсальность и кроссплатформенность, что позволяет разработчикам создавать приложения, которые работают на различных устройствах и браузерах без необходимости разработки отдельных версий под каждую платформу. Все эти факторы показывают, насколько PWA важен в современном мире IT-технологий.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/04/101904/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Эффективные методы предобработки данных: как подготовить данные для машинного обучения</title>
		<link>https://web.snauka.ru/issues/2024/11/102801</link>
		<comments>https://web.snauka.ru/issues/2024/11/102801#comments</comments>
		<pubDate>Sat, 30 Nov 2024 06:01:50 +0000</pubDate>
		<dc:creator>Хузяханов Егор Илдарович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></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>
		<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/2024/11/102801</guid>
		<description><![CDATA[Введение Предобработка данных — это неотъемлемая часть процесса машинного обучения, которая включает в себя подготовку и очистку данных перед их использованием в моделях. Качество данных оказывает непосредственное влияние на точность и производительность моделей. Недостатки в данных, такие как пропуски, дубликаты и выбросы, могут привести к неправильным выводам и ухудшению результатов обучения. Важность предобработки данных становится [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em><span>Введение</span></em></strong></p>
<p><span>Предобработка данных — это неотъемлемая часть процесса машинного обучения, которая включает в себя подготовку и очистку данных перед их использованием в моделях. Качество данных оказывает непосредственное влияние на точность и производительность моделей. Недостатки в данных, такие как пропуски, дубликаты и выбросы, могут привести к неправильным выводам и ухудшению результатов обучения.</span></p>
<p><span>Важность предобработки данных становится особенно актуальной в условиях больших объемов информации, с которыми сталкиваются современные системы машинного обучения. Эффективные методы предобработки позволяют не только улучшить качество входных данных, но и оптимизировать обучение моделей, что в конечном итоге приводит к более точным прогнозам и выводам. Таким образом, понимание основ предобработки данных и применение правильных методов является ключевым фактором для успешной реализации проектов в области машинного обучения.</span></p>
<p><strong><em><span>Понимание данных</span></em></strong></p>
<p><span>Понимание структуры и характеристик данных — это первый шаг на пути к их эффективной предобработке. Этот этап включает в себя анализ и визуализацию данных, что позволяет исследовать их распределение, выявлять аномалии и лучше понимать связи между признаками.</span></p>
<p><span>Для анализа данных часто используются библиотеки Python, такие как Pandas и Matplotlib.<br />
При помощи Pandas можно удобно манипулировать данными, используя такие методы, как describe(), который предоставляет статистическую информацию о числовых столбцах, и info(), который позволяет получить общее представление о DataFrame. Визуализация данных с помощью Matplotlib и Seaborn помогает графически представить распределение данных, выявить потенциальные аномалии и выявить паттерны, которые могут быть полезны для дальнейшей предобработки.</span></p>
<p><span>Применение инструментов для визуализации данных, таких как гистограммы, диаграммы рассеяния и ящики с усами, позволяет лучше понять распределения и зависимости между переменными. Например, гистограммы могут показать распределение отдельных признаков, а диаграммы рассеяния помогут выявить взаимосвязи между двумя количественными переменными.</span></p>
<p><strong><span>Очистка данных</span></strong></p>
<p><span>Очистка данных — это важный этап предобработки, который включает в себя несколько ключевых процессов: обработку пропусков, удаление дубликатов и обработку выбросов. Каждый из этих процессов необходим для повышения качества данных и, как следствие, улучшения работы моделей машинного обучения.</span></p>
<p><strong><span>Обработка пропусков</span></strong></p>
<p><span>Пропуски в данных могут возникать по различным причинам: ошибки при сборе данных, некорректные записи или технические сбои. Обработка пропусков может выполняться различными методами:</span></p>
<p><strong>1. Удаление строк/столбцов</strong>:</p>
<ul>
<li>Если в определенной строке или столбце слишком много пропусков, имеет смысл удалить их. Например, если в столбце содержится более 30% пропусков, его можно исключить из анализа, так как такой объем недостающих данных может сильно исказить результаты. Удаление строк с пропусками также может быть уместным, особенно если потеря информации не критична.</li>
</ul>
<p><strong>2. Импутация значений</strong>:</p>
<ul>
<li>Импутация — это процесс заполнения пропусков определенными значениями [1]. Существует несколько подходов:
<ul>
<li><strong>Среднее значение</strong>: наиболее распространенный метод, при котором пропуски заполняются средним значением по этому столбцу. Это удобно, но может быть неэффективно, если данные имеют выбросы.</li>
<li><strong>Медиана</strong>: лучше подходит для данных с выбросами, так как менее чувствительна к экстремальным значениям. Заполнение пропусков медианой помогает сохранить распределение данных.</li>
<li><strong>Модальное значение</strong>: этот метод используется для категориальных данных, когда пропуски заменяются наиболее часто встречающимся значением в столбце.</li>
</ul>
</li>
</ul>
<div align="center">
<p><img src="https://content.snauka.ru/web/102801_files/12.gif" alt="" width="418" height="369" /></p>
<p><strong><span>Рисунок 1. Пример импутации пропусков</span></strong></p>
</div>
<p><strong><span>Удаление дубликатов</span></strong></p>
<p><span>Дубликаты в данных могут привести к искажению результатов анализа и моделирования. Методы для обнаружения и удаления дубликатов:</span><br />
<strong>1. Обнаружение дубликатов</strong>:</p>
<ul>
<li>Для выявления дублирующихся строк используется специальный механизм, который сравнивает значения всех или определённых столбцов. Это позволяет быстро находить записи, которые полностью идентичны или имеют схожие характеристики.</li>
</ul>
<p><strong>2. Удаление дубликатов</strong>:</p>
<ul>
<li>После выявления дубликатов необходимо принять решение о том, как с ними поступить. Обычно удаляется повторяющаяся запись, оставляя только одну, что помогает предотвратить искажение статистики и моделей. Это особенно важно, когда дублирующиеся данные могут привести к переоценке или недооценке значимости определённых признаков.</li>
</ul>
<p><strong><span>Обработка выбросов</span></strong></p>
<p><span>Выбросы — это аномальные значения, которые значительно отличаются от остальных данных. Они могут возникать как следствие ошибок измерений или же представлять собой настоящие вариации в данных. Методы для выявления и удаления выбросов:</span><br />
<strong><span>1. Визуализация:</span></strong></p>
<ul>
<li>Используйте графики для выявления выбросов. Гистограммы и диаграммы размаха помогут вам наглядно увидеть, какие значения значительно отклоняются от остальных.</li>
</ul>
<p><strong><span>2. Удаление по порогу:</span></strong></p>
<ul>
<li>Установите логические границы для ваших данных и удалите значения, которые их превышают. Например, если у вас данные о возрасте, и вы знаете, что не должно быть людей старше 120 лет, удалите эти значения.</li>
</ul>
<p><strong><span>3. Замена выбросов:</span></strong></p>
<ul>
<li>Если выбросы были обнаружены, замените их на медиану или другое приемлемое значение, чтобы сохранить общее распределение данных.</li>
</ul>
<div align="center">
<p style="text-align: center;"><img src="https://content.snauka.ru/web/102801_files/130.gif" alt="" width="904" height="446" /></p>
<p style="text-align: center;"><strong><span>Рисунок 2. Пример обработки выбросов</span></strong></p>
</div>
<p><strong><span>Преобразование данных</span></strong></p>
<p><em><span>Преобразование данных — это процесс подготовки и изменения исходных данных таким образом, чтобы они стали удобными и полезными для машинного обучения и анализа.</span></em></p>
<p><strong><span>Нормализация</span></strong></p>
<p><em><span>Нормализация — это приведение числовых признаков модели к одинаковому масштабу или диапазону. Данный процесс используют для того, чтобы все признаки (переменные) в данных были &#8220;на одном уровне&#8221;. Это предотвращает влияние на модель таких ситуаций, когда один признак выражается в тысячах, а другой — в единицах. [2]</span></em></p>
<p><em><span>Самым простым случаем нормализации является Min-Max Scaling.</span></em></p>
<p><em><span>Min-Max Scaling — это метод нормализации данных, при котором каждый элемент данных преобразуется в новое значение в определённом диапазоне, обычно от 0 до 1. Формула для применения Min-Max Scaling следующая:</span></em></p>
<p><img src="https://content.snauka.ru/web/102801_files/133.gif" alt="" width="177" height="47" /></p>
<p><em><span>где:</span></em></p>
<ul>
<li><em><span>x &#8211; исходное значение данных;</span></em></li>
<li><img src="https://content.snauka.ru/web/102801_files/133(1).gif" alt="" width="16" height="23" /><em><span>- нормализованное значение;</span></em></li>
<li><em><span>min(x) — минимальное значение в выборке;</span></em></li>
<li><em><span>max(x) — максимальное значение в выборке.</span></em></li>
</ul>
<p><em><span>Представим визуализацию примера использования данной нормализации на Рисунке 3.</span></em></p>
<div style="text-align: center;" align="center"><img src="https://content.snauka.ru/web/102801_files/930.gif" alt="" width="948" height="458" /></div>
<div style="text-align: center;" align="center"><strong><span>Рисунок 3. Данные до и после нормализации</span></strong></div>
<p><em><span>Как мы видим, интервал значений преобразовался от [0;70] до [0;1].</span></em></p>
<p><strong><span>Стандартизация</span></strong></p>
<p><em><span>Нормализация используется, когда возникает необходимость привести данные к одинаковому для всех признаков диапазону (например, [0, 1]).</span></em></p>
<p><em><span>Стандартизация же, в свою очередь, используется, когда данные имеют разные распределения или когда важно сохранить среднее и стандартное отклонение.</span></em></p>
<p><em><span>Стандартизация — это процесс, при котором данные преобразуются таким образом, чтобы каждый из признаков имел среднее значение 0 и стандартное отклонение 1.</span></em></p>
<p><em><span>При применении данного действия признаки принимают одинаковую &#8220;масштабируемость&#8221; и одинаково влияют на модель, независимо от того, в каком диапазоне они находятся.</span></em></p>
<p><em><span>Примером стандартизации является Z-score Normalization.</span></em></p>
<p><em>Z-score — это метод нормализации данных, который помогает привести данные к стандартному нормальному распределению, где среднее значение μ</em><em> равно 0, а стандартное отклонение </em><em>σ</em><em> — 1. Такой подход используется, когда нужно, чтобы данные были &#8220;приведены к одинаковому масштабу&#8221;, но с сохранением их распределения. Формула данной стандартизации следующая:</em></p>
<p><img src="https://content.snauka.ru/web/102801_files/946.gif" alt="" width="74" height="39" /></p>
<p><em><span>где:</span></em></p>
<ul>
<li><em>x</em><em> — исходное значение</em><em>;</em><em></em></li>
<li><em>z </em><em>— нормализованное значение (</em><em>Z</em><em>-</em><em>score</em><em>);</em></li>
<li><em><em>μ</em></em><em> — среднее значение выборки</em><em>;</em><em></em></li>
<li><em>σ</em><em> — стандартное отклонение выборки.</em></li>
</ul>
<p><em><span>Пример стандартизации представлен на Рисунке 4.</span></em></p>
<div style="text-align: center;" align="center"><img src="https://content.snauka.ru/web/102801_files/1320.gif" alt="" width="833" height="384" /></div>
<div style="text-align: center;" align="center"><strong><span>Рисунок 4. Данные до и после стандартизации</span></strong></div>
<p><em><span>Заметим, что при стандартизации значения как-бы сравниваются со средним выборки, показывая, какое количество стандартных отклонений находится между конкретным значением и средним.</span></em></p>
<p><strong><span>Преобразования категориальных переменных</span></strong></p>
<p><em><span>Категориальные переменные — это такие переменные, которые представляют собой категории или группы. Например, &#8220;цвет&#8221; может быть категориальной переменной с такими значениями как &#8220;красный&#8221;, &#8220;синий&#8221; и &#8220;зелёный&#8221;.</span></em></p>
<p><em><span>При работе с категориальными переменными закономерно возникает вопрос: каким образом провести их непосредственный анализ. Для этого как правило производят преобразование категориальных переменных в числовые. Ниже представлен пример преобразования:</span></em></p>
<div align="center"><img src="https://content.snauka.ru/web/102801_files/1350.gif" alt="" width="369" height="220" /></div>
<div align="center"><strong><span>Рисунок 5. Данные до и после преобразования категориальных переменных</span></strong></div>
<p><strong><span>Создание новых признаков</span></strong></p>
<p><em><span>Создание новых признаков — это процесс, при котором мы извлекаем дополнительную информацию из исходных данных, чтобы помочь модели лучше делать предсказания.</span></em></p>
<p><em><span>Приведем пример: если у нас есть количество покупок, которые клиент делает в месяц, мы можем создать новый признак, умножив это число на 12, чтобы получить количество покупок в год. Таким образом новый признак позволяет создать предсказания на протяжении долгого времени.</span></em></p>
<p><strong><span>Уменьшение размерности</span></strong></p>
<p><em><span>Уменьшение размерности — это важная техника в машинном обучении, которая используется для сокращения количества признаков в данных без потери значимой информации. Эта техника особенно полезна, когда в наборе данных много признаков (что может привести к таким проблемам, как проклятие размерности или разреженности), а также для улучшения скорости обучения моделей и уменьшения риска переобучения.</span></em></p>
<p><em><span>Иными словами, уменьшение размерности помогает упростить данные, оставив только самую важную информацию, которая будет полезна для предсказаний.</span></em></p>
<p><em><span>Рассмотрим основные методы уменьшения размерности.</span></em></p>
<ul>
<li><em><span>PCA — это линейный метод, который преобразует данные в новое пространство, выбрав новые оси (компоненты), которые максимизируют вариацию (дисперсию) данных. Эти новые оси называются главными компонентами.</span></em></li>
<li><em><span>t-SNE — это метод уменьшения размерности, который хорошо работает с данными, имеющими нелинейные зависимости. Основная цель t-SNE — сохранить локальную структуру данных, то есть сохранять расстояния между похожими точками в низкоразмерном пространстве.</span></em></li>
<li><em><span>UMAP — это метод уменьшения размерности, который похож на t-SNE, но с рядом преимуществ. Он предназначен для сохранения как локальной, так и глобальной структуры данных, при этом он более эффективен по времени и может работать с более большими наборами данных.</span></em></li>
</ul>
<p><strong><span>Балансировка классов</span></strong></p>
<p><span>При работе с несбалансированными данными, где одна категория наблюдений значительно превышает по численности другую, модели машинного обучения могут стать предвзятыми и переоценивать большинство. Проблема дисбаланса классов особенно актуальна в задачах бинарной классификации, таких как обнаружение мошенничества или выявление редких заболеваний.</span></p>
<p><span>Существует несколько стратегий для борьбы с дисбалансом:</span></p>
<ol>
<li><strong><span>Oversampling (увеличение меньшинства)</span></strong><span> – заключается в увеличении числа примеров меньшинства. Один из популярных методов – SMOTE (Synthetic Minority Over-sampling Technique), который синтетически создает новые примеры на основе имеющихся данных. [3]</span></li>
<li><strong><span>Undersampling (уменьшение большинства)</span></strong><span> – уменьшение числа примеров большинства, чтобы сбалансировать распределение классов. Этот метод уменьшает выборку класса, который доминирует, тем самым уменьшая общий объем данных.</span></li>
</ol>
<p><span>Оба подхода имеют свои преимущества и недостатки. Oversampling может привести к переобучению, так как модель увидит несколько &#8220;клонированных&#8221; примеров, а undersampling рискует потерять важную информацию из большинства.</span></p>
<p><strong><span>Данные до и после балансировки</span></strong></p>
<p><span>На изображении представлено распределение данных до и после применения методов балансировки. До балансировки видно значительное преобладание основного класса, из-за чего модель плохо распознаёт редкий класс. После балансировки, с использованием методов, таких как SMOTE и RandomUnderSampler, оба класса представлены более равномерно. Это улучшает способность модели распознавать примеры редкого класса, что особенно важно для задач с несбалансированными данными.</span></p>
<p style="text-align: center;"><img src="https://content.snauka.ru/web/102801_files/1565.gif" alt="" width="1043" height="343" /></p>
<div style="text-align: center;" align="center"><strong><span>Рисунок 6. Данные до и после балансировки</span></strong></div>
<p><span>На столбчатой диаграмме показано, как балансировка данных с помощью SMOTE и RandomUnderSampler улучшает Recall и F1-score для редкого класса по сравнению с результатами без балансировки. Без балансировки модель демонстрирует низкий Recall (0.18) и F1-score (0.29), что отражает её слабую способность распознавать редкий класс, поскольку основная масса предсказаний относится к более частому классу.</span></p>
<p><span>После применения SMOTE Recall увеличивается до 0.69, а F1-score — до 0.35, что показывает улучшение точности и полноты для редкого класса. Метод RandomUnderSampler повышает эти показатели ещё больше, до 0.71 и 0.37 соответственно. Оба подхода значительно улучшают классификацию редкого класса, что особенно важно в задачах, требующих точного выявления малочисленных категорий, таких как аномалии или медицинская диагностика.</span></p>
<div style="text-align: center;" align="center"><img src="https://content.snauka.ru/web/102801_files/1710.gif" alt="" width="884" height="549" /></div>
<div style="text-align: center;" align="center"><strong><span>Рисунок 7. Метрики до и после балансировки</span></strong></div>
<p><strong><span>Практические советы:</span></strong></p>
<ul>
<li><strong><span>SMOTE</span></strong><span> подходит для данных с высоким количеством признаков, так как создает новые синтетические данные. Однако его следует использовать осторожно в задачах, где важна интерпретируемость данных, так как сгенерированные примеры могут усложнить их анализ.</span></li>
<li><strong><span>Undersampling</span></strong><span> рекомендуется применять, когда количество данных велико, и потеря части выборки не приведет к значительной потере информации. Он может быть особенно полезен при ограниченных ресурсах для обучения модели.</span></li>
</ul>
<p><strong><span>Заключение</span></strong></p>
<p><span>Балансировка классов – важный шаг в предобработке данных, который позволяет улучшить качество моделей машинного обучения в задачах с дисбалансом данных. Использование методов oversampling и undersampling дает возможность корректировать несбалансированные выборки, что положительно сказывается на результатах.</span></p>
<p><span>Однако, важно помнить, что выбор метода балансировки зависит от типа задачи и характеристик данных. Кроме того, документирование всех шагов и использованных методов – неотъемлемая часть процесса, позволяющая сделать модель более воспроизводимой и понятной для других исследователей.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/11/102801/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
