![]() |
![]() |
![]() |
![]() |
Подготовка датасета для машинного обучения: 10 базовых способов совершенствования данных |
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2022-09-20 06:21 ![]() У Колумбийского университета есть хорошая история о плохих данных. Проект в сфере здравоохранения был нацелен на снижение затрат на лечение пациентов с пневмонией. В нём использовалось машинное обучение (machine learning, ML) для автоматической сортировки записей пациентов, чтобы выбрать тех, у кого опасность смертельного исхода минимальна (они могут принимать антибиотики дома), и тех, у кого опасность смертельного исхода высока (их нужно лечить в больнице). Команда разработчиков использовала исторические данные из клиник, а алгоритм был точным. Но за одним важным исключением. Одним из наиболее опасных состояний при пневмонии является астма, поэтому врачи всегда отправляют астматиков в отделение интенсивной терапии, что приводило к минимизации уровня смертности для этих пациентов. Благодаря отсутствию смертельных случаев у астматиков в данных алгоритм предположил, что астма не так уж опасна при пневмонии, и во всех случаях машина рекомендовала отправлять астматиков домой, несмотря на то, что для них риск осложнений при пневмонии был наибольшим. Подготовка массива данных часто оказывается проектом «сделай сам» Если бы мы рассматривали сферическое машинное обучение в вакууме, то всей подготовкой данных должен был бы заниматься отдельный дата-саентист. И так поступать совершенно правильно. Если у вас в команде нет дата-саентиста, занимающегося очисткой всех данных, то у вас нет и машинного обучения. Но как мы говорили в истории о структуре команд data science, жизнь компаний, не способных позволить себе наличие собственного дата-саентиста, непроста. Им приходится обучать работать в этой сфере собственных инженеров ИТ. Кроме того, подготовка массива данных не сводится только к компетенциям дата-саентиста. Проблемы с массивами данных для машинного обучения проистекают из структуры организации, её сложившихся рабочих процессов и того, придерживаются ли инструкций работники, отвечающие за ведение учёта. Как работают команды data science 0. Как собирать данные для машинного обучения, если у вас их нет Возможность экспериментов с ML зависит от того, собирали ли вы данные в течение многих лет. Некоторые организации настолько успешно копят записи в течение десятков лет, что теперь для их перевозки в облако им требуется грузовик, потому что полосы пропускания Интернет-канала недостаточно. Молодые организации сталкиваются с нехваткой данных, однако, к счастью, есть способы превратить этот минус в плюс. 1. Формулировать задачу на ранних этапах Понимание того, что вы хотите прогнозировать, поможет вам решить, какие данные важнее собирать. При формулировании задачи нужно выполнять исследование данных и пытаться думать в категориях классификации, кластеризации, регрессии и ранжирования, о которых мы говорили в нашей статье о применении машинного обучения в бизнесе. Если говорить доступным языком, эти задачи можно разделить следующим образом: Классификация. Вам нужно, чтобы алгоритм отвечал на простые двоичные вопросы «да или нет» (кошки или собаки, плохо или хорошо, овцы или козы, и так далее), или чтобы он выполнял многоклассовую классификацию (трава, деревья или кусты; кошки, собаки или птицы, и так далее.) Также нужно размечать правильные ответы, чтобы алгоритм мог на них учиться. Прочитайте наше руководство о том, как выполнять разметку данных в организации. Кластеризация. Вам нужно, чтобы алгоритм находил правила классификации и количество классов. Основное отличие от задач классификации заключается в том, что вы не знаете групп и принципов их разделения. Например, это обычно происходит, когда нужно сегментировать клиентов и выработать отдельный подход к каждому сегменту в зависимости от его качеств. 2. Создать механизмы сбора данных Создание культуры управления данными в организации — это, вероятно, самая сложная часть всего процесса. Мы вкратце раскрыли этот пункт в статье о стратегии машинного обучения. Если вы стремитесь использовать ML для прогностической аналитики, первым делом нужно решить проблему фрагментации данных. Например, если взглянуть на технологии сферы туризма — одной из ключевых областей опыта нашей компании — то фрагментация данных здесь является одной из важнейших проблем аналитики. В гостиничном бизнесе отделы, отвечающие за физические свойства, узнают довольно интимные подробности о своих гостях. Отели знают номера кредитных карт гостей, выбираемые ими удобства, иногда домашние адреса, используемые услуги в номере и даже напитки и еду, заказанные во время проживания. Однако веб-сайт, на котором люди бронируют номера, может работать с ними как с совершенно незнакомыми пользователями. Эти данные накапливаются в разных отделах и даже в разных точках сбора в рамках одного отдела. У маркетологов может быть доступ к CRM, но клиенты в ней не связаны с веб-аналитикой. Если у вас множество каналов привлечения, сопровождения и удержания, объединить все потоки данных в централизованное хранилище возможно не всегда, но в большинстве случаев это вполне можно реализовать. Data Warehouse и ETL Первый — это размещение данных в warehouse. Эти хранилища обычно создаются для структурированных (или SQL) записей, то есть сохранённых в стандартных табличных форматах. Можно с уверенностью сказать, что к этой категории относятся данные о продажах, зарплатах и CRM. Ещё один традиционный атрибут работы с warehouse — преобразование данных перед загрузкой их в хранилища. Ниже мы подробнее рассмотрим техники преобразования данных, но в общем случае это значит, что вы знаете, какие данные вам нужны и как они должны выглядеть, поэтому перед сохранением выполняете всю необходимую обработку. Такой подход называется Extract, Transform and Load (ETL). Проблема такого подхода заключается в том, что вы заранее не всегда знаете, какие данные будут полезными, а какие нет. Поэтому warehouse обычно используются для доступа к данным при помощи интерфейсов business intelligence, визуализирующих метрики, которые нам нужно отслеживать. Но существует и другой путь. Data Lakes и ELT Data lake («озёра данных») — это хранилища, способные хранить и структурированные, и неструктурированные данные, в том числе изображения, видео, аудиозаписи, файлы PDF, и так далее. Но даже если данные структурированы, перед сохранением они не преобразуются. Данные загружаются в своём исходном виде, а решение о том, как их использовать и обрабатывать, принимается по необходимости. Такой подход называется Extract, Load and Transform. Учёт человеческого фактора Ещё одним аспектом является человеческий фактор. Сбор данных может быть монотонным занятием, обременяющим ваших работников и утомляющим их инструкциями. Если люди постоянно должны вручную вести учёт, они могут решить, что их задачи — ещё одна бюрократическая причуда, поэтому пустят их на самотёк. Например, у Salesforce есть хороший набор инструментов для отслеживания и анализа действий торгового персонала, однако ручной ввод данных и логирование действий отталкивает продавцов. 3. Проверьте качество данных Первый вопрос, которым нужно задаться: доверяете ли вы своим данным? Даже самые изощрённые алгоритмы машинного обучения не могут работать с некачественными данными. Подробно о качестве данных мы говорили в отдельной статье; в целом вам следует учитывать несколько ключевых моментов. Насколько ощутимы человеческие ошибки? Если данные собираются или размечаются людьми, то проверьте подмножество данных и определите частоту возникновения ошибок. 4. Форматируйте данные, чтобы они были согласованными Под форматированием данных иногда понимают сам используемый формат файлов. И не так уж сложно преобразовать массив данных в формат файлов, лучше всего соответствующий вашей системе машинного обучения. 5. Снижайте объём данных Есть искушение добавлять в массив как можно больше данных, ведь нам нужны «большие данные»! Но такой подход неверен. Да, разумеется, вам нужно собрать все возможные данные. Но если вы подготавливаете массив данных с учётом конкретной задачи, лучше снизить его объём. 6. Выполните очистку данных Так как отсутствующие значения могут осязаемо снизить точность прогнозирования, сделайте эту проблему приоритетной. С точки зрения машинного обучения, предполагаемые или аппроксимируемые значения «более точны» для алгоритма, чем просто отсутствующие. Даже если вы не знаете точного значения, существуют способы лучшего «угадывания» отсутствующего значения или обхода этой проблемы. Как очищать данные? Выбор правильного подхода тоже сильно зависит от данных и сферы деятельности:
Если вы используете какую-то платформу ML as a service, очистку данных можно автоматизировать. Например, Azure Machine Learning позволяет выбирать из доступных техник, а Amazon ML вообще делает это без вашего вмешательства. Прочитайте наше сравнение систем MLaaS, чтобы лучше понимать, какие системы есть на рынке. 7. Создавайте новые признаки из уже существующих Некоторые значения в вашем массиве данных могут быть сложными и разбиение их на несколько частей поможет в выявлении более специфических взаимосвязей. Этот процесс противоположен снижению объёму данных, так как вам нужно добавлять новые атрибуты на основании имеющихся. 8. Объединение данных транзакций и атрибутов Данные транзакций состоят из событий, фиксирующих определённые моменты, например, какой была цена на ботинки, и время, когда пользователь с этим IP нажал на кнопку Buy now. 9. Ремасштабируйте данные Ремасштабирование данных относится к группе процедур нормализации данных, нацеленных на улучшение качества массива данных уменьшением размерностей и устранением ситуаций, когда одно из значений перевешивает другие. Что это значит? 10. Дискретизация данных Иногда можно повысить эффективность прогнозов, превратив числовые значения в категорические. Этого можно достичь, например, разделив весь интервал значений на несколько групп. Публичные массивы данных Ваши частные массивы данных отражают специфику вашего уникального бизнеса и потенциально могут содержать все релевантные атрибуты, которые потребуются для прогнозов. Но когда же можно использовать публичные массивы данных? Заключение: вам всё равно нужен дата-саентист Описанные в статье способы подготовки данных просты и понятны. Однако вам всё равно нужно найти дата-саентистов и дата-инженеров, если требуется автоматизация механизмов сбора данных, создание инфраструктуры и масштабирование до сложных задач машинного обучения. Смысл в том, что глубокое понимание сферы деятельности и задач поможет в правильном структурировании значений ваших данных. Если вы находитесь на этапе сбора данных, возможно, будет разумно пересмотреть существующие подходы к получению и форматированию информации. Источник: habr.com Комментарии: |
|