Loading...

verticapy.machine_learning.metrics.bic_score#

verticapy.machine_learning.metrics.bic_score(y_true: str, y_score: str, input_relation: str | vDataFrame, k: int = 1) float#

Returns the BIC score.

Parameters#

y_true: str

Response column.

y_score: str

Prediction.

input_relation: SQLRelation

Relation to use for scoring. This relation can be a view, table, or a customized relation (if an alias is used at the end of the relation). For example: (SELECT … FROM …) x

k: int, optional

Number of predictors.

Examples#

We should first import verticapy.

import verticapy as vp

Let’s create a small dataset that has:

  • true value

  • predicted value

data = vp.vDataFrame(
    {
        "y_true": [1, 1.5, 3, 2, 5],
        "y_pred": [1.1, 1.55, 2.9, 2.01, 4.5],
    }
)

Next, we import the metric:

from verticapy.machine_learning.metrics import bic_score

Now we can conveniently calculate the score:

bic_score(
    y_true = "y_true",
    y_score = "y_pred",
    input_relation = data,
)

Out[4]: -11.3270625359008

It is also possible to directly compute the score from the vDataFrame:

data.score(
    y_true  = "y_true",
    y_score = "y_pred",
    metric  = "bic",
)

Out[5]: -11.3270625359008

Note

VerticaPy uses simple SQL queries to compute various metrics. You can use the set_option() function with the sql_on parameter to enable SQL generation and examine the generated queries.

See also

vDataFrame.score() : Computes the input ML metric.