def test_python_rsquared(rating_true, rating_pred): assert (rsquared( rating_true=rating_true, rating_pred=rating_true, col_prediction=DEFAULT_RATING_COL, ) == pytest.approx(1.0, TOL)) assert rsquared(rating_true, rating_pred) == pytest.approx(-31.699029, TOL)
def rating_metrics_python(test, predictions): return { "RMSE": rmse(test, predictions, **COL_DICT), "MAE": mae(test, predictions, **COL_DICT), "R2": rsquared(test, predictions, **COL_DICT), "Explained Variance": exp_var(test, predictions, **COL_DICT), }
def test_python_errors(rating_true, rating_pred): with pytest.raises(ValueError): rmse(rating_true, rating_true, col_user="******") with pytest.raises(ValueError): mae( rating_pred, rating_pred, col_rating=DEFAULT_PREDICTION_COL, col_user="******", ) with pytest.raises(ValueError): rsquared(rating_true, rating_pred, col_item="not_item") with pytest.raises(ValueError): exp_var( rating_pred, rating_pred, col_rating=DEFAULT_PREDICTION_COL, col_item="not_item", ) with pytest.raises(ValueError): precision_at_k(rating_true, rating_pred, col_rating="not_rating") with pytest.raises(ValueError): recall_at_k(rating_true, rating_pred, col_prediction="not_prediction") with pytest.raises(ValueError): ndcg_at_k(rating_true, rating_true, col_user="******") with pytest.raises(ValueError): map_at_k( rating_pred, rating_pred, col_rating=DEFAULT_PREDICTION_COL, col_user="******", )