def test_histogram_vectorizer_outlier_bins(): vectorizer = HistogramVectorizer(n_components=20, append_outlier_bins=True) result = vectorizer.fit_transform(value_sequence_data) assert result.shape == (len(value_sequence_data), 20 + 2) transform_result = vectorizer.transform([[-1.0, -1.0, -1.0, 150.0]]) assert transform_result[0][0] == 3.0 assert transform_result[0][-1] == 1.0
def test_wass1d_transfomer(): vectorizer = HistogramVectorizer() histogram_data = vectorizer.fit_transform(value_sequence_data) transformer = Wasserstein1DHistogramTransformer() result = transformer.fit_transform(histogram_data) for i in range(result.shape[0]): for j in range(i + 1, result.shape[0]): assert np.isclose( kantorovich1d(histogram_data[i], histogram_data[j]), np.sum(np.abs(result[i] - result[j])), )
def test_histogram_vectorizer_basic(): vectorizer = HistogramVectorizer(n_components=20) result = vectorizer.fit_transform(value_sequence_data) assert result.shape == (len(value_sequence_data), 20) transform_result = vectorizer.transform(value_sequence_data) assert np.all(result == transform_result)