2016-09-21 3 views
0

Im пытается увеличить предел параметра испытаний, который в настоящее время установлен в 100 в пакете C50. Я попытался сделать это с помощью исправления.Как изменить существующую функцию от функции?

library(C50) 
data(churn) 
fix(C5.0.default) # i change the maxtrials <- 200 
treeModel <- C5.0(x = churnTrain[, -20], y = churnTrain$churn, trials = 150) 

Тогда я получаю следующее сообщение об ошибке при испытаниях менее чем 200.

could not find function "makeNamesFile" 

перезапустить R, а затем попробуйте использовать fixInNamespace и изменил испытания на 200.

fixInNamespace("C5.0.default", pos="package:C50")  
treeModel <- C5.0(x = churnTrain[, -20], y = churnTrain$churn, trials = 150) 

The модель работает для испытаний ниже 100, но дает следующую ошибку для испытаний выше 100. Это стандартная ошибка, которую C5.0 дает, когда пользователь вводит испытания выше 100.

number of boosting iterations must be between 1 and 100 

Я хочу увеличить количество испытаний (повышение) для модели C5. Как мне это сделать? Это может быть ограничение реализации, но поскольку xgboost может обрабатывать более 100 ускорений итераций, для C5 может быть способ справиться с этим.

Я могу увеличить итерацию до более чем 100 с помощью исправления. Но дело в том, что мне нужно запустить все R-скрипты, которые находятся в исходной версии пакета C50. Что я могу сделать, чтобы этого избежать. Я попытался установить пакет C50 из источника и попробовал, но он не сработал.

+0

Могу ли я узнать, откуда у вас «пакет CS50»? –

+0

Пожалуйста, объясните, что означает «does not [sic!] Work». 'fixInNamespace (" C5.0.default ", pos =" package: C50 ")' отлично работает в моей системе. – Roland

+0

https://stackoverflow.com/questions/24017429/c5-0-number-of-boosting-iterations-stops-early/36050855#36050855 – AidanGawronski

ответ

0

Я мог бы получить более 100 трасс, изменив исходный код от this. Вам нужно указать R-файлы, затем вы можете изменить значение по умолчанию для трейлов, чтобы получить более 100 проб.

# Allow for more than 100 Boosting 
setwd('Path to R files') 
files <- list.files(pattern = "\\.R$") 
lapply(files, source) 
fix(C5.0.default) 
Смежные вопросы