• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • 【R包】scorecard:评分卡包

      【R包】scorecard:评分卡包

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2018年7月1日
      测试开头

      【R包】scorecard:评分卡包


      笔者邀请您,先思考:

      1 如何设计和开发评分卡?

      2 评分卡如何应用?

      本文介绍评分卡包scorecard的使用。

      scorecard包简介

      scorecard包通过提供信息价值,变量过滤器,最佳woe分箱,记分卡缩放和模型性能评估等功能,以实现轻松高效地设计和开发信用风险记分卡。

      【R包】scorecard:评分卡包

      scorecard包的函数

      scorecard包提供如下函数,使得高效开发信用风险记分卡。

      • 信息价值(iv)

      • 变量过滤器(var_filter)

      • 最佳woe分享(woebin,woebin_ply,woebin_plot,woebin_adj)

      • 记分卡缩放(scorecard,scorecard_ply)

      • 性能评估(perf_eva,perf_psi)

      scorecard包应用举例

      这是一个基本示例,向您展示如何开发通用的信用风险记分卡:

      # 加载R包
      if(!require(scorecard))
      {
        install.packages("scorecard")
        require(scorecard)
      }

      # 数据准备
      data("germancredit")
      print(dim(germancredit))
      print(names(germancredit))
      print(head(germancredit[,20:21]))


      # 变量选择
      dt_s <- var_filter(germancredit, y="creditability")
      print(dim(dt_s))

      # 数据集划分为训练集和测试集
      dt_list <- split_df(dt_s)
      train <- dt_list$train
      test <- dt_list$test

      # woe 分箱 自动分箱
      bins <- woebin(dt_s, y="creditability")

      # 绘制分箱后的坏账率可视化
      woebin_plot(bins)

      # 手动分箱的实例
      # 变量credit.amount为例
      woebin_adj(dt_s, "creditability", bins$credit.amount)
      # 变量other.debtors.or.guarantors为例
      woebin_adj(dt_s, "creditability", bins$other.debtors.or.guarantors)
      # 反复观察和调整,然后确定最佳分箱阈值
      print(unique(germancredit$other.debtors.or.guarantors))

      # 分箱调整
      breaks_adj <- list(
        age.in.years=c(26, 35, 40),
        other.debtors.or.guarantors=c("none", "co-applicant%,%guarantor"))
      bins_adj <- woebin(dt_s, y="creditability", breaks_list=breaks_adj)
      woebin_adj(dt_s, "creditability", bins$other.debtors.or.guarantors)
      woebin_adj(dt_s, "creditability", bins_adj$other.debtors.or.guarantors)

      # 训练集和测试数据集转换为woe值
      train_woe <-  woebin_ply(train, bins_adj)
      test_woe <-  woebin_ply(test, bins_adj)
      print(dim(train_woe))
      print(dim(test_woe))

      # glm模型
      m1 <- glm( creditability ~ ., family = binomial(), data = train_woe)
      summary(m1)

      # 逐步回归选择变量
      m_step <- step(m1, direction="both", trace = FALSE)
      m2 <- eval(m_step$call)
      summary(m2)

      # 模型性能验证 ks和roc
      # 预测的概率
      train_pred <- predict(m2, train_woe, type = 'response')
      test_pred <- predict(m2, test_woe, type = 'response')

      # 性能
      train_perf <- perf_eva(train$creditability, train_pred, title = 'train')
      test_perf <- perf_eva(test$creditability, test_pred, title = 'test')

      # 生成评分卡
      card <- scorecard(bins_adj, m2)
      card

      # 信用评分
      # 实际评分
      train_score <- scorecard_ply(train, card, print_step = 0)
      # 验证集评分
      test_score <- scorecard_ply(test, card, print_step = 0)

      print(train_score)
      print(test_score)

      # 模型的稳定性度量
      # psi
      psi_result <- perf_psi(
        score = list(train = train_score, test = test_score),
        label = list(train = train$creditability, test = test$creditability)
      )

      结论:
      1 模型性能评价
      1.1 训练数据集

      【R包】scorecard:评分卡包


      1.2 测试数据集

      【R包】scorecard:评分卡包


      2 模型的稳定性分析

      【R包】scorecard:评分卡包

      完整代码也可以参见GitHub。

      参考资料:

      1https://www.rdocumentation.org/packages/scorecard/versions/0.1.8
      2 Siddiqi, N. Intelligent Credit Scoring Building and Implementing Better Credit Risk Scorecards

      您在阅读中,有什么见解,请留言。

      版权声明:作者保留权利,严禁修改,转载请注明原文链接。

      数据人网是数据人学习、交流和分享的平台http://shujuren.org 。专注于从数据中学习到有用知识。
      平台的理念:人人投稿,知识共享;人人分析,洞见驱动;智慧聚合,普惠人人。
      您在数据人网平台,可以1)学习数据知识;2)创建数据博客;3)认识数据朋友;4)寻找数据工作;5)找到其它与数据相关的干货。
      我们努力坚持做原创,聚合和分享优质的省时的数据知识!
      我们都是数据人,数据是有价值的,坚定不移地实现从数据到商业价值的转换!

      加入数据人圈子或者商务合作,请添加笔者微信。

      【R包】scorecard:评分卡包

      点击阅读原文,进入数据人网,获取数据知识。

      公众号推荐:

      链达君,专注于分享区块链内容。

      【R包】scorecard:评分卡包

      脚印英语,专注于分享英语口语内容。

      【R包】scorecard:评分卡包

      数据工作

      我们公司大数据风控中心部门诚招:

      1 风险分析和建模工程师(信用评分模型,反欺诈模型,额度模型|熟练常用ML算法|熟练使用R或者Python)

      2 数据开发工程师(大数据平台开发,数据采集,数据预处理)

      3 爬虫工程师(掌握爬虫技术,掌握反爬策略)

      4 数据分析或者建模实习生(研究生学历|统计学,数学,计算机专业|熟悉R或者Python|有金融数据项目可以加分)

      工作地点:深圳大冲商务中心

      薪资待遇:面议

      感兴趣者,请加小编微信。

      【R包】scorecard:评分卡包



      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      Vim大法好!
      2018年7月1日

      下一篇文章

      花花大战环境变量
      2018年7月1日

      你可能也喜欢

      3-1665801675
      R语言学习:重读《R数据科学(中文版)》书籍
      28 9月, 2022
      6-1652833487
      经典铁死亡,再出新思路
      16 5月, 2022
      1-1651501980
      R语言学习:阅读《R For Everyone 》(第二版)
      1 5月, 2022

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      白介素-17受体信号的自主激活,维持炎症并促进疾病进展
      048月2023
      MCT4依赖的乳酸分泌抑制LKB1缺陷肺腺癌的抗肿瘤免疫
      187月2023
      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?