Coverage for NeuralTSNE/NeuralTSNE/Utils/Preprocessing/Filters/tests/test_filters.py: 100%
12 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-18 16:32 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-18 16:32 +0000
1import numpy as np
2import pytest
3import torch
5from NeuralTSNE.Utils.Preprocessing.Filters import filter_data_by_variance
8@pytest.mark.parametrize(
9 "data_variance, variance_threshold, filtered_data", [([5, 7, 10, 3, 4], 6, [1, 2])]
10)
11def test_filter_data_by_variance(data_variance, variance_threshold, filtered_data):
12 sample_size = 10000
14 artificial_data = [
15 np.random.normal(0, variance**0.5, sample_size) for variance in data_variance
16 ]
17 artificial_data = torch.tensor(np.array(artificial_data).T)
19 filtered_data = artificial_data[:, filtered_data]
21 result = filter_data_by_variance(artificial_data, variance_threshold)
22 assert torch.allclose(result, filtered_data)