MilesCranmer commited on
Commit
56cb021
·
2 Parent(s): db9848f a190947

Merge branch 'master' into pr/tttc3/146

Browse files
Files changed (1) hide show
  1. test/test.py +18 -1
test/test.py CHANGED
@@ -189,7 +189,6 @@ class TestPipeline(unittest.TestCase):
189
  binary_operators=["+", "*", "/", "-"],
190
  **self.default_test_kwargs,
191
  denoise=True,
192
- select_k_features=2,
193
  nested_constraints={"/": {"+": 1, "-": 1}, "+": {"*": 4}},
194
  )
195
  model.fit(X, y, Xresampled=Xresampled)
@@ -209,6 +208,24 @@ class TestPipeline(unittest.TestCase):
209
  self.assertLess(np.average((fn(X2) - true_fn(X2)) ** 2), 1e-1)
210
  self.assertLess(np.average((model.predict(X2) - true_fn(X2)) ** 2), 1e-1)
211
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
 
213
  class TestBest(unittest.TestCase):
214
  def setUp(self):
 
189
  binary_operators=["+", "*", "/", "-"],
190
  **self.default_test_kwargs,
191
  denoise=True,
 
192
  nested_constraints={"/": {"+": 1, "-": 1}, "+": {"*": 4}},
193
  )
194
  model.fit(X, y, Xresampled=Xresampled)
 
208
  self.assertLess(np.average((fn(X2) - true_fn(X2)) ** 2), 1e-1)
209
  self.assertLess(np.average((model.predict(X2) - true_fn(X2)) ** 2), 1e-1)
210
 
211
+ def test_high_dim_selection_early_stop(self):
212
+ X = pd.DataFrame({f"k{i}": self.rstate.randn(10000) for i in range(10)})
213
+ Xresampled = pd.DataFrame({f"k{i}": self.rstate.randn(100) for i in range(10)})
214
+ y = X["k7"] ** 2 + np.cos(X["k9"]) * 3
215
+
216
+ model = PySRRegressor(
217
+ unary_operators=["cos"],
218
+ select_k_features=3,
219
+ early_stop_condition=1e-4, # Stop once most accurate equation is <1e-4 MSE
220
+ Xresampled=Xresampled,
221
+ maxsize=12,
222
+ **self.default_test_kwargs,
223
+ )
224
+ model.fit(X, y)
225
+ model.set_params(model_selection="accuracy")
226
+ model.predict(X)
227
+ self.assertLess(np.average((model.predict(X) - y) ** 2), 1e-4)
228
+
229
 
230
  class TestBest(unittest.TestCase):
231
  def setUp(self):