def test_dataset_profile_metrics():
    x1 = DatasetProfile(name="test", model_profile=ModelProfile())
    assert x1.tags["name"] == "test"
    targets_1 = ["cat", "dog", "pig"]
    predictions_1 = ["cat", "dog", "dog"]
    scores_1 = [0.1, 0.2, 0.4]

    x1.track_metrics(predictions_1, targets_1, scores_1)

    assert x1.model_profile.metrics.confusion_matrix.labels is not None
def test_track_metrics():
    import pandas as pd

    mean_absolute_error = 85.94534216005789
    mean_squared_error = 11474.89611670205
    root_mean_squared_error = 107.12094154133472

    x1 = DatasetProfile(name="test")
    df = pd.read_parquet(
        os.path.join(
            os.path.join(TEST_DATA_PATH, "metrics", "2021-02-12.parquet")))
    x1.track_metrics(df["predictions"].to_list(), df["targets"].to_list())
    regression_metrics = x1.model_profile.metrics.regression_metrics
    assert regression_metrics is not None
    assert regression_metrics.count == len(df["predictions"].to_list())
    assert regression_metrics.mean_squared_error() == pytest.approx(
        mean_squared_error, 0.01)

    assert regression_metrics.mean_absolute_error() == pytest.approx(
        mean_absolute_error, 0.01)
    assert regression_metrics.root_mean_squared_error() == pytest.approx(
        root_mean_squared_error, 0.01)