1. 程式人生 > >分析貸款申請風險-基於決策樹(分而治之演算法)

分析貸款申請風險-基於決策樹(分而治之演算法)

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