← 返回题库
中级

寻找最大化F1的最优拒绝阈值

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    loans_clean_csv = open_url(____).read()
    loans_featured_csv = open_url(____).read()
    scorecard_data_csv = open_url(____).read()
    woe_table_csv = open_url(____).read()
    import pandas as pd, numpy as np
    from sklearn.linear_model import LogisticRegression
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import f1_score
    from io import StringIO
    df = pd.read_csv(StringIO(____))
    woe_cols=[c for c in df.columns if c.endswith(____)]
    X=df[woe_cols].fillna(____); y=df['____']
    X_tr,X_te,y_tr,y_te=train_test_split(____)
    lr=LogisticRegression(____); lr.fit(____)
    prob=lr.predict_proba(____)[:,____]
    best_f1,best_thr=____,____
    for thr in np.arange(____,____,____):
        pred=(____).astype(____)
        f1=f1_score(____)
        if f1>best_f1: best_f1,best_thr=f1,thr
    print(____)
    print(____)

示例

输入
solve()
期望输出
最优阈值: 0.20
最优F1: 0.4061
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码