← 返回题库
中级

计算6个特征的简化IV值排序

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    loans_raw_csv = open_url(____).read()
    import pandas as pd, math
    from io import StringIO
    df = pd.read_csv(StringIO(____))
    df['____'] = (____)/____
    features=['____','____','____','____','____','____']
    total_bad=df['____'].sum(); total_good=len(____)-total_bad
    rows=[]
    for col in features:
        try:
            bins=pd.qcut(____)
        except:
            continue
        iv=____
        for b in bins.cat.categories:
            mask=bins==b
            bad=df.loc[mask,'____'].sum(); good=mask.sum()-bad
            br=(____)/(____); gr=(____)/(____)
            iv+=(____)*math.log(____)
        rows.append({'____':col,'____':round(____)})
    print(pd.DataFrame(____).sort_values(____).to_string(____))

示例

输入
solve()
期望输出
feature     iv
interestRate 0.4082
    fico_mid 0.0830
    loanAmnt 0.0618
         dti 0.0506
   revolUtil 0.0260
annualIncome 0.0223
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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