2016-02-19 2 views
0

У меня есть R-код, который загружает RandomForest модель, я ищу, чтобы создать функцию, котораяИспользование OpenCPU для доступа к пользовательской функции ¨R

load(model) 
randomforest_func = function(data) 
{ 
    data$pred = predict(model,data,type="prob") 
    output = data.frame(data$customerid,data$pred[,2]) 
    return(output) 
} 

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

Проблема заключается в том, что модель должна быть предварительно загружена и не может загружаться в R env для каждого запроса.

Функция должна поддерживать параллельные соединения.

Я попытался установить opencpu в R.

Приведенный выше код должен быть запущен в R и доступна на http://localhost:1234/ocpu/

теперь я внес изменения в opencpu.js, чтобы они указывали на этот URL и использовали функцию в jquery ниже. ocpu.r_fun_call("randomforest_func",parameters)

Однако это, кажется, не работает .. не кажется, что доступ к R скрипт

ocpu.r_fun_call.

Мой вопрос заключается в том, как правильно настроить opencpu, чтобы иметь возможность получить доступ к randomforest_func

+0

Что вы хотите сказать? Что не работает? Что бы вы ожидали и что на самом деле произошло? Какие ошибки вы видите? Просьба предоставить нам подробную информацию. –

+0

'ocpu.r_fun_call ("randomforest_func", parameters)', похоже, не имеет доступа к ** randomforest_func ** –

+0

Цель состоит в том, чтобы получить jquery для доступа к функции ** randomforest_func ** –

ответ

-1

This должен помочь с развертыванием его в качестве приложения, что делает его более легким для любого внешнего приложения к потреблению услуг.

This должен помочь с включением модели.

0

Приведенный выше код должен быть запущен в R и доступна на http://localhost:1234/ocpu/

No. Вы должны создать пакет, в котором вы положили свои пользовательские функции. Если пакет называется foo, то приложение будет доступно на

http://localhost:xxxx/ocpu/library/foo/www 

(где xxxx является случайным значением для порта, заданного при запуске opencpu$browse()). Кроме того, вы должны использовать ocpu.call, а не ocpu.r_fun_call.

 Смежные вопросы

  • Нет связанных вопросов^_^