Changeset 34800


Ignore:
Timestamp:
2021-02-02T23:36:58+13:00 (3 years ago)
Author:
davidb
Message:

Perform Arousal and Valence prediction at the same time

Location:
main/trunk/model-sites-dev/mars
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/model-sites-dev/mars/src/java/org/greenstone/mars/WekaUtil.java

    r34797 r34800  
    3838    if (args.length != 2) {
    3939        System.err.println("Error: incorrect number of command-line arguments");
    40         System.err.println("Usage: input_training_data.arff output-model.{model|ser}");
     40        System.err.println("Usage: input_training_data.arff output-serialized.model");
    4141        System.exit(1);
    4242    }
     
    4848        if (args.length != 3) {
    4949        System.err.println("Error: incorrect number of command-line arguments");
    50         System.err.println("Usage: trained-model.{model|ser} unclassified-data.{arff|csv} classified-data.{arff|csv}");
    51         System.exit(1);
    52     }
    53     }
    54    
     50        System.err.println("Usage: trained-serialized.model unclassified-data.{arff|csv} classified-data.{arff|csv}");
     51        System.exit(1);
     52    }
     53    }
     54
     55    public static void checkUsageApplyAVModels(String[] args)
     56    {
     57        if (args.length != 4) {
     58        System.err.println("Error: incorrect number of command-line arguments");
     59        System.err.println("Usage: arousal-serialized.model valence-serialized.model unclassified-data.{arff|csv} classified-data.{arff|csv}");
     60        System.exit(1);
     61    }
     62    }
     63
    5564    public static Instances applyFilter(Instances data_instances, String additional_remove)
    5665    {
     
    246255    {
    247256    Instances filtered_unlabeled_instances = null;
    248 
    249        
    250     // Work out if we're dealing with a ground-truth ARFF file or not
    251     // (i.e. already has the desired attribute)
    252 
    253     //Attribute predict_attribute = unlabeled_instances.attribute(predict_attribute_name);
    254 
     257       
    255258    if (!has_groundtruth_data) {
    256259
    257         filtered_unlabeled_instances = WekaUtil.applyFilter(unlabeled_instances,null); // no additional top-up to remove       
     260        filtered_unlabeled_instances = applyFilter(unlabeled_instances,null); // no additional top-up to remove     
    258261        int num_attributes = filtered_unlabeled_instances.numAttributes();
    259262       
     
    270273       
    271274        // Need to massage instances into same form as an unclassified data input file
    272         filtered_unlabeled_instances = WekaUtil.applyFilter(unlabeled_instances,additional_attribute_remove);
     275        filtered_unlabeled_instances = applyFilter(unlabeled_instances,additional_attribute_remove);
    273276       
    274277        // reference share this as 'groundtruth_instances' to trigger error calculation and output
     
    282285    filtered_unlabeled_instances.setClassIndex(num_attributes - 1);
    283286   
    284     // ***** Do I still want to run the check????
    285     WekaUtil.checkDatasetInstancesCompatible(filtered_unlabeled_instances, additional_attribute_remove);
    286    
    287287    return filtered_unlabeled_instances;
     288    }
     289
     290    public static void appendUnclassifiedAttribute(Instances data_instances, String predict_attribute_name)
     291    {
     292    Instances filtered_unlabeled_instances = null;
     293       
     294    int num_attributes = data_instances.numAttributes();
     295       
     296    Attribute new_predict_attribute = new Attribute(predict_attribute_name);
     297    data_instances.insertAttributeAt(new_predict_attribute,num_attributes);
     298    num_attributes++;       
     299
     300    // Set class attribute
     301    data_instances.setClassIndex(num_attributes - 1);
    288302    }
    289303
     
    328342    return labeled_instances;
    329343    }
    330    
     344
     345
     346    // https://waikato.github.io/weka-wiki/formats_and_processing/save_instances_to_arff/
    331347}
Note: See TracChangeset for help on using the changeset viewer.