您的位置:首页 > 其它

分析贷款申请风险-基于决策树(分而治之算法)

2017-02-21 17:59 253 查看
1.收集数据
credit <- read.csv("credit.csv")

2.探索数据(略)

3.准备数据

a.将数据随机化
set.seed(12345)
credit_rand <- credit[order(runif(1000)), ]

b.将随机数据拆分为90%的训练数据和10%的测试数据
credit_train <- credit_rand[1:900,]
credit_test <- credit_rand[901:1000,]

c.测试训练数据和准备数据的违约比例是否均衡
prop.table(table(credit_train$default))

prop.table(table(credit_test$default))

4.基于数据训练模型
install.packages("C50")
library(C50)

credit_model <- C5.0(credit_train[-17], credit_train$default)    //建立决策分类器

5.预测模型和性能检测
credit_pred <- predict(credit_model, credit_test)    //预测

测试结果

library(gmodels)

CrossTable(credit_test$default, credit_pred,

prop.chisq=FALSE,prop.c=FALSE,prop.r=FALSE,

dnn=c('actual default', 'predicted default'))



6.提高决策树的准确性

a.加入自适应增强算法

credit_boost10 <- C5.0(credit_train[-21], credit_train$default, trials=10)

b.犯一些比其他错误更严重的错误

error_cost<-matrix(c(0,1,4,0), nrow=2)  //建立代价矩阵,行为预测值,列为实际值

                    

credit_cost < C5.0(credit_train[-21], credit_train$default,costs=error_cost)

Hadoop大数据云计算技术群: 342391093
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息