def test_rate_manager_crossval(): path = data_path / "fmt-jpk-fd_map-data-reference-points.jpk-force-map" tdir, h5path = setuph5(path=path) rmg = RateManager(h5path) cv = rmg.get_cross_validation_score(regressor="Extra Trees", training_set=None, n_splits=2, random_state=42) assert np.all(cv == 0)
def test_rate_manager_get_ts_single(): tdir, h5path = setuph5() rmg = RateManager(h5path) x2, _ = rmg.get_training_set(which_type="binary") assert np.all(x2 == 1) x3, _ = rmg.get_training_set(which_type="continuous", prefilter_binary=True) x4, _ = rmg.get_training_set(remove_nans=True) assert np.all(np.hstack((x2, x3)) == x4)
def test_rate_manager_get_ts_single(): tdir, h5path = setuph5() rmg = RateManager(h5path) X2, _ = rmg.get_training_set(which_type="binary") assert np.all(X2 == 1) X3, _ = rmg.get_training_set(which_type="continuous", prefilter_binary=True) X4, _ = rmg.get_training_set(remove_nans=True) assert np.all(np.hstack((X2, X3)) == X4) shutil.rmtree(tdir, ignore_errors=True)
def test_rate_manager_get_ts(): path = data_path / "fmt-jpk-fd_map-data-reference-points.jpk-force-map" tdir, h5path = setuph5(path=path) rmg = RateManager(h5path) x2, _ = rmg.get_training_set(which_type="binary") assert np.all(x2 == 1) x3, _ = rmg.get_training_set(which_type="continuous", prefilter_binary=True) x4, _ = rmg.get_training_set(remove_nans=True) assert np.all(np.hstack((x2, x3)) == x4)
def test_rate_manager_get_ts(): path = datadir / "map-data-reference-points.jpk-force-map" tdir, h5path = setuph5(path=path) rmg = RateManager(h5path) X2, _ = rmg.get_training_set(which_type="binary") assert np.all(X2 == 1) X3, _ = rmg.get_training_set(which_type="continuous", prefilter_binary=True) X4, _ = rmg.get_training_set(remove_nans=True) assert np.all(np.hstack((X2, X3)) == X4) shutil.rmtree(tdir, ignore_errors=True)
def test_rate_manager_get_ts_bad(): path = data_path / "fmt-jpk-fd_map_bad_2013-05-27_2.jpk-force-map" tdir, h5path = setuph5(path=path) rmg = RateManager(h5path) x2, _ = rmg.get_training_set(which_type="binary") assert np.allclose(x2.flatten(), [1, 0, 1]) x3, _ = rmg.get_training_set(which_type="continuous", prefilter_binary=True) assert x3.size == 0 x4, _ = rmg.get_training_set(remove_nans=True) assert x4.size == 0
def test_rate_manager_get_ts_bad(): path = datadir / "bad_map-data-2013.05.27-13.50.21.jpk-force-map" tdir, h5path = setuph5(path=path) rmg = RateManager(h5path) X2, _ = rmg.get_training_set(which_type="binary") assert np.allclose(X2.flatten(), [1, 0, 1]) X3, _ = rmg.get_training_set(which_type="continuous", prefilter_binary=True) assert X3.size == 0 X4, _ = rmg.get_training_set(remove_nans=True) assert X4.size == 0 shutil.rmtree(tdir, ignore_errors=True)
def test_rate_manager_export(): tdir, h5path = setuph5() rmg = RateManager(h5path) rmg.export_training_set(tdir) ss = rmg.samples[0] feats = IndentationRater.get_feature_names() for ff, si in zip(feats, ss): fi = np.loadtxt(tdir / "train_{}.txt".format(ff)) # :.2e, because features are not stored with high accuracy assert np.ndarray.item(fi) == float("{:.2e}".format(si))
def test_rate_manager_basic(): tdir, h5path, idnt = setuph5(ret_idnt=True) rmg = RateManager(h5path) # sanity checks rr = rmg.ratings[0] assert rr["name"] == "hans" assert rr["rating"] == 5 # file name preserved ds = rmg.datasets[0] assert jpkfile.name in ds.path.name # features are the same idr = IndentationRater ss = rmg.samples[0] assert np.allclose(ss, idr.compute_features(idnt)) # rates assert np.ndarray.item(rmg.get_rates(which="user")) == 5 # This will fail when the hyper-parameters for "Extra Trees" change # or when new features are added. assert np.allclose( np.ndarray.item(rmg.get_rates(which="Extra Trees", training_set="zef18")), 3.5492840783289035)