#r #package
Вопрос:
Я работал над проектом ML, для которого эта работа (выполненная внутри R-проекта) привела к созданию некоторых моделей ML (построенных с помощью каретки) ВМЕСТЕ С кодом, который использует эти модели для дополнительного анализа.
В качестве следующего этапа я «развертываю» эти модели, создавая R-пакет, который мои сотрудники могут использовать для анализа новых данных, где этот анализ включает ИСПОЛЬЗОВАНИЕ обученных моделей ML. Этот пакет включает функции, которые генерируют отчеты, где в этот отчет встроено применение обученных моделей ML к новым наборам данных.
Я пытаюсь определить «правильный» способ включения этих обученных моделей в пакет. (Обратите внимание, что в настоящее время каждая модель сохраняется в отдельном файле .rds).
Я хочу иметь возможность использовать эти модели внутри функций пакета.
Я также хочу рассмотреть возможность «обновления» моделей до новой версии позже.
Так… должен ли я:
- Включите файлы .rda в inst/exdata
- Включить как часть sysdata.rda
- Поместите их во внешний пакет данных (что кажется разумным, за исключением того, что почти все примеры в учебных пособиях ожидают, что пакет данных будет включать объекты data.frame.)
Что касается этого третьего варианта … Я отмечаю, что эти модели, вероятно, подразумевают наличие некоторых дополнительных проблем с «ПРОСТРАНСТВОМ ИМЕН», поскольку для использования моделей потребуется целая куча материалов, связанных с каретками. Требуется ли изменение пространства ИМЕН в пакете «данные» или в пакете, который я создаю, который будет «использовать» модели?
Ответ №1:
Мое первое намерение-пойти на 1. Нет необходимости переходить к другим форматам, таким как PMML, поскольку вы хотите запускать его только в R. Поэтому я считаю Rda изначально лучшим. До тех пор, пока ваши модели не огромны, было бы неплохо поделиться ими с коллегами (но, возможно, не для пакета CRAN). Я вижу, что 3. звучит удобно, но зачем разделять модели и функции? Затем свежеобученные модели будут поставляться с новой версией пакета, так как вам в любом случае потребуется пакет данных. Я не вижу, чтобы таким образом можно было многое получить, но у меня мало опыта работы с пакетами данных.