diff --git a/pygrinder/block_missing/block_missing.py b/pygrinder/block_missing/block_missing.py index a977c94..4a26c13 100644 --- a/pygrinder/block_missing/block_missing.py +++ b/pygrinder/block_missing/block_missing.py @@ -16,7 +16,7 @@ def random_select_start_indices( block_width, feature_idx, step_idx, - p, + hit_rate, n_samples, n_steps, n_features, @@ -27,7 +27,7 @@ def random_select_start_indices( all_feature_start_indices = [i * n_steps for i in all_feature_indices] selected_feature_start_indices = np.random.choice( all_feature_start_indices, - math.ceil(len(all_feature_start_indices) * p), + math.ceil(len(all_feature_start_indices) * hit_rate), replace=False, ) selected_feature_start_indices = np.asarray(selected_feature_start_indices) @@ -57,8 +57,9 @@ def _block_missing_numpy( X = np.copy(X) n_samples, n_steps, n_features = X.shape + hit_rate = p * n_steps * n_features / (block_len * block_width) start_indices = random_select_start_indices( - block_width, feature_idx, step_idx, p, n_samples, n_steps, n_features + block_width, feature_idx, step_idx, hit_rate, n_samples, n_steps, n_features ) X = X.transpose(0, 2, 1) @@ -83,8 +84,9 @@ def _block_missing_torch( X = torch.clone(X) n_samples, n_steps, n_features = X.shape + hit_rate = p * n_steps * n_features / (block_len * block_width) start_indices = random_select_start_indices( - block_width, feature_idx, step_idx, p, n_samples, n_steps, n_features + block_width, feature_idx, step_idx, hit_rate, n_samples, n_steps, n_features ) X = X.transpose(1, 2) diff --git a/pygrinder/sequential_missing/seq_missing.py b/pygrinder/sequential_missing/seq_missing.py index d084133..2f66e5d 100644 --- a/pygrinder/sequential_missing/seq_missing.py +++ b/pygrinder/sequential_missing/seq_missing.py @@ -15,7 +15,7 @@ def random_select_start_indices( feature_idx, step_idx, - p, + hit_rate, n_samples, n_steps, n_features, @@ -31,7 +31,7 @@ def random_select_start_indices( selected_feature_start_indices = np.random.choice( all_feature_start_indices, - math.ceil(len(all_feature_start_indices) * p), + math.ceil(len(all_feature_start_indices) * hit_rate), replace=False, ) selected_feature_start_indices = np.asarray(selected_feature_start_indices) @@ -57,8 +57,9 @@ def _seq_missing_numpy( X = np.copy(X) n_samples, n_steps, n_features = X.shape + hit_rate = p * n_steps / seq_len start_indices = random_select_start_indices( - feature_idx, step_idx, p, n_samples, n_steps, n_features + feature_idx, step_idx, hit_rate, n_samples, n_steps, n_features ) X = X.transpose(0, 2, 1) @@ -82,8 +83,9 @@ def _seq_missing_torch( X = torch.clone(X) n_samples, n_steps, n_features = X.shape + hit_rate = p * n_steps / seq_len start_indices = random_select_start_indices( - feature_idx, step_idx, p, n_samples, n_steps, n_features + feature_idx, step_idx, hit_rate, n_samples, n_steps, n_features ) X = X.transpose(1, 2)