def test_invalid_iterable_error(): with pytest.raises(ValueError): x = [(3, 4, 5)] COO.from_iter(x) with pytest.raises(ValueError): x = [((2.3, 4.5), 3.2)] COO.from_iter(x)
def asformat(self, format): """ Convert this sparse array to a given format. Parameters ---------- format : str A format string. Returns ------- out : SparseArray The converted array. Raises ------ NotImplementedError If the format isn't supported. """ if format == "dok" or format is DOK: return self from ._coo import COO if format == "coo" or format is COO: return COO.from_iter( self.data, shape=self.shape, fill_value=self.fill_value, dtype=self.dtype, ) raise NotImplementedError("The given format is not supported.")
def asformat(self, format, **kwargs): """ Convert this sparse array to a given format. Parameters ---------- format : str A format string. Returns ------- out : SparseArray The converted array. Raises ------ NotImplementedError If the format isn't supported. """ from sparse._utils import convert_format format = convert_format(format) if format == "dok": return self if format == "coo": from ._coo import COO if len(kwargs) != 0: raise ValueError(f"Extra kwargs found: {kwargs}") return COO.from_iter( self.data, shape=self.shape, fill_value=self.fill_value, dtype=self.dtype, ) return self.asformat("coo").asformat(format, **kwargs)
def confusion_matrix(dataset: LabeledDataset, model: TopicModel, n_topic: Optional[int] = None) -> da.array: labels = dataset.get_labels_vect() predicted = model.get_labels() L = labels.shape[0] P = predicted.shape[0] if L != P: raise ValueError("Mismatching in document number") if n_topic: shape = (np.max(labels) + 1, n_topic + 1) else: shape = ( np.max(labels) + 1, np.max(predicted) + 1, ) return COO.from_iter( (np.ones_like(labels, dtype=np.dtype("u1")), (labels, predicted)), shape=shape, fill_value=0, dtype=np.dtype(int), )