我正在通过R中的插入符包运行多层感知模型。代码是:
LR_fitcontrol <- trainControl(method='cv',
number=2,
classProbs = T,
summaryFunction = twoClassSummary,
savePredictions = T)
Sys.time()
para.grid <-data.frame(size= c(10))
KNN_fit <- train(LR_formula_tune,data=model_data_Classification,
method="mlp",
metric='ROC',
preProc = c('center','scale'),
tuneGrid = para.grid,
trControl= LR_fitcontrol
)
我收到的警告。
1: In snnsObject$setUnitName(num, iNames[[i]]) :
SNNS error message in setUnitName : SNNS-Kernel Error: Symbol pattern invalid (must match [A-Za-z][^|, ]*)
有16个类似的警告。
我通过插入符号在此数据集上运行了许多其他模型,如RF,KNN,Logistic,Naive Bayes。所以我想这个数据集很好。
当然,我用Google搜索了这个错误,根本没有类似的结果。我认为需要一些帮助。谢谢!
答案 0 :(得分:0)
我遇到了同样的问题。正如警告告诉您使用的符号有问题。就我而言,它是一个名为'03Prüfen'的因子级别。为了避免警告,我将因子级别更改为“03Pruefen”,这解决了问题。所以你应该避免像'äöü'等特殊字符。检查您的数据。由于我不知道您的数据是什么样的,我无法告诉您问题究竟在哪里。
工作示例:
library(caret)
library(RSNNS)
data(iris) #load example-data
iris$ExampleFeature <- as.factor(c(rep("01Blümchen", 50), rep("02Blume", 50), rep("03Blöme", 50))) #add factor with problematic factor level names
# Define trainControl #
control <- trainControl(method='cv',
number=2,
classProbs = TRUE,
savePredictions = "final")
# Start training which will create warnings #
KNN_fit <- train(Species~.,
data=iris,
method="mlp",
metric='Accuracy',
preProc=c('center','scale'),
trControl=control
)
# Change factor level names and re-run training #
levels(iris$ExampleFeature) <- c("01Bluemchen","02Blume","03Bloeme")
KNN_fit <- train(Species~.,
data=iris,
method="mlp",
metric='Accuracy',
preProc=c('center','scale'),
trControl=control
)
此外:当我在带有RStudio的Windows笔记本电脑上运行代码时,不会发出警告。它只出现在我在CentOS上运行的RStudio-Server上。