SklearnIQDiscriminator

class SklearnIQDiscriminator(classifier, cal_results, qubit_mask, expected_states=None, standardize=False, schedules=None)[source]

A generic discriminant analysis discriminator for IQ data that takes an sklearn classifier as an argument.

Parameters
  • classifier (Classifier) – An sklearn classifier to train and do the discrimination. The classifier must have a fit method and a predict method

  • cal_results (Union[Result, List[Result]]) – calibration results, Result or list of Result used to fit the discriminator.

  • qubit_mask (List[int]) – determines which qubit’s level 1 data to use in the discrimination process.

  • expected_states (List[str]) – a list that should have the same length as schedules. All results in cal_results are used if schedules is None. expected_states must have the corresponding length.

  • standardize (bool) – if true the discriminator will standardize the xdata using the internal method _scale_data.

  • schedules (Union[List[str], List[Schedule]]) – The schedules or a subset of schedules in cal_results used to train the discriminator. The user may also pass the name of the schedules instead of the schedules. If schedules is None, then all the schedules in cal_results are used.

Attributes

SklearnIQDiscriminator.expected_states

Returns the expected states used to train the discriminator.

SklearnIQDiscriminator.fitted

True if the discriminator has been fitted to calibration data.

SklearnIQDiscriminator.schedules

Returns the schedules with which the discriminator was fitted.

Methods

SklearnIQDiscriminator.add_data(result, …)

type result

Result

SklearnIQDiscriminator.discriminate(x_data)

Applies the discriminator to x_data.

SklearnIQDiscriminator.fit()

Fits the discriminator using self._xdata and self._ydata.

SklearnIQDiscriminator.format_iq_data(iq_data)

Takes IQ data obtained from get_memory(), applies the qubit mask and formats the data as a list of lists.

SklearnIQDiscriminator.get_xdata(results, …)

Retrieves feature data (xdata) for the discriminator.

SklearnIQDiscriminator.get_ydata(results, …)

Retrieves the expected states (ydata) for the discriminator.

SklearnIQDiscriminator.is_calibration(…)

Identify if a name corresponds to a calibration name identified by the regex pattern self._cal_pattern.

SklearnIQDiscriminator.plot([axs, …])

Creates a plot of the data used to fit the discriminator.

SklearnIQDiscriminator.plot_xdata(axs, results)

Add the relevant IQ data from the Qiskit Result, or list thereof, to the given axes as a scatter plot.