主页有数据集可以下载。
实训1 处理信用卡数据异常值(数据预处理)
(1)读取信用卡数据。
#读取数据
credit <- read.csv('F:/R-Project/data/credit_card.csv')
(2)丢弃逾期、呆账、强制停卡、退票、拒往为1、瑕疵户为2的记录。
index1 <- credit$逾期 == 1
index2 <- credit$呆账 == 1
index3 <- credit$强制停卡记录 == 1
index4 <- credit$退票 == 1
index5 <- credit$拒往记录 == 1
index6 <- credit$瑕疵户 == 2
clean_credit1 <- credit[-which(index1&index2&index3&index4&index5&index6),]
(3)丢弃呆账、强制停卡、退票为1、拒往为2的记录。
#丢弃呆账、强制停卡、退票为1、拒往为2的记录
index1 <- clean_credit1$逾期 == 1
index3 <- clean_credit1$强制停卡记录 == 1
index4 <- clean_credit1$退票 == 1
index7 <- clean_credit1$拒往记录 == 2
clean_credit2 <- clean_credit1[-which(index1&index3&index4&index7),]
(4)丢弃频率为5、刷卡金额不等于1的数据。
#丢弃频率为5、刷卡金额不等于1的数据
index8 <- clean_credit2$频率 ==5
index9 <- clean_credit2$月刷卡额 != 1
clean_data <- clean_credit2[-which(index8&index9),]
(5)查看数据
实训2 构建信用卡客户风险评价关键特征
(1)根据特征瑕疵户、逾期、呆账、强制停卡、退票和拒往记录,构建历史行为特征。
#构建历史行为特征
history <- clean_data[,c('瑕疵户','逾期','呆账','强制停卡记录','退票','拒往记录')]
(2)根据特征借款余额、个人月收入、个人月开销、家庭收入和月刷卡额,构建出经济风险情况特征。
#构建出经济风险情况特征
economy <- clean_data[,c('借款余额','个人月收入','个人月开销','家庭月收入','月刷卡额')]
(3)根据特征职业、年龄、房产信息,构建出收入风险情况特征。
#构建出收入风险情况特征
income <- clean_data[,c('职业','年龄','住家')]
(4)标准化历史行为、经济风险情况、收入风险情况特征。
#对三个特征进行合并
trait <- cbind(history,economy)
trait <- cbind(trait,income)
#对这些特征进行标准化
traitscal <- scale(trait)
实训3 构建K-Means聚类模型
(1)构建K-Means聚类模型,使类别为5。
set.seed(123)
result <-kmeans(traitscal,5)#调用kmeans算法,聚类中心为5
(2)训练K-Means聚类模型,并求出聚类中心和每类的用户数目。
round(result$cluster)#查看聚类中心
table(result$cluster)#统计不同类别样本数目
(3)对客户分群进行可视化
library(fmsb)#导入fmsb包
max <- apply(result$centers, 2, max)#获取centers中每列的最大值
min <- apply(result$centers, 2, min)#获取centers中每列的最小值
df <- data.frame(rbind(max, min, result$centers))#创建数据集
radarchart(df = df, seg = 5, plty = c(1:5), vlcex = 1, plwd = 2)
#设置雷达图的样式,每个轴的段数为5,设置绘图数据的线型向量为1:5,重复使用
#标签字体放大一倍,设置绘图数据的线宽向量为2。
#给雷达图加图例
L <- 1
for(i in 1:5){
legend(1.3, L, legend = paste("客户群", i), lty = i, lwd = 3, col = i, bty = "n")
L <- L - 0.2
}
结果分析:
从雷达图中可以看出每类客户的各项优缺点,
优势特征 | 劣势特征 | ||||
客户群1 | 月刷卡额 |
|
| 历史行为 |
|
客户群2 | 历史行为 | 收入 | 月刷卡额、借款余额 | 个人月收入、个人月开销、家庭月收入 |
|
客户群3 | 历史行为 | 年龄 |
| 经济 |
|
客户群4 | 历史行为 | 个人月开销 |
| 年龄 |
|
客户群5 | 历史行为 | 个人月收入 | 家庭月收入 | 个人月开销 |
|
客户群1:该类用户是风险最高的用户,该类用户月刷卡消费额度大,但历史行为差,没有良好的个人纪录,应重点监控或减缩该类用户的信用卡权限。
客户群2:该类用户有良好的历史行为,但个人月收入和家庭月收入较差,属于中风险人群。
客户群3:该类用户有良好的历史行为,但经济状况的记录较差,年龄较高,该类人群可能属于离退休群体,属于低风险人群。
客户群4:该类用户有良好的历史行为,借款余额和个人月开销较高,刷卡余额较低,年龄较低,可能是高消费的年轻人,属于中风险人群。
客户群5:该类用户有良好的历史行为,个人收入,家庭收入高,有良好的历史记录但个人开销与年龄较低,值得信任。
由此可分析得出:
一般客户:客户群3
重要发展客户:客户群5
重要挽留客户:客户群4
重要保持客户:客户群2
低价值客户:客户群1