class_docstr: Calculate `Matthews correlation coefficient`_ for binary tasks.
  
  This metric measures the general correlation or quality of a classification.
  
  As input to ``forward`` and ``update`` the metric accepts the following input:
  
  - ``preds`` (:class:`~torch.Tensor`): A int tensor or float tensor of shape ``(N, ...)``. If preds is a floating
    point tensor with values outside [0,1] range we consider the input to be logits and will auto apply sigmoid
    per element. Additionally, we convert to int tensor with thresholding using the value in ``threshold``.
  - ``target`` (:class:`~torch.Tensor`): An int tensor of shape ``(N, ...)``
  
  .. note::
     Additional dimension ``...`` will be flattened into the batch dimension.
  
  As output to ``forward`` and ``compute`` the metric returns the following output:
  
  - ``bmcc`` (:class:`~torch.Tensor`): A tensor containing the Binary Matthews Correlation Coefficient.
  
  Args:
      threshold: Threshold for transforming probability to binary (0,1) predictions
      ignore_index:
          Specifies a target value that is ignored and does not contribute to the metric calculation
      validate_args: bool indicating if input arguments and tensors should be validated for correctness.
          Set to ``False`` for faster computations.
      kwargs: Additional keyword arguments, see :ref:`Metric kwargs` for more info.
  
  Example (preds is int tensor):
      >>> from torch import tensor
      >>> from torchmetrics.classification import BinaryMatthewsCorrCoef
      >>> target = tensor([1, 1, 0, 0])
      >>> preds = tensor([0, 1, 0, 0])
      >>> metric = BinaryMatthewsCorrCoef()
      >>> metric(preds, target)
      tensor(0.5774)
  
  Example (preds is float tensor):
      >>> from torchmetrics.classification import BinaryMatthewsCorrCoef
      >>> target = tensor([1, 1, 0, 0])
      >>> preds = tensor([0.35, 0.85, 0.48, 0.01])
      >>> metric = BinaryMatthewsCorrCoef()
      >>> metric(preds, target)
      tensor(0.5774)
class_docstr_tok: ["Calculate","`","Matthews","correlation","coefficient","`","_","for","binary","tasks",".","This","metric","measures","the","general","correlation","or","quality","of","a","classification",".","As","input","to","``","forward","``","and","``","update","``","the","metric","accepts","the","following","input",":","-","``","preds","``","(",":","class",":","`","~torch.Tensor","`",")",":","A","int","tensor","or","float","tensor","of","shape","``","(","N",",","...",")","``",".","If","preds","is","a","floating","point","tensor","with","values","outside","[","0,1","]","range","we","consider","the","input","to","be","logits","and","will","auto","apply","sigmoid","per","element",".","Additionally",",","we","convert","to","int","tensor","with","thresholding","using","the","value","in","``","threshold","``",".","-","``","target","``","(",":","class",":","`","~torch.Tensor","`",")",":","An","int","tensor","of","shape","``","(","N",",","...",")","``","..","note",":",":","Additional","dimension","``","...","``","will","be","flattened","into","the","batch","dimension",".","As","output","to","``","forward","``","and","``","compute","``","the","metric","returns","the","following","output",":","-","``","bmcc","``","(",":","class",":","`","~torch.Tensor","`",")",":","A","tensor","containing","the","Binary","Matthews","Correlation","Coefficient",".","Args",":","threshold",":","Threshold","for","transforming","probability","to","binary","(","0,1",")","predictions","ignore_index",":","Specifies","a","target","value","that","is","ignored","and","does","not","contribute","to","the","metric","calculation","validate_args",":","bool","indicating","if","input","arguments","and","tensors","should","be","validated","for","correctness",".","Set","to","``","False","``","for","faster","computations",".","kwargs",":","Additional","keyword","arguments",",","see",":","ref",":","`","Metric","kwargs","`","for","more","info",".","Example","(","preds","is","int","tensor",")",":",">",">",">","from","torch","import","tensor",">",">",">","from","torchmetrics.classification","import","BinaryMatthewsCorrCoef",">",">",">","target","=","tensor","(","[","1",",","1",",","0",",","0","]",")",">",">",">","preds","=","tensor","(","[","0",",","1",",","0",",","0","]",")",">",">",">","metric","=","BinaryMatthewsCorrCoef","(",")",">",">",">","metric","(","preds",",","target",")","tensor","(","0.5774",")","Example","(","preds","is","float","tensor",")",":",">",">",">","from","torchmetrics.classification","import","BinaryMatthewsCorrCoef",">",">",">","target","=","tensor","(","[","1",",","1",",","0",",","0","]",")",">",">",">","preds","=","tensor","(","[","0.35",",","0.85",",","0.48",",","0.01","]",")",">",">",">","metric","=","BinaryMatthewsCorrCoef","(",")",">",">",">","metric","(","preds",",","target",")","tensor","(","0.5774",")"]
docstr: Compute metric.
docstr_tok: ["Compute","metric","."]
code: def compute(self) -> Tensor:
      """Compute metric."""
      return _matthews_corrcoef_reduce(self.confmat)
  
imports: from typing import Any, Optional, Sequence, Type, Union
  from torch import Tensor
  from typing_extensions import Literal
  from torchmetrics.classification.base import _ClassificationTaskWrapper
  from torchmetrics.classification.confusion_matrix import BinaryConfusionMatrix, MulticlassConfusionMatrix, MultilabelConfusionMatrix
  from torchmetrics.functional.classification.matthews_corrcoef import _matthews_corrcoef_reduce
  from torchmetrics.metric import Metric
  from torchmetrics.utilities.enums import ClassificationTask
  from torchmetrics.utilities.imports import _MATPLOTLIB_AVAILABLE
  from torchmetrics.utilities.plot import _AX_TYPE, _PLOT_OUT_TYPE
label_desc: Use image node_id 2 for calling the BinaryMatthewsCorrCoef obj's underlying member method code with example usage: obj.compute() and returns: _matthews_corrcoef_reduce