Единицы
1. Введение в искусственный интеллект в науке о данных и аналитике: рабочий процесс, роли, границы, проверка и этика 2. Сбор данных и понимание источников: схема, выборка, качество и осведомленность об утечках 3. Очистка и предварительная обработка данных: отсутствующее значение, выбросы и преобразование типов 4. Исследовательский анализ данных (EDA): распределения, взаимосвязи и первоначальные выводы 5. Разработка функций: создание вариантов, кодирование, масштабирование и предотвращение утечек 6. Построение модели: постановка задачи, выбор алгоритма и разделение обучения/тестирования 7. Оценка модели: метрики, перекрестная проверка и экстремальное обучение 8. Визуализация и рассказывание историй: точная графика, честная графика 9. Генерация кода: анализ с помощью искусственного интеллекта с помощью Python (Pandas) и SQL 10. Утечка данных и воспроизводимость: тихие катастрофы и дисциплина 11. Фонд MLOps, этика, конфиденциальность и ответственная аналитика
Единица 2 / 11

Сбор данных и понимание источников: схема, выборка, качество и осведомленность об утечках

Прибыль:

  • Способность распознавать различные источники данных (база данных, 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) ограничения сбора данных?