[GRASS-user] v.class.mlR Error in data.frame : arguments imply differing number of rows
Moritz Lennert
mlennert at club.worldonline.be
Mon Apr 15 07:06:17 PDT 2019
Hi Jamille,
On 15/04/19 14:49, Jamille Haarloo wrote:> Dear Moritz and other Grass-
users and developers,
>
> I tried dealing with the error myself by changing predicted <-
> data.frame(predict(models.cv <http://models.cv>, features)) into
> predicted <- data.frame(predict(models.cv <http://models.cv>, features,
> na.action = na.exclude)), based on discussions online implying some
> predictions might be invalid NaN values. I checked the script output to
> see if this change was implemented and it was, but I get the same error.
> Any suggestions what to try next?>
> ------------------------------
> v.class.mlR -i --overwrite segments_map=nvSegW24IDM4DV4 at LUP1
> training_map=TrainingApril2019 at LUP1 train_class_column=class_code
> output_class_column=output_class output_prob_column=probability
> classifiers=svmLinear,rf,xgbTree folds=5 partitions=10 tunelength=10
> weighting_modes=bwwv,qbwwv weighting_metric=accuracy
>
classification_results=C:\Users\haarlooj\Documents\CELOS\v.class.mlr_outputapril2019\results_all_classifiers
>
accuracy_file=C:\Users\haarlooj\Documents\CELOS\v.class.mlr_outputapril2019\accuracy_classifiers
>
model_details=C:\Users\haarlooj\Documents\CELOS\v.class.mlr_outputapril2019\details_classifier_module_runs
>
bw_plot_file=C:\Users\haarlooj\Documents\CELOS\v.class.mlr_outputapril2019\box-whicker_classifier_performance
>
r_script_file=C:\Users\haarlooj\Documents\CELOS\v.class.mlr_outputapril2019\R_script4
> processes=3
Normally, there should be no NA in the features as there is a line:
features <- na.omit(features)
early in the R script. Can you see it in the R_script4 file ?
> Running R now. Following output is R output.
> During startup - Warning messages:
> 1: Setting LC_CTYPE=en_US.cp1252 failed
> 2: Setting LC_COLLATE=en_US.cp1252 failed
> 3: Setting LC_TIME=en_US.cp1252 failed
> 4: Setting LC_MONETARY=en_US.cp1252 failed
> Loading required package: caret
> Loading required package: lattice
> Loading required package: ggplot2
> Warning messages:
> 1: package 'caret' was built under R version 3.5.3
> 2: package 'ggplot2' was built under R version 3.5.3
> Loading required package: foreach
> Loading required package: iterators
> Loading required package: parallel
> Warning messages:
> 1: package 'doParallel' was built under R version 3.5.3
> 2: package 'foreach' was built under R version 3.5.3
> 3: package 'iterators' was built under R version 3.5.3
> During startup - Warning messages:
> 1: Setting LC_CTYPE=en_US.cp1252 failed
> 2: Setting LC_COLLATE=en_US.cp1252 failed
> 3: Setting LC_TIME=en_US.cp1252 failed
> 4: Setting LC_MONETARY=en_US.cp1252 failed
> During startup - Warning messages:
> 1: Setting LC_CTYPE=en_US.cp1252 failed
> 2: Setting LC_COLLATE=en_US.cp1252 failed
> 3: Setting LC_TIME=en_US.cp1252 failed
> 4: Setting LC_MONETARY=en_US.cp1252 failed
> During startup - Warning messages:
> 1: Setting LC_CTYPE=en_US.cp1252 failed
> 2: Setting LC_COLLATE=en_US.cp1252 failed
> 3: Setting LC_TIME=en_US.cp1252 failed
> 4: Setting LC_MONETARY=en_US.cp1252 failed
> Error in data.frame(id = rownames(features), predicted) :
> arguments imply differing number of rows: 17851, 17849
> Execution halted
IDs are taken from the features and for some reasons there are two
features which do not have a prediction. It might help if you could find
out why.
I cannot test right now, but you might want to check if you can replace
ids <- rownames(features)
with something like
ids <- rownames(predicted)
?
Moritz
More information about the grass-user
mailing list