Я постоянно чувствую (оправданное) давление, чтобы улучшить мою модель с помощью более сложной инженерии функций, только чтобы позже фейспалм, когда мне нужно запустить эту модель в производство. Путь к развертыванию сложной модели ясен, просто создайте API! Этот пост представляет собой другой конец спектра. Давайте сделаем как можно больше с базой данных.
tl;dr
Вы по-прежнему можете использовать всю мощь Python / R для построения и проверки обобщенной линейной модели. Эти функции позволят вам быстро развернуть вашу модель в базе данных в виде необработанного кода SQL.
Для кого это
Я написал это специально для
- Практики Data Science
- кого просят быстро предоставить интерпретируемые линейные модели
- чьи данные начинаются в базе данных SQL
- чьи прогнозы попадают в базу данных SQL
- кто хочет сохранить простой
Функции
В этом посте мы будем использовать версию R.
Но вы могли бы так же легко использовать эквивалентный Python.
Пошаговое руководство
В этом посте я построю целенаправленно простую модель для повторной госпитализации по любой причине на основе демонстрационного образца базы данных интенсивной терапии MIMIC-III. Это реляционная база данных, которая отслеживает всю медицинскую информацию о пациенте (лаборатории, диагнозы, жизненно важные показатели и т. Д.) Во время одного пребывания в больнице.
Я целенаправленно выполнил всю разработку / денормализацию функций в SQL, чтобы мой сценарий развертывания был таким простым.
В другом посте я расскажу о том, как я попал в это представление из исходных таблиц MIMIC. Здесь важно знать, что строки представляют собой поперечное сечение людей во времени. Это действительно простая модель, поэтому каждый столбец представляет двоичный индикатор (кодируется как 1 = присутствует, 0 = отсутствует).
Теперь, когда мы проверили данные, давайте перенесем их во фрейм данных.
Имея наши данные в руках, мы можем построить простую модель логистической регрессии с помощью H2O.
Затем переведите его в SQL.
Сила в том, что мы можем полностью исключить R (или Python) из цикла. Все, что нам нужно сделать, это поместить это в соответствующую структуру SQL, например в представление.
Эта функция полезна только в том случае, если она точно возвращает те же прогнозы. Ура линии 1: 1!
Сделай свою жизнь простой
Некоторые из моих наиболее успешных развертываний следовали этому шаблону. Без каких-либо осложнений со стороны кода R или Python, которые могли бы что-либо испортить, эти представления молча выполняли свою работу и никогда не терпели неудач.
Не стесняйтесь протянуть руку и связаться, если это будет полезно для вас!