PDS4 Local Data Dictionary Processing Report

Configuration:
   LDDTool Version        15.2.2
   LDD Version Id:        1.2.1.1
   LDD Label Version Id:  1.0
   LDD Discipline (T/F):  true
   LDD Namespace URL:     http://pds.nasa.gov/pds4/
   LDD URN Prefix:        urn:nasa:pds:
   Time                   Mon Nov 18 19:17:35 UTC 2024
   Common Schema          [PDS4_PDS_1N00.xsd]
   Common Schematron      [PDS4_PDS_1N00.sch]
   IM Version Id:         1.23.0.0
   IM Namespace Id:       pds
   IM Label Version Id:   1.0
   IM Object Model        [UpperModel.pont]
   IM Data Dictionary     [dd11179.pins]
   IM Glossary            [Glossary.pins]
   IM Document Spec       [DMDocument.pins]

Parameters:
   Input File             [/home/runner/work/ldd-ml/ldd-ml/src/PDS4_ML_IngestLDD.xml]
   PDS Processing         true
   LDD Processing         true
   Discipline LDD         true
   Mission LDD            false
   Write Attr Elements    false
   Merge with Master      false

Summary:
   Classes                19
   Attributes             35
   Associations           59
   Error messages         0
   Warning messages       0
   Information messages   0

Detailed validation messages

Parsed Input - Header:
   LDD Name               Machine Learning Analysis
   LDD Version            1.2.1.1
   Full Name              Sara A. Bond
   Steward                img
   Namespace Id           ml
   Comment                This data dictionary enables the specification of metadata that
    describes products generated by the use of a machine learning
    model.  It captures information about how the model was trained
    and evaluated. 
  
    ## CHANGE LOG ##

    1.2.1.1 
    -Clean up defitions of classes and attributes for clarity and grammar. Update User's guide to include new classes and
    attributes. 
    1.2.1.0
    -Create new parameter classes for Optimiztaion Algorithm, Preprocessing Method, Augmentation Method, and Calibration Method. 
    -Update minimum and maximum occurences for several classes and attributes.
    
    1.2.0.0
    - Add several new classes: Optimization Algorithm; Augmentation Method; 
        Preprocessing Method; Trained Model Hyperparameter; 
        Trained Model Architecture; Calibration Method; Trained Model File.
    - Add trained_model_creation_date attribute to Trained Machine Learning Model class.
    - Add trained_model_objective_function_name and trained_model_objective_function_description to 
        Machine Learning Algorithm class. 
        
    1.1.0.0
    - Change data_set_size to data_set_count.
    - Expand attribute definitions.
    - Update steward name.
    
    1.0.1.0
    - Address Oxygen-flagged errors.
    - Make data_set_size a ASCII_NonNegative_Integer.
    - Update some attribute and class definitions.
    - Update README file per latest template.
    - Use PDS Information Model 1.18 (I).

    1.0.0.0
    - Initial release.
  
   Last Modification Time 2022-06-30
   PDS4 Merge Flag        false

Parsed Input - Attributes:

   name                   data_set_count
   version                1.23
   value data type        ASCII_NonNegative_Integer
   description            The data_set_count attribute provides the number of items in the data set.
   minimum value          1

   name                   data_set_version_id
   version                1.23
   value data type        ASCII_VID
   description            The data_set_version_id attribute specifies the data set version number.

   name                   augmentation_method_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The augmentation_method_name attribute names any method by which an image was augmented, e.g. 180 degrees counterclockwise rotation; horizontal flipping; brightness adjustment.
   nillable               true

   name                   augmentation_method_description
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The augmentation_method_description attribute describes the augmentation method in more detail.
   nillable               true

   name                   augmentation_method_parameter
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The augmentation_method_parameter attribute names any parameters, e.g. gamma.
   nillable               true

   name                   augmentation_method_parameter_value
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The augmentation_method_parameter_value attribute specifies the value of the named parameter, e.g. for a parameter "gamma," the value could be [0.5, 1.5].
   nillable               true

   name                   preprocessing_method_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The preprocessing_method_name attribute names any method by which an image was preprocessed, e.g. center cropping.
   nillable               true

   name                   preprocessing_method_description
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The preprocessing_method_description attribute describes the preprocessing method in more detail.
   nillable               true

   name                   preprocessing_method_parameter
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The preprocessing_method_parameter attribute names any preprocessing parameters.
   nillable               true

   name                   preprocessing_method_parameter_value
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The preprocessing_method_parameter_value attribute specifies the value of the named preprocessing parameter.
   nillable               true

   name                   algorithm_learning_style
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The algorithm_learning_style attribute describes the type of learning style employed by the algorithm to solve a problem. Specifically, the learning style depends on whether labeled or unlabeled data was employed to train the model. Labeled data includes observations that are associated with a desired output such as a class or numeric value.

   name                   algorithm_type
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The algorithm_type attribute describes the kind of algorithm used, such as a regression model, neural network, tree, etc.

   name                   algorithm_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The algorithm_name attribute specifies the name of the algorithm used.

   name                   trained_model_objective_function_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The trained_model_objective_function_name attribute specifies the name of the objective function used.

   name                   trained_model_objective_function_description
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The trained_model_objective_function_description attribute describes the objective function used.

   name                   performance_measure
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The performance_measure attribute specifies the name of the measure (or metric) used to report performance of the model on the test set.

   name                   performance_score
   version                1.23
   value data type        ASCII_Real
   description            The performance_score attribute reports the numeric score the model achieved using performance_measure on the test set. Values are not constrained since the measure may not be a strict metric. Examples could include accuracy, loss, runtime, memory consumption, etc.

   name                   trained_model_version_id
   version                1.23
   value data type        ASCII_VID
   description            The trained_model_version_id attribute specifies the trained model version number.

   name                   trained_model_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The trained_model_name attribute specifies the name of the model used.

   name                   trained_model_creation_date
   version                1.23
   value data type        ASCII_Date_YMD
   description            The trained_model_creation_date attribute specifies the date that the model was created, in Year/Month/Day format.

   name                   optimization_algorithm_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The optimization_algorithm_name attribute specifies the name of the operation algorithm, e.g. "stochastic gradient descent."

   name                   optimization_algorithm_description
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The optimization_algorithm_description attribute specifies any additional details about the optimization algorithm.

   name                   optimization_algorithm_parameter
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The optimization_algorithm_parameter attribute specifies the name of a parameter used, e.g. "conv1 learning rate," or "weight decay."

   name                   optimization_algorithm_parameter_value
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The optimization_algorithm_parameter_value attribute specifies the value of the named parameter, e.g. for a parameter "conv1 learning rate," the value could be "0.001."

   name                   trained_model_hyperparameter_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The trained_model_hyperparameter_name attribute specifies the name of the hyperparameter, e.g. "batch size," "normalization method," "number of epochs," "conv1 dropout rate," "conv2 dropout rate."

   name                   trained_model_hyperparameter_value
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The trained_model_hyperparameter_value attribute specifies the value of the hyperparameter named, e.g."z-score" for normalization method, "100" for "number of epochs."

   name                   trained_model_architecture_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The trained_model_architecture_name attribute specifies the name of the architecture, e.g. "MSLNet."

   name                   trained_model_architecture_version_id
   version                1.23
   value data type        ASCII_VID
   description             The trained_model_architecture_version_id attribute specifies the architecture version number.

   name                   trained_model_architecture_description
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The trained_model_architecture_description attribute specifies any additional details about the architecture.

   name                   calibration_method_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The calibration_method_name attribute specifies the name of the calibration used, e.g. "temperature scaling."

   name                   calibration_method_description
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The calibration_method_description attribute specifies any additional details about the calibration method used.

   name                   calibration_method_parameter
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The calibration_method_parameter attribute specifies the name of the parameter used, e.g. "temperature."

   name                   calibration_method_parameter_value
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The calibration_method_parameter_value attribute sepcifies the value of the named parameter, e.g. for a parameter "temperature," the value could be "1.31."

   name                   trained_model_file_name
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The trained_model_file_name attribute specifies the name of the trained model file.

   name                   trained_model_file_description
   version                1.23
   value data type        ASCII_Short_String_Collapsed
   description            The trained_model_file_description attribute specifies any additional details about the trained model file, e.g. the file format.

Parsed Input - Classes:

   name                   Data_Set
   description            The Data_Set class is the container for classes and attributes describing the count, version, augmentation method, and preprocessing methods of data sets used by the machine learning model.
   is abstract            true
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:data_set_version_id
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:data_set_count
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:Augmentation_Method
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Augmentation_Method_Parameter
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Preprocessing_Method
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Preprocessing_Method_Parameter
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

   name                   Training_Set
   description            The Training_Set class belongs to the Data_Set class family and contains attributes that describe the size and version of the data set used to train the machine learning model.
   is abstract            false
   is choice              false
   subclass of            Data_Set

   Associations

      local identifier      ml:Data_Set
      minimum occurrences   1
      maximum occurrences   1
      reference type        parent_of

   name                   Validation_Set
   description            The Validation_Set class belongs to the Data_Set class family and contains attributes that describe the size and version of the data set used to validate the machine learning model (e.g., to choose the best hyperparameters).
   is abstract            false
   is choice              false
   subclass of            Data_Set

   Associations

      local identifier      ml:Data_Set
      minimum occurrences   1
      maximum occurrences   1
      reference type        parent_of

   name                   Test_Set
   description            The Test_Set class belongs to the Data_Set class family and contains attributes describing the size and version of the data set used to test the machine learning model (i.e., in terms of generalization to previously unseen data).
   is abstract            false
   is choice              false
   subclass of            Data_Set

   Associations

      local identifier      ml:Data_Set
      minimum occurrences   1
      maximum occurrences   1
      reference type        parent_of

   name                   Augmentation_Method
   description            The Augmentation_Method class contains information about a data set's augmentation method, including name and description.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:augmentation_method_name
      minimum occurrences   1
      maximum occurrences   *
      reference type        attribute_of

      local identifier      ml:augmentation_method_description
      minimum occurrences   1
      maximum occurrences   *
      reference type        attribute_of

   name                   Augmentation_Method_Parameter
   description            The Augmentation_Method_Parameter class contains information about a data set's parameters, including their names and associated values.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:augmentation_method_parameter
      minimum occurrences   0
      maximum occurrences   *
      reference type        attribute_of

      local identifier      ml:augmentation_method_parameter_value
      minimum occurrences   0
      maximum occurrences   *
      reference type        attribute_of

   name                   Preprocessing_Method
   description            The Preprocessing_Method class contains information about a data set's preprocessing method.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:preprocessing_method_name
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:preprocessing_method_description
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

   name                   Preprocessing_Method_Parameter
   description            The Preprocessing_Method_Parameter class contains information about a data set's preprocessing method parameters, including their names and associated values.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:preprocessing_method_parameter
      minimum occurrences   0
      maximum occurrences   *
      reference type        attribute_of

      local identifier      ml:preprocessing_method_parameter_value
      minimum occurrences   0
      maximum occurrences   *
      reference type        attribute_of

   name                   Test_Performance
   description            The Test_Performance class contains information about a trained model's performance on the test set.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:performance_measure
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:performance_score
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

   name                   Trained_Machine_Learning_Model
   description            The Trained_Machine_Learning_Model class is a container for information about how a given model was trained and evaluated. Machine_Learning_Algorithm, Training_Set, Optimization_Algorithm, Optimization_Algorithm_Parameter, Trained_Model_Hyperparameter, and Trained_Model_File are required, while Validation_Set, Test_Set, Test_Performance, Trained_Model_Architecture, Calibration_Method, and Calibration_Method_Parameter are optional. 
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:trained_model_version_id
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:trained_model_name
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:trained_model_creation_date
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:Machine_Learning_Algorithm
      minimum occurrences   1
      maximum occurrences   1
      reference type        component_of

      local identifier      ml:Training_Set
      minimum occurrences   1
      maximum occurrences   1
      reference type        component_of

      local identifier      ml:Validation_Set
      minimum occurrences   0
      maximum occurrences   1
      reference type        component_of

      local identifier      ml:Test_Set
      minimum occurrences   0
      maximum occurrences   1
      reference type        component_of

      local identifier      ml:Test_Performance
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Optimization_Algorithm
      minimum occurrences   1
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Optimization_Algorithm_Parameter
      minimum occurrences   1
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Trained_Model_Hyperparameter
      minimum occurrences   1
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Trained_Model_Architecture
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Calibration_Method
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Calibration_Method_Parameter
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

      local identifier      ml:Trained_Model_File
      minimum occurrences   1
      maximum occurrences   *
      reference type        component_of

   name                   Machine_Learning_Algorithm
   description            The Machine_Learning_Algorithm class is a container for classes and and attributes describing the algorithm type and learning style used. An external reference to a citation for the algorithm is required.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:algorithm_learning_style
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:algorithm_type
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:algorithm_name
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:trained_model_objective_function_name
      minimum occurrences   0
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:trained_model_objective_function_description
      minimum occurrences   0
      maximum occurrences   1
      reference type        attribute_of

      local identifier      pds.External_Reference
      minimum occurrences   1
      maximum occurrences   *
      reference type        component_of

   name                   Optimization_Algorithm
   description            The Optimization_Algorithm class describes the optimization algorithm used, including name and description.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:optimization_algorithm_name
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:optimization_algorithm_description
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

   name                   Optimization_Algorithm_Parameter 
   description            The Optimization_Algorithm_Parameter class describes the optimization algorithm parameters used, including their names and associated values.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:optimization_algorithm_parameter
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:optimization_algorithm_parameter_value
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

   name                   Trained_Model_Hyperparameter
   description            The Trained_Model_Hyperparameter class describes the trained model hyperparameters, including their names and associated values.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:trained_model_hyperparameter_name
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:trained_model_hyperparameter_value
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

   name                   Trained_Model_Architecture
   description            The Trained_Model_Architecture class describes the trained model architecture. An internal reference to the architecture is optional.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:trained_model_architecture_name
      minimum occurrences   1
      maximum occurrences   *
      reference type        attribute_of

      local identifier      ml:trained_model_architecture_version_id
      minimum occurrences   1
      maximum occurrences   *
      reference type        attribute_of

      local identifier      ml:trained_model_architecture_description
      minimum occurrences   1
      maximum occurrences   *
      reference type        attribute_of

      local identifier      pds.Internal_Reference
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

   name                   Calibration_Method
   description            The Calibration_Method class describes the Calibration Method. An external reference to a citation, such as a DOI, is optional.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:calibration_method_name
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:calibration_method_description
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      pds.External_Reference
      minimum occurrences   0
      maximum occurrences   *
      reference type        component_of

   name                   Calibration_Method_Parameter
   description            The Calibration_Method_Parameter class describes the Calibration Method parameters, including their names and associated values. 
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:calibration_method_parameter
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:calibration_method_parameter_value
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

   name                   Trained_Model_File
   description            The Trained_Model_File class describes the trained model file. An external reference for the trained model file is required.
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:trained_model_file_name
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      ml:trained_model_file_description
      minimum occurrences   1
      maximum occurrences   1
      reference type        attribute_of

      local identifier      pds.External_Reference
      minimum occurrences   1
      maximum occurrences   *
      reference type        component_of

   name                   Machine_Learning
   description            The Machine_Learning class is a container for all machine learning information in the label. 
   is abstract            false
   is choice              false
   subclass of            USER

   Associations

      local identifier      ml:Trained_Machine_Learning_Model
      minimum occurrences   1
      maximum occurrences   *
      reference type        component_of

End of Report
