Использование прогностической модели, разработанной в VS RTools в SQL - PullRequest
0 голосов
/ 25 сентября 2019

Я работаю над прогнозной моделью для скоринга в базе данных. Модель будет находиться на сервере SQL, и для запуска модели с данными в базе данных будет использоваться либо предикат sp_execute_external_script, либо собственный SQL-код PREDICT.

Я могу обучить модель для данных в базе данных, сохранить ее в таблице в форматах сериализации, совместимых с R и SQL, и использовать ее без каких-либо проблем.

Реальная модель будет основана на данных клиента, а данные будут представлены в виде простого файла.Я буду использовать VS и R Tools для разработки модели.

Как только это будет сделано, я хочу сериализовать модель и передать ее в базу данных и использовать там ..

Я пыталсясделать это с помощью rxWriteObject, и я получаю двоичные файлы в моей таблице назначения просто отлично.Однако, когда я пытаюсь запустить модель, я получаю ошибки.

Это один из случаев, когда я использую PREDICT, и я думаю, что модель просто не сериализована / десериализована, чтобы быть совместимым с SQL PREDICT:

Произошла ошибка во время выполнения встроенной функции 'PREDICT'с HRESULT 0x80070057.Модель повреждена или недействительна

Для более собственного выполнения R с использованием sp_execute_external_script я получаю следующее:

Сообщение 39004, Уровень 16, Состояние 20, Строка 1 A Ошибка сценария 'R' во время выполнения 'sp_execute_external_script 'с HRESULT 0x80004004.Сообщение 39019, уровень 16, состояние 2, строка 1 Произошла внешняя ошибка сценария: во время запуска - предупреждающее сообщение: в setJsonDatabasePath (system.file ("extdata /abilities.json",: несоответствие версии байт-кода; используется ошибка eval в UseMethod (")предикат "): нет применимого метода для" предиката ", примененного к объекту класса" rxLogit ". Вызовы: source -> withVisible -> eval -> eval - >gnast

Ошибка в выполнении. Проверьте выходные данные, чтобы узнать большеинформация. Ошибка в eval (expr, envir, enclos): Ошибка в выполнении. Проверьте вывод для получения дополнительной информации. Вызовы: source -> withVisible -> eval -> eval -> .Call Выполнение остановлено

Я переключилсясжатие из gzip, когда я сериализовал модель и отправил ее в SQL с помощью rxWriteObject, и хотя двоичный файл выглядел лучше в таблице и ближе к тому, что у меня там работало, он все равно выдал мне ту же ошибку.

Я думаю, что проблема может быть в метаданных входных данных. Я думаю, что есть небольшие различия в формате данных между данными обучения в SQLи один в плоском файле.Хотя концептуально они одинаковы, могут быть тонкие различия, которые не позволяют мне использовать модель, обученную на данных плоских файлов, для оценки данных в SQL.

Даже если я копирую код R для обучения ииспользуйте sp_execute_external_script в SQL для чтения и использования данных файла, я получаю ту же проблему.

Я предполагаю, что загрузка данных обучения из файла в таблицу очень похожа на типы столбцов данных, с которыми будет использоваться модельможет сработать, но это похоже на большую боль ..

Что-нибудь очевидно, что я упускаю в моем подходе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...