指数関数eを用いた数値表記 [Python]

F1 scoreを計算する際など,分母にゼロが代入される可能性がある数式を記述する際は,数値リテラルを用いて微小な値を記述するのが便利.

例えば以下のように

def calc_f1(d):
    d["precision"] = d["tp"] / (d["tp"] + d["fp"] + 1e-9)
    d["recall"] = d["tp"] / (d["tp"] + d["fn"] + 1e-9)
    d["f1_score"] = (2 * d["recall"] * d["precision"]) / (d["recall"] + d["precision"] + 1e-9)
    
    return d

ここでは,1e-9 = 0.000000001を記述し,分母側に代入.

Pocket