---
title: BaseReadoutMitigator (v1.2)
description: API reference for qiskit.result.BaseReadoutMitigator in qiskit v1.2
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/1.2/qiskit.result.BaseReadoutMitigator
---

# BaseReadoutMitigator

*class* `qiskit.result.BaseReadoutMitigator`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/result/mitigation/base_readout_mitigator.py#L23-L79)

Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC)

Base readout error mitigator class.

## Methods

### expectation\_value

*abstract* `expectation_value(data, diagonal, qubits=None, clbits=None, shots=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/result/mitigation/base_readout_mitigator.py#L52-L79)

Calculate the expectation value of a diagonal Hermitian operator.

**Parameters**

- **data** ([*Counts*](/docs/api/qiskit/1.2/qiskit.result.Counts "qiskit.result.counts.Counts")) – Counts object to be mitigated.
- **diagonal** ([*Callable*](https://docs.python.org/3/library/typing.html#typing.Callable)  *|*[*dict*](https://docs.python.org/3/library/stdtypes.html#dict)  *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str)  *|*[*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray)) – the diagonal operator. This may either be specified as a string containing I,Z,0,1 characters, or as a real valued 1D array\_like object supplying the full diagonal, or as a dictionary, or as Callable.
- **qubits** ([*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable)*\[*[*int*](https://docs.python.org/3/library/functions.html#int)*] | None*) – the physical qubits measured to obtain the counts clbits. If None these are assumed to be qubits \[0, …, N-1] for N-bit counts.
- **clbits** ([*List*](https://docs.python.org/3/library/typing.html#typing.List)*\[*[*int*](https://docs.python.org/3/library/functions.html#int)*] | None*) – Optional, marginalize counts to just these bits.
- **shots** ([*int*](https://docs.python.org/3/library/functions.html#int) *| None*) – Optional, the total number of shots, if None shots will be calculated as the sum of all counts.

**Returns**

The mean and an upper bound of the standard deviation of operator expectation value calculated from the current counts.

**Return type**

[*Tuple*](https://docs.python.org/3/library/typing.html#typing.Tuple)\[[float](https://docs.python.org/3/library/functions.html#float), [float](https://docs.python.org/3/library/functions.html#float)]

### quasi\_probabilities

*abstract* `quasi_probabilities(data, qubits=None, clbits=None, shots=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/result/mitigation/base_readout_mitigator.py#L26-L50)

Convert counts to a dictionary of quasi-probabilities

**Parameters**

- **data** ([*Counts*](/docs/api/qiskit/1.2/qiskit.result.Counts "qiskit.result.counts.Counts")) – Counts to be mitigated.
- **qubits** ([*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable)*\[*[*int*](https://docs.python.org/3/library/functions.html#int)*] | None*) – the physical qubits measured to obtain the counts clbits. If None these are assumed to be qubits \[0, …, N-1] for N-bit counts.
- **clbits** ([*List*](https://docs.python.org/3/library/typing.html#typing.List)*\[*[*int*](https://docs.python.org/3/library/functions.html#int)*] | None*) – Optional, marginalize counts to just these bits.
- **shots** ([*int*](https://docs.python.org/3/library/functions.html#int) *| None*) – Optional, the total number of shots, if None shots will be calculated as the sum of all counts.

**Returns**

**A dictionary containing pairs of \[output, mean] where “output”**

is the key in the dictionaries, which is the length-N bitstring of a measured standard basis state, and “mean” is the mean of non-zero quasi-probability estimates.

**Return type**

[QuasiDistribution](/docs/api/qiskit/1.2/qiskit.result.QuasiDistribution "qiskit.result.QuasiDistribution")
