Прибыль:
- Способность распознавать различные источники данных (база данных, API, файлы, парсинг веб-страниц), а также подводные камни каждого из них и правильно понимать схему.
- Способность выполнять повторяемую выборку, оценивая, представляет ли выборка генеральную совокупность и систематическую ошибку отбора.
- Умение исключить утечку данных на этапе сбора и соблюдать правовые/этические границы, задавая в каждом столбце вопрос «Будут ли они у меня на момент прогнозирования?»
Качество каждого анализа зависит от качества собираемых вами данных. Даже самая продвинутая модель в мире будет давать ненадежные результаты, если она будет работать с данными, которые собраны неправильно, необъективно или содержат информацию о будущем. В информатике этот принцип резюмируется как «мусор на входе, мусор на выходе» (мусор на входе, мусор на выходе). В этом модуле мы рассмотрим этап сбора данных: понимание источника, выборку, задание вопросов о качестве и предупреждение риска утечки данных с первого дня. Искусственный интеллект — мощная помощь на этом этапе; Пишет SQL-запрос, обобщает документ API, составляет проект контракта данных. Но именно человек решает, какие данные вы собираете и представляют ли эти данные вас.
Знакомство с источниками данных
Данные поступают из разных мест, и у каждого источника есть свои подводные камни. База данных (структурированные данные, хранящиеся в таблицах, обычно запрашиваемые с помощью SQL) является наиболее распространенным источником; Он надежен, но необходимо хорошо понимать его схему. API (интерфейс прикладного программирования) предоставляет данные в реальном времени, но несет в себе риск ограничения скорости и изменения формата. Файлы (CSV, Excel, JSON) являются гибкими, но подвержены несоответствию формата. Парсинг веб-страниц — это мощный инструмент, но он имеет юридические и этические ограничения; Не каждый сайт можно парсить.
Внимание: для парсинга веб-страниц и автоматического сбора данных соблюдайте условия использования сайта, файл robots.txt и KVKK/GDPR. Несанкционированный сбор данных влечет за собой юридическую ответственность. В контексте информационной безопасности используйте инструменты сбора данных только в системах, для которых вы авторизованы, и в целях защиты/анализа; Несанкционированный доступ или очистка запрещены.
Понимание схемы: знакомимся с данными
Прежде чем собирать набор данных, вы должны понять его схему (названия столбцов, их типы данных, их значения и их связи друг с другом). ИИ здесь очень полезен при создании «словаря данных» — таблицы, объясняющей, что означает каждый столбец. Но объяснения, которые дает ИИ, — это предсказания; Подтвердите истинное значение каждого столбца у команды, которая подготовила данные. Например, столбец с именем «статус» может содержать 0/1/2; Только исходящая команда знает, являются ли они «ожидающими/утвержденными/отмененными» или чем-то еще.
В следующей таблице приведены основные типы ресурсов и предостережения:
Источник
сильная сторона
ловушка
Как ИИ помогает
база данных SQL
Структурный, надежный
Сложные соединения
Пишет черновик запроса
API
живые данные
Ограничение скорости, изменение формы
Сводка документов, код извлечения
CSV/Excel
Гибкий, быстрый
Несоответствие формата
Чтение/анализ кода
парсинг веб-страниц
Широкий охват
Юридический/этический предел
Разбор черновика (в пределах полномочий)
Данные журнала/события
подробный
огромный объем
Фильтрующий запрос
Иллюстрация: представляет ли часть целое?
Большую часть времени вы работаете с выборкой (подмножеством, выбранным из генеральной совокупности), а не со всеми данными. Критический вопрос: представляет ли эта выборка население? Предвзятость отбора — самая распространенная ловушка. Например, если вы выбираете пользователей только из мобильного приложения, вы не увидите веб-пользователей, и ваши результаты будут вводящими в заблуждение. Случайная выборка (каждая запись имеет равные шансы быть выбранной) в большинстве случаев является наиболее безопасной; но в данных временных рядов разделение осуществляется в хронологическом порядке, а не случайно (мы увидим это в модулях 7 и 10).
Утечка информации с первого дня
Утечка данных является источником большинства катастроф и обычно возникает на этапе сбора данных. Пример: при прогнозировании «было ли оно отменено», если вы добавите к данным столбец «дата отмены», модель заглянет в будущее. На этапе сбора задайте по одному вопросу для каждого столбца: «Буду ли я действительно располагать этой информацией на момент составления прогноза?» Если ответ отрицательный, колонка протекает. Мы подробно рассмотрим эту тему в модуле 10; Но осознание должно начинаться с первого дня.
три мини-кейса
Случай 1 — Проблема представительства. Один банк собрал данные только об одобренных кредитах для своей модели кредитного риска (18 500 записей). Отклонений в данных не было. Модель оказалась неверной в реальном мире, поскольку она никогда не предвидела, как будут вести себя бракованные изделия. Урок: выборка должна быть репрезентативной для всей совокупности, на основе которой вы принимаете решение.
Случай 2 — Тихое изменение формы. Команда каждый день получала данные о ценах из API. Однажды провайдер API сменил валюту с долларов США на евро, но доменное имя осталось прежним. Данные собирались не в том блоке в течение 12 дней; 3200 строк были повреждены. Урок: регулярно проверяйте согласованность объема и формата данных API.
Случай 3 — Ранняя утечка. Аналитик включил столбец «причина закрытия счета» при сборе данных для оценки «оттока». Эта графа заполнялась только после ухода клиента. Модель дала точность 97% на тестовом наборе; Это не сработало в рабочей среде, поскольку во время прогнозирования этот столбец был пуст. Урок: задайте каждому столбцу вопрос «есть ли он у меня на момент предсказания?»
Четыре копируемых шаблона
1) Извлечение словаря данных:
Ваша роль: помощник специалиста по обработке данных. Ниже приведены названия столбцов и примерные (анонимные) значения таблицы. Для каждого столбца укажите его предполагаемое значение, тип данных и потенциальные риски для качества в таблице. Отметьте столбцы, в которых вы не уверены, как «Требуется подтверждение»; означает создание. Столбцы: [вставить сюда]
2) Код выборки (случайный, повторяемый):
У меня есть панды df. Напишите код, который извлекает репрезентативную 5%-ную случайную выборку из 200 000 строк. Используйте random_state=42 (для воспроизводимости). Добавьте код, чтобы проверить, что распределение классов в выборке аналогично генеральной совокупности.
3) Вопрос по сканированию утечек:
Я дам вам этот список столбцов. Моя цель — предсказать, «отменено ли оно» (0/1). Для каждого столбца оцените, будет ли он у меня на самом деле на момент прогноза, и отметьте его как «безопасный/подозрительный/утечка». Напишите свое обоснование в одном предложении. Столбцы: [список]
4) Черновик запроса SQL:
У меня есть таблицы «заказы» и «клиенты» в PostgreSQL. Напишите запрос JOIN, который объединяет заказы за последние 90 дней с городом клиента и возвращает общую сумму и количество заказов на город. Объясните фильтр даты и то, как обрабатываются NULL-города. Я запущу запрос и проверю его.
Слабая подсказка / Сильная подсказка
Слабая подсказка:
Достаньте мне хороший пример данных из этой базы данных.
«Хорошо» неоднозначно; Какая картина, какого периода, какого размера, какого назначения – неясно. ИИ выдаст только общий, возможно, неправильный запрос.
Мощная подсказка:
Ваша роль: помощник по SQL. У меня есть таблица «транзакций»: идентификатор столбца, customer_id, дата (метка времени), сумма (числовая), канал (текст: «веб»/«мобильный»). Задача: Написать повторяемый (детерминированный с ORDER BY) запрос, который возвращает 10 000 репрезентативных строк из каждого канала за 2024 год. Цель: сравнительный анализ каналов. Перечислите предположения вашего запроса.
Здесь понятна таблица, назначение, размер и повторяемость.
Распространенные ошибки
- Не ставя под сомнение репрезентативность выборки. Легкодоступные данные не являются точными данными; Смещение выбора искажает результат.
- Адаптация значений столбцов к ИИ. Исходная группа знает значение; Не используйте прогноз ИИ без его подтверждения.
- Не отслеживается изменение формата/единицы измерения API. «Тихое» изменение собирает поврежденные данные в течение нескольких дней.
- Игнорирование утечки на этапе сбора. Если вопрос «Есть ли оно у меня на момент прогнозирования» не задан заранее, модель даст ложный успех.
- Сбор несанкционированных или незаконных данных. Нарушение robots.txt, условий использования и KVKK представляет собой серьезный риск.
Совет: Сохраняйте одностраничную «карточку данных» для каждого нового источника данных: источник, дату получения, количество строк, известные границы и столбцы, подверженные риску утечки. На этой карте сохраняется вопрос «Что это были за данные» и воспроизводимость спустя несколько месяцев.
В заключение
Качество анализа ограничено качеством собранных данных. Хорошо знать источник (база данных, API, файл, очистка) и схему; убедиться, что выборка репрезентативна для населения; Устраните утечку с первого дня, задав в каждой колонке вопрос: «Есть ли она у меня на момент прогноза?» ИИ — отличный ускоритель запросов и работы с документами, но люди решают, какие данные собирать и их репрезентативность. Ограничения полномочий, законность и конфиденциальность всегда на первом месте.
Задача приложения
Выберите источник данных (собственный или гипотетический). Получите черновик словаря данных от AI с помощью приведенного выше шаблона «извлечение словаря данных»; Затем вручную проверьте каждый столбец, чтобы убедиться, что в нем нет утечки. Постарайтесь найти хотя бы одну колонку с подозрениями/утечками и в одном предложении напишите, почему это рискованно.
контрольный список
- [ ] Подтвердил ли я источник данных и схему с исходной командой?
- [ ] Проверил ли я, что выборка репрезентативна для населения?
- [ ] Задал ли я в каждой колонке вопрос «получу ли я ее на момент оценки?»
- [ ] Сделал ли я повторяемый отбор проб (фиксированное начальное значение)?
- [ ] Проверил ли я юридические/этические (авторитеты, robots.txt, KVKK) ограничения сбора данных?