[英]neuralnet,caret and cross validation
I have a very large dataset with 36 features which includes 6 output columns. 我有一个非常庞大的数据集,包含36个要素,其中包括6个输出列。 I am trying to carry out a MLP backpropagation neural network learning (Regression) in this data set and I am using neuralnet and caret.
我正在尝试在此数据集中进行MLP反向传播神经网络学习(回归),并且正在使用Neuronet和插入符号。 I want two hidden layer with 6 and 5 nodes in each layer.
我想要两个隐藏层,每个层有6和5个节点。 I also want to add k fold cross validation to my NN model
我也想向我的NN模型添加k倍交叉验证
control <- trainControl(method="repeatedcv", number=5, repeats=1)
# train the model
model <- train(X,Y, method="neuralnet",
algorithm = "backprop", learningrate = 0.25,act.fct = 'tanh',
tuneGrid = data.frame(layer1 = 2:6, layer2 = 2:6, layer3 = 0),threshold = 0.1, trControl=control)
warnings()
where are X and Y are feature and predictor data frame respectively X和Y分别是特征数据帧和预测数据帧
but its giving error and warning 但它给出错误和警告
Error in train.default(X, Y, method = "neuralnet", algorithm = "backprop", :
wrong model type for classification
> warnings()
Warning messages:
1: In eval(expr, envir, enclos) :
model fit failed for Resample01: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
2: In eval(expr, envir, enclos) :
model fit failed for Resample02: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
3: In eval(expr, envir, enclos) :
model fit failed for Resample03: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
4: In eval(expr, envir, enclos) :
model fit failed for Resample04: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
5: In eval(expr, envir, enclos) :
model fit failed for Resample05: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
6: In eval(expr, envir, enclos) :
model fit failed for Resample06: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
7: In eval(expr, envir, enclos) :
model fit failed for Resample07: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
8: In eval(expr, envir, enclos) :
model fit failed for Resample08: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
9: In eval(expr, envir, enclos) :
model fit failed for Resample09: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
10: In eval(expr, envir, enclos) :
model fit failed for Resample10: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
11: In eval(expr, envir, enclos) :
model fit failed for Resample11: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
12: In eval(expr, envir, enclos) :
model fit failed for Resample12: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
13: In eval(expr, envir, enclos) :
model fit failed for Resample13: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
14: In eval(expr, envir, enclos) :
model fit failed for Resample14: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
15: In eval(expr, envir, enclos) :
model fit failed for Resample15: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
16: In eval(expr, envir, enclos) :
model fit failed for Resample16: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
17: In eval(expr, envir, enclos) :
model fit failed for Resample17: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
18: In eval(expr, envir, enclos) :
model fit failed for Resample18: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
19: In eval(expr, envir, enclos) :
model fit failed for Resample19: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
20: In eval(expr, envir, enclos) :
model fit failed for Resample20: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
21: In eval(expr, envir, enclos) :
model fit failed for Resample21: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
22: In eval(expr, envir, enclos) :
model fit failed for Resample22: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
23: In eval(expr, envir, enclos) :
model fit failed for Resample23: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
24: In eval(expr, envir, enclos) :
model fit failed for Resample24: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
25: In eval(expr, envir, enclos) :
model fit failed for Resample25: layer1=4, layer2=1, layer3=1 Error in if (reached.threshold < min.reached.threshold) { :
missing value where TRUE/FALSE needed
26: In nominalTrainWorkflow(x = x, y = y, wts = weights, info = trainInfo, ... :
There were missing values in resampled performance measures.
You can use do a cross-validation manually, if you don't mind, with the "neuralnet" package. 如果您不介意,可以将“交叉验证”与“ neuralnet”软件包一起使用。 Here is an example: https://www.r-bloggers.com/fitting-a-neural-network-in-r-neuralnet-package/ , in the "A (fast) cross validation" section.
这是一个示例: https : //www.r-bloggers.com/fitting-a-neural-network-in-r-neuralnet-package/中的“ A(快速)交叉验证”部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.