Skip to content

Commit

Permalink
feat: calc hit_rate for random_select_start_indices();
Browse files Browse the repository at this point in the history
  • Loading branch information
WenjieDu committed Jun 3, 2024
1 parent 9b6f505 commit 2fe87b2
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
10 changes: 6 additions & 4 deletions pygrinder/block_missing/block_missing.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def random_select_start_indices(
block_width,
feature_idx,
step_idx,
p,
hit_rate,
n_samples,
n_steps,
n_features,
Expand All @@ -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)
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down
10 changes: 6 additions & 4 deletions pygrinder/sequential_missing/seq_missing.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
def random_select_start_indices(
feature_idx,
step_idx,
p,
hit_rate,
n_samples,
n_steps,
n_features,
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand Down

0 comments on commit 2fe87b2

Please sign in to comment.