Я постоянно чувствую (оправданное) давление, чтобы улучшить мою модель с помощью более сложной инженерии функций, только чтобы позже фейспалм, когда мне нужно запустить эту модель в производство. Путь к развертыванию сложной модели ясен, просто создайте 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, которые могли бы что-либо испортить, эти представления молча выполняли свою работу и никогда не терпели неудач.

Не стесняйтесь протянуть руку и связаться, если это будет полезно для вас!