Книга: Много цифр. Анализ больших данных при помощи Excel
Назад: 7. Комплексные модели: огромная куча ужасной пиццы
Дальше: Бэггинг: перемешать, обучить, повторить

Используем данные из главы 6

Заметка
Электронная таблица Excel с вводными данными, используемая в этой главе, “Ensemble.xlsm”, доступна для скачивания на сайте книги . Или же вы можете просто следить за моими действиями по готовой заполненной таблице.
Эта глава пролетит быстро, потому что мы возьмем базу данных РитейлМарта из главы 6. Используя те же самые данные, вы лучше поймете различия в применении двух моделей, которые я собираюсь вам предложить, и регрессионных моделей из предыдущей главы. Техники моделирования, которые мы будем использовать в этой главе, придуманы не так давно. Они более интуитивны и, вероятно, являются одними из самых мощных технологий ИИ, существующих на данный момент.
Также мы построим кривые ошибок в точности, как в главе 6, так что я не буду тратить много времени на объяснение расчетов параметров качества работы модели. Загляните в главу 6, если вдруг захотите освежить в памяти понятия «точность» и «чувствительность».
Итак, начнем. В таблице, которую вы, возможно, загрузили, есть лист TD, содержащий обучающие данные из главы 6 с уже настроенными фиктивными переменными (подробнее также в главе 6). Отличительные признаки пронумерованы от 0 до 18 в строке 2. Нумерация пригодится нам чуть позже для записей результатов (рис. 7–1).
Также рабочая таблица содержит лист Test Set из главы 6.

 

 

С этими данными вам предстоит сделать в точности то же, что вы делали в главе 6 – предсказать значения в столбце Pregnant с помощью данных слева от него, а затем проверить точность на тестовом наборе.
Оценка недостающей величины
В примере РитейлМарта, приведенном в главе 6 и продолженном здесь, вы работаете с набором данных, в котором нет пробелов. Для многих моделей, построенных на транзакционных данных бизнеса, это весьма актуально. Но и вы столкнетесь с ситуацией, когда в какой-нибудь строке данных не окажется элемента.
К примеру, если вы строите рекомендательную бизнес-модель для сайта знакомств и включаете в анкету профиля пользователя вопрос, слушает ли он симфоническую хэви-метал группу Evanescence, то резонно ожидать, что часть пользователей оставит эту графу незаполненной.
Как же обучать модель, если респондент оставил пустой графу с вопросом об Evanescence?
На этот вопрос есть множество ответов. Я перечислю коротко несколько моментов, от которых можно оттолкнуться.
• Просто выкиньте строки с недостающими значениями. Если эти значения более или менее случайны, потеря пары строк обучающей последовательности не будет критичной. Хотя как раз в примере с сайтом знакомств эти пропуски, скорее всего, будут носить намеренный, а не случайный характер, так что из-за потери строк набор данных может искаженно отображать реальность.
• Если значения столбца – числовые, пропущенные значения можно заменить средними по параметру. Подстановка недостающих значений часто называется imputation (приписывание). Если столбец категорийный, используйте самое популярное значение категории. Опять же, в примере с пристыженными фанатами Evanescence, самым популярным ответом будет «Нет», следовательно, заполнение самым популярным значением – не лучший выход, если человек вдруг решит проверить свой профиль.
• Вдобавок к предыдущей опции вы можете вставить рядом еще один столбец, заполненный нулями, пока не появится недостающее значение – в этом случае 0 становится 1. Таким образом вы заполняете пропущенные значения как можете, но рекомендуете модели не очень-то им доверять.
• Вместо использования среднего можно обучить модель типа общей линейной модели из предыдущей главы «додумывать» недостающие значения, используя данные из других столбцов. Это, конечно, лишняя работа, но она того стоит, если у вас небольшой набор данных и вы не можете себе позволить потерю точности или целых строк.
• К сожалению, последний подход (как и все остальные, упомянутые в этой заметке) отмечен отпечатком излишней самонадеянности. Он подразумевает отношение к приписанным данным как к гражданам высшего класса, если они предсказаны графиком регрессии. Чтобы обойти этот недостаток, те, кто работает со статистикой, часто используют статистические модели и создают несколько графиков регрессии. Пропуск в данных заполняется несколько раз с помощью этих моделей, каждая из которых, в свою очередь, создает свой набор данных. Дальше над вставленными наборами данных можно проводить любой анализ и комбинировать в итоге любые его результаты. Эта операция называется множественной подстановкой (multiple imputation).
• Еще один неплохой подход называется подстановкой k ближайших соседей. Используя расстояния (глава 2) или матрицы смежности (глава 5), можно найти k ближайших соседей пропущенного значения. Вычислите среднее взвешенное расстояние (или самую распространенную величину, которая вам нравится) до значений соседей и вставьте его вместо пропуска в данных.
Назад: 7. Комплексные модели: огромная куча ужасной пиццы
Дальше: Бэггинг: перемешать, обучить, повторить

БУРГЕР КИНГ
Я не робот!
Антон
Перезвоните мне пожалуйста по номеру. 8 (953) 367-35-45 Антон
Антон
Перезвоните мне пожалуйста 8 (495) 248-01-88 Антон.