2016-04-08 6 views
2

В настоящее время я работаю над проектом, где мне нужно сделать некоторые функции для построения прогностической модели. Я привел к пакету в R под названием mRMRe. Я просто пытаюсь работать на примере, но не могу заставить его работать. Пример можно найти здесь - http://www.inside-r.org/packages/cran/mRMRe/docs/mRMR.ensemble.Использование mRMRe в R

Вот мой код -

data(cgps) 
data <- data.frame(target=cgps.ic50, cgps.ge) 
mRMR.ensemble(data, 1, rep.int(1, 30)) 

Когда я запускаю этот код, я получаю ошибку -

Error in .local(.Object, ...) : data must be of type mRMRe.Data. 

Я вырыл мусор дальше и обнаружил, что вы на самом деле должны преобразовать данные в mRMR.Data тип. Поэтому я сделал это обновление -

# Update 
data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge)) 
mRMR.ensemble(data, 1, rep.int(1, 30)) 

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

> class(data) 
[1] "mRMRe.Data" 
attr(,"package") 
[1] "mRMRe" 

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

Мой вопрос в том, есть ли у кого-либо опыт использования этого пакета или любая помощь или комментарии будут оценены!

хочу также отметить, что в примере из ссылки - когда я загрузить данные

cgps_ic50 -> cgps.ic50 
cgps_ge -> cgps.ge 

поэтому имена данных не являются такими же, как же в примере.

+0

'cgps_ge' и' cgps_ic50' бросать «объекты не найдены». Я получаю ту же ошибку, что и с вашим кодом, но я не получаю ошибку при запуске кода примера в документации пакета. Мне кажется, что вы не читали руководство. –

ответ

5

С кодом Вы писали:

data(cgps) 
data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge)) 
mRMR.ensemble(data, 1, rep.int(1, 30)) 

Функция mRMR.ensemble получает данные в качестве первого параметра, но первый параметр по умолчанию в этой функции solution_count.

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

data(cgps) 
data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge)) 
mRMR.ensemble(data = data, target_indices = 1, 
       feature_count = 30, solution_count = 1) 

В target_indices являются позициями в оригинальном data.frame функций, используемых для максимизации релевантности (корреляции или другой меры качества для этой проблемы), поэтому функции, выбранные в конце, будут полезны для объяснения функций, указанных в target_indices. Например, в проблеме классификации мы выбрали бы позицию переменной класса как значение для параметра target_indices.

Параметр feature_count указывает количество переменных, которые нужно выбрать.

Решение_count не является параметром классического mRMR. Он указывает количество алгоритмов mRMR, которые должны быть собраны для получения окончательного выбора функции, поэтому, если он установлен в 1, он выполняет только один классический mRMR.

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

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