# MlModel
This schema defines the Model entity. Models are algorithms trained on data to find patterns or make predictions.
**$id:**[**https://open-metadata.org/schema/entity/data/mlmodel.json**](https://open-metadata.org/schema/entity/data/mlmodel.json)
Type: `object`
This schema does not accept additional properties.
## Properties
 - **id** `required`
	 - Unique identifier of an ML Model instance.
	 - $ref: [../../type/basic.json#/definitions/uuid](../types/basic.md#uuid)
 - **name** `required`
	 - Name that identifies this ML Model.
	 - Type: `string`
	 - Length: between 1 and 128
 - **fullyQualifiedName**
	 - A unique name that identifies an ML Model.
	 - Type: `string`
	 - Length: between 1 and 256
 - **displayName**
	 - Display Name that identifies this ML Model.
	 - Type: `string`
 - **description**
	 - Description of the ML Model, what it is, and how to use it.
	 - Type: `string`
 - **algorithm** `required`
	 - Algorithm used to train the ML Model.
	 - Type: `string`
 - **mlFeatures**
	 - Features used to train the ML Model.
	 - Type: `array`
		 - **Items**
		 - $ref: [#/definitions/mlFeature](#mlfeature)
 - **mlHyperParameters**
	 - Hyper Parameters used to train the ML Model.
	 - Type: `array`
		 - **Items**
		 - $ref: [#/definitions/mlHyperParameter](#mlhyperparameter)
 - **target**
	 - For supervised ML Models, the value to estimate.
	 - $ref: [#/definitions/featureName](#featurename)
 - **dashboard**
	 - Performance Dashboard URL to track metric evolution.
	 - $ref: [../../type/entityReference.json](../types/entityreference.md)
 - **mlStore**
	 - Location containing the ML Model. It can be a storage layer and/or a container repository.
	 - $ref: [#/definitions/mlStore](#mlstore)
 - **server**
	 - Endpoint that makes the ML Model available, e.g,. a REST API serving the data or computing predictions.
	 - $ref: [../../type/basic.json#/definitions/href](../types/basic.md#href)
 - **href**
	 - Link to the resource corresponding to this entity.
	 - $ref: [../../type/basic.json#/definitions/href](../types/basic.md#href)
 - **owner**
	 - Owner of this ML Model.
	 - $ref: [../../type/entityReference.json](../types/entityreference.md)
 - **followers**
	 - Followers of this ML Model.
	 - $ref: [../../type/entityReference.json#/definitions/entityReferenceList](../types/entityreference.md#entityreferencelist)
 - **tags**
	 - Tags for this ML Model.
	 - Type: `array`
		 - **Items**
		 - $ref: [../../type/tagLabel.json](../types/taglabel.md)
 - **usageSummary**
	 - Latest usage information for this ML Model.
	 - $ref: [../../type/usageDetails.json](../types/usagedetails.md)
 - **version**
	 - Metadata version of the entity.
	 - $ref: [../../type/entityHistory.json#/definitions/entityVersion](../types/entityhistory.md#entityversion)
 - **updatedAt**
	 - Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.
	 - $ref: [../../type/basic.json#/definitions/timestamp](../types/basic.md#timestamp)
 - **updatedBy**
	 - User who made the update.
	 - Type: `string`
 - **changeDescription**
	 - Change that lead to this version of the entity.
	 - $ref: [../../type/entityHistory.json#/definitions/changeDescription](../types/entityhistory.md#changedescription)
 - **deleted**
	 - When `true` indicates the entity has been soft deleted.
	 - Type: `boolean`
	 - Default: _false_
## Type definitions in this schema
### featureType
 - This enum defines the type of data stored in a ML Feature.
 - Type: `string`
 - The value is restricted to the following: 
	 1. _"numerical"_
	 2. _"categorical"_
### featureSourceDataType
 - This enum defines the type of data of a ML Feature source.
 - Type: `string`
 - The value is restricted to the following: 
	 1. _"integer"_
	 2. _"number"_
	 3. _"string"_
	 4. _"array"_
	 5. _"date"_
	 6. _"timestamp"_
	 7. _"object"_
	 8. _"boolean"_
### featureName
 - Local name (not fully qualified name) of the ML Feature.
 - Type: `string`
 - The value must match this pattern: `^[^.]*$`
 - Length: between 1 and 128
### featureSourceName
 - Local name (not fully qualified name) of a ML Feature source.
 - Type: `string`
 - The value must match this pattern: `^[^.]*$`
 - Length: between 1 and 128
### fullyQualifiedFeatureSourceName
 - Fully qualified name of the ML Feature Source that includes `serviceName.[databaseName].tableName/fileName/apiName.columnName[.nestedColumnName]`.
 - Type: `string`
 - Length: between 1 and 256
### fullyQualifiedFeatureName
 - Fully qualified name of the ML Feature that includes `modelName.featureName`.
 - Type: `string`
 - Length: between 1 and 256
### featureSource
 - This schema defines the sources of a ML Feature.
 - Type: `object`
 - This schema does not accept additional properties.
 - **Properties**
	 - **name**
		 - $ref: [#/definitions/featureSourceName](#featuresourcename)
	 - **dataType**
		 - Data type of the source (int, date etc.).
		 - $ref: [#/definitions/featureSourceDataType](#featuresourcedatatype)
	 - **description**
		 - Description of the feature source.
		 - Type: `string`
	 - **fullyQualifiedName**
		 - $ref: [#/definitions/fullyQualifiedFeatureSourceName](#fullyqualifiedfeaturesourcename)
	 - **dataSource**
		 - Description of the Data Source (e.g., a Table).
		 - $ref: [../../type/entityReference.json](../types/entityreference.md)
	 - **tags**
		 - Tags associated with the feature source.
		 - Type: `array`
			 - **Items**
			 - $ref: [../../type/tagLabel.json](../types/taglabel.md)
### mlFeature
 - This schema defines the type for an ML Feature used in an ML Model.
 - Type: `object`
 - This schema does not accept additional properties.
 - **Properties**
	 - **name**
		 - $ref: [#/definitions/featureName](#featurename)
	 - **dataType**
		 - Data type of the column (numerical vs. categorical).
		 - $ref: [#/definitions/featureType](#featuretype)
	 - **description**
		 - Description of the ML Feature.
		 - Type: `string`
	 - **fullyQualifiedName**
		 - $ref: [#/definitions/fullyQualifiedFeatureName](#fullyqualifiedfeaturename)
	 - **featureSources**
		 - Columns used to create the ML Feature.
		 - Type: `array`
			 - **Items**
			 - $ref: [#/definitions/featureSource](#featuresource)
	 - **featureAlgorithm**
		 - Description of the algorithm used to compute the feature, e.g., PCA, bucketing...
		 - Type: `string`
	 - **tags**
		 - Tags associated with the feature.
		 - Type: `array`
			 - **Items**
			 - $ref: [../../type/tagLabel.json](../types/taglabel.md)
### mlHyperParameter
 - This schema defines the type for an ML HyperParameter used in an ML Model.
 - Type: `object`
 - This schema does not accept additional properties.
 - **Properties**
	 - **name**
		 - Hyper parameter name.
		 - Type: `string`
	 - **value**
		 - Hyper parameter value.
		 - Type: `string`
	 - **description**
		 - Description of the Hyper Parameter.
		 - Type: `string`
### mlStore
 - Location containing the ML Model. It can be a storage layer and/or a container repository.
 - Type: `object`
 - This schema does not accept additional properties.
 - **Properties**
	 - **storage**
		 - Storage Layer containing the ML Model data.
		 - $ref: [../../type/basic.json#/definitions/href](../types/basic.md#href)
	 - **imageRepository**
		 - Container Repository with the ML Model image.
		 - $ref: [../../type/basic.json#/definitions/href](../types/basic.md#href)
_This document was updated on: Wednesday, March 9, 2022_