citrine.informatics.scores module

Tools for working with Scores.

class citrine.informatics.scores.EIScore(*, objectives: List[Objective], baselines: List[float], constraints: List[Constraint] | None = None)

Bases: Serializable[EIScore], Score

Evaluates the expected magnitude of improvement beyond baselines for a given objective.

Parameters:
  • objectives (list[Objective]) – objectives (e.g., maximize, minimize, tune, etc.) EIScore does not support more than 1 objective at this time.

  • baselines (list[float]) – best-so-far values for the various objectives (there must be one for each objective)

  • constraints (list[Constraint]) – constraints limiting the allowed values that material instances can have

classmethod build(data: dict) Self

Build an instance of this object from given data.

dump() dict

Dump this instance.

classmethod get_type(data)

Return the subtype.

baselines: List[float] = None
constraints: List[Constraint] = None
objectives: List[Objective] = None
typ = 'MEI'
class citrine.informatics.scores.EVScore(*, objectives: List[Objective], constraints: List[Constraint] | None = None)

Bases: Serializable[EVScore], Score

Evaluates the expected value for given objectives.

Parameters:
  • objectives (list[Objective]) – objectives (e.g., maximize, minimize, tune, etc.) If multiple objectives are specified, their scores are summed together. This allows for simultaneous optimization of multiple objectives, although the weighting of the various objectives cannot be directly specified.

  • constraints (list[Constraint]) – constraints limiting the allowed values that material instances can have

classmethod build(data: dict) Self

Build an instance of this object from given data.

dump() dict

Dump this instance.

classmethod get_type(data)

Return the subtype.

constraints: List[Constraint] = None
objectives: List[Objective] = None
typ = 'MEV'
class citrine.informatics.scores.LIScore(*, objectives: List[Objective], baselines: List[float], constraints: List[Constraint] | None = None)

Bases: Serializable[LIScore], Score

Evaluates the likelihood of scoring better than some baselines for given objectives.

Parameters:
  • objectives (list[Objective]) – objectives (e.g., maximize, minimize, tune, etc.) If multiple objectives are specified then this score evaluates the likelihood of simultaneously exceeding all objectives.

  • baselines (list[float]) – best-so-far values for the various objectives (there must be one for each objective)

  • constraints (list[Constraint]) – constraints limiting the allowed values that material instances can have

classmethod build(data: dict) Self

Build an instance of this object from given data.

dump() dict

Dump this instance.

classmethod get_type(data)

Return the subtype.

baselines: List[float] = None
constraints: List[Constraint] = None
objectives: List[Objective] = None
typ = 'MLI'
class citrine.informatics.scores.Score

Bases: PolymorphicSerializable[Score]

A Score is used to rank materials according to objectives and constraints.

Abstract type that returns the proper type given a serialized dict.

classmethod build(data: dict) SelfType

Build the underlying type.

classmethod get_type(data)

Return the subtype.