[Guisseppe sent me the files].

The issue is your training file.

As the manual page states:


"The user provides a set of objects (or segments) to be classified, including all feature variables describing these object, and a set of objects to be used as training data, including the same feature variables as those describing the unknown objects, plus one additional column indicating the class each training falls into. The training data can, but does not have to be, a subset of the set of objects to be classified."

IOW, the training data file has to contain the same feature variables as the data you wish to classify.

Your data is:

$ head -1 segmentation_map.csv
cat,area,perimeter,compact_circle,fd

$ head -1 training_map.csv
cat,id,cate

i.e. you training data only includes the id and the class, but not the variables describing the objects.

The reason this is organised in this manner is that you might have training data which is independent of the data you wish to classify, i.e. the ids of the training data might not be linked to the ids in the object data.

Another issue is that in your command, you do not provide a good name for the column that contains the actual class label in the training data:

v.class.mlR segments_map=gbbb@PERMANENT training_map=tainning@PERMANENT train_class_column=fd [...]

v.class.mlR segments_map=gbbb training_map=tainning train_class_column=class [...]

Your training data does not contain a column 'fd' nor a column 'class'. I suppose that in your data it is the column 'cate'.

Moritz

On 4/12/19 10:38, Moritz Lennert wrote:
Sorry for ignoring you up to now, just to much on the platter right now.

Would it be feasible for you to make the data available, privately if
necessary ? The easiest (and lightest) would be just the csv output of
v.db.select on the training_map and the segments_maps.

Moritz

On 2/12/19 16:31, Giuseppe Cillis wrote:
No one can help me?
GC

Il giorno mer 20 nov 2019 alle ore 14:06 Giuseppe Cillis
<[email protected] <mailto:[email protected]>> ha scritto:

     Thanks for the answer._
     _
     _
     _
     _v.class.mlR segments_map=gbbb@PERMANENT
     training_map=tainning@PERMANENT train_class_column=fd
     output_class_column=vote output_prob_column=prob folds=5
     partitions=10 tunelength=10 weighting_metric=accuracy_

     _and the same error with this command:
     _
     _v.class.mlR segments_map=gbbb training_map=tainning
     train_class_column=class weighting_mode=smv,swv,qbwwv -i_

     The vector used was elaborated with i.segment.stats module.
     An extract is here:
     cat        area    perimeter       fd
     1  958     208     1.555034
     2  24      22      1.945217
     3  160     80      1.726846
     4  2036    242     1.440904
     5  25      26      2.024344
     6  222     96      1.68966
     7  8435    1012    1.530879


     /cat /type Integer (9-0)
     /fd /type double/real (25-9)
     For the training area (t/ainning/), I use a simple vector with
     numerical categories (named/"cate"/) and there are 11 features (just
     for a trying). The type is in integer64 (10)

     Il giorno mer 20 nov 2019 alle ore 12:18 Moritz Lennert
     <[email protected] <mailto:[email protected]>>
     ha scritto:

         On 20/11/19 11:55, Giuseppe Cillis wrote:
          > Hi,
          > I'm trying to use this module for classification of an old
         aerial photos.
          > After a segmentation (i.segment and i.segment.stats), I would
         to use a
          > machine learning approach for the real classification.
          > I tried with v.class.mIR which use also R.
          > But there is an error and I don't know how to solve it:
          > */Durante l'avvio - Warning messages:
          > 1: Setting LC_CTYPE=it_IT.cp1252 failed
          > 2: Setting LC_COLLATE=it_IT.cp1252 failed
          > 3: Setting LC_TIME=it_IT.cp1252 failed
          > 4: Setting LC_MONETARY=it_IT.cp1252 failed
          > Carico il pacchetto richiesto: caret
          > Carico il pacchetto richiesto: lattice
          > Carico il pacchetto richiesto: ggplot2
          > Error in `$<-.data.frame`(`*tmp*`, fd, value = integer(0)) :
          >    replacement has 0 rows, data has 11
          > Calls: $<- -> $<-.data.frame/*
          > */
          > /*
          > A part is in italian, I'm sorry.
          > I'm a beginner in grass and R.

         R messages are often not very explicit, unfortunately.

         Could you provide us with the exact command line you use (If you
         use the
         GUI, you can get the command line by clicking the 'Copy' button
         once
         you've filled out all the parameters, or in the history of the
         'Console'
         in the Layer manager.) and an extract of the attribute data you
         feed
         into the module ?

         Moritz


_______________________________________________
grass-user mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-user



_______________________________________________
grass-user mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-user



_______________________________________________
grass-user mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to