← 返回题库
中级

分析GBDT在各贷款等级上的预测准确度

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    loans_featured_csv = open_url(____).read()
    import pandas as pd
    from sklearn.ensemble import GradientBoostingClassifier
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import roc_auc_score
    from io import StringIO
    df = pd.read_csv(StringIO(____))
    num_cols=[c for c in df.select_dtypes(____).columns if c not in ['____','____'] and not c.endswith(____)]
    X=df[num_cols].fillna(____); y=df['____']
    X_tr,X_te,y_tr,y_te=train_test_split(____)
    gb=GradientBoostingClassifier(____)
    gb.fit(____)
    prob=gb.predict_proba(____)[:,____]
    te_df=pd.DataFrame(____)
    results=[]
    for g,grp in te_df.groupby(____):
        if grp['____'].nunique()>____:
            results.append({'____':g,'____':len(____),'____':round(roc_auc_score(____),____)})
    rdf=pd.DataFrame(____).sort_values(____)
    print(rdf.to_string(____))
    print(____)

示例

输入
solve()
期望输出
grade  count    auc
     7     11 0.2222
     6     39 0.4759
     5    148 0.5050
     2    597 0.5692
     3    540 0.5828
     1    358 0.5968
     4    307 0.6271
最难预测grade: 7.0 (AUC=0.2222)
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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