Skip to content

Commit 1d9680e

Browse files
committed
FIX refine stop criteria
1 parent c2a8ca5 commit 1d9680e

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

fastcan/_refine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def refine(selector, drop=1, max_iter=None, verbose=1):
120120
indices_temp = best_indices
121121
for drop_n in drop:
122122
i = 0
123-
while i < n_features:
123+
while i < n_features_to_select:
124124
rolled_indices = np.r_[
125125
indices_include, np.roll(indices_temp[n_inclusions:], -1)
126126
]

tests/test_refine.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from fastcan import FastCan, refine
77

88

9-
def test_select_refine_cls():
9+
def test_select_refine_cls(capsys):
1010
# Test whether refine work correctly with random samples.
1111
n_samples = 200
1212
n_features = 20
@@ -30,6 +30,8 @@ def test_select_refine_cls():
3030

3131
selector = FastCan(n_to_select).fit(X, y)
3232
_, scores_1 = refine(selector, drop=1)
33+
captured = capsys.readouterr()
34+
assert "No. of iterations: 19," in captured.out
3335
_, scores_23 = refine(selector, drop=[2, 3], verbose=0)
3436
_, scores_all = refine(selector, drop="all", max_iter=20, verbose=1)
3537

0 commit comments

Comments
 (0)