Example #1
0
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)
Example #2
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)
Example #3
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)
    shutil.rmtree(tdir, ignore_errors=True)
Example #4
0
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)
Example #5
0
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)
Example #6
0
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
Example #7
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)
Example #8
0
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))
Example #9
0
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)