lczerolens.concepts#

Class for concept-based XAI methods.

Classes#

Concept

Class for concept-based XAI methods.

BinaryConcept

Class for binary concept-based XAI methods.

NullConcept

Class for binary concept-based XAI methods.

OrBinaryConcept

Class for binary concept-based XAI methods.

AndBinaryConcept

Class for binary concept-based XAI methods.

MulticlassConcept

Class for multiclass concept-based XAI methods.

ContinuousConcept

Class for continuous concept-based XAI methods.

HasPiece

Class for material concept-based XAI methods.

HasMaterialAdvantage

Class for material concept-based XAI methods.

BestLegalMove

Class for move concept-based XAI methods.

PieceBestLegalMove

Class for move concept-based XAI methods.

HasThreat

Class for material concept-based XAI methods.

HasMateThreat

Class for material concept-based XAI methods.

Module Contents#

class lczerolens.concepts.Concept[source]#

Bases: abc.ABC

Class for concept-based XAI methods.

abstract compute_label(board)[source]#

Compute the label for a given model and input.

Parameters:

board (lczerolens.board.LczeroBoard)

Return type:

Any

static compute_metrics(predictions, labels)[source]#
Abstractmethod:

Compute the metrics for a given model and input.

static get_dataset_feature()[source]#
Abstractmethod:

Returns the feature for the dataset.

class lczerolens.concepts.BinaryConcept[source]#

Bases: Concept

Class for binary concept-based XAI methods.

static compute_metrics(predictions, labels)[source]#

Compute the metrics for a given model and input.

static get_dataset_feature()[source]#

Returns the feature for the dataset.

class lczerolens.concepts.NullConcept[source]#

Bases: BinaryConcept

Class for binary concept-based XAI methods.

compute_label(board)[source]#

Compute the label for a given model and input.

Parameters:

board (lczerolens.board.LczeroBoard)

Return type:

Any

class lczerolens.concepts.OrBinaryConcept(*concepts)[source]#

Bases: BinaryConcept

Class for binary concept-based XAI methods.

Parameters:

concepts (BinaryConcept)

concepts = ()[source]#
compute_label(board)[source]#

Compute the label for a given model and input.

Parameters:

board (lczerolens.board.LczeroBoard)

Return type:

Any

class lczerolens.concepts.AndBinaryConcept(*concepts)[source]#

Bases: BinaryConcept

Class for binary concept-based XAI methods.

Parameters:

concepts (BinaryConcept)

concepts = ()[source]#
compute_label(board)[source]#

Compute the label for a given model and input.

Parameters:

board (lczerolens.board.LczeroBoard)

Return type:

Any

class lczerolens.concepts.MulticlassConcept[source]#

Bases: Concept

Class for multiclass concept-based XAI methods.

static compute_metrics(predictions, labels)[source]#

Compute the metrics for a given model and input.

static get_dataset_feature()[source]#

Returns the feature for the dataset.

class lczerolens.concepts.ContinuousConcept[source]#

Bases: Concept

Class for continuous concept-based XAI methods.

static compute_metrics(predictions, labels)[source]#

Compute the metrics for a given model and input.

static get_dataset_feature()[source]#

Returns the feature for the dataset.

class lczerolens.concepts.HasPiece(piece, relative=True)[source]#

Bases: BinaryConcept

Class for material concept-based XAI methods.

Parameters:
  • piece (str)

  • relative (bool)

piece[source]#
relative = True[source]#
compute_label(board)[source]#

Compute the label for a given model and input.

Parameters:

board (lczerolens.board.LczeroBoard)

Return type:

int

class lczerolens.concepts.HasMaterialAdvantage(relative=True)[source]#

Bases: BinaryConcept

Class for material concept-based XAI methods.

Parameters:

relative (bool)

piece_values[source]#

The piece values.

Type:

Dict[int, int]

piece_values[source]#
relative = True[source]#
compute_label(board, piece_values=None)[source]#

Compute the label for a given model and input.

Parameters:
Return type:

int

class lczerolens.concepts.BestLegalMove(model)[source]#

Bases: MulticlassConcept

Class for move concept-based XAI methods.

Parameters:

model (lczerolens.model.LczeroModel)

policy_flow[source]#
compute_label(board)[source]#

Compute the label for a given model and input.

Parameters:

board (lczerolens.board.LczeroBoard)

Return type:

int

class lczerolens.concepts.PieceBestLegalMove(model, piece)[source]#

Bases: BinaryConcept

Class for move concept-based XAI methods.

Parameters:
policy_flow[source]#
piece[source]#
compute_label(board)[source]#

Compute the label for a given model and input.

Parameters:

board (lczerolens.board.LczeroBoard)

Return type:

int

class lczerolens.concepts.HasThreat(piece, relative=True)[source]#

Bases: BinaryConcept

Class for material concept-based XAI methods.

Parameters:
  • piece (str)

  • relative (bool)

piece[source]#
relative = True[source]#
compute_label(board)[source]#

Compute the label for a given model and input.

Parameters:

board (lczerolens.board.LczeroBoard)

Return type:

int

class lczerolens.concepts.HasMateThreat[source]#

Bases: BinaryConcept

Class for material concept-based XAI methods.

compute_label(board)[source]#

Compute the label for a given model and input.

Parameters:

board (lczerolens.board.LczeroBoard)

Return type:

int