分类模型评估:AUC,GINI,KS
除上述几个简单的计算指标外,通常还会用AUC,GINI,KS来评价模型的整体表现
还是使用上一小节泰坦尼克的预测数据titanic_export.csv,用到的变量有Survived_1_percentage 和 Survived,计算代码如下:
A |
B |
|
1 |
=T("D://titanic_export.csv") |
|
2 |
=A1.(Survived_1_percentage).ranks() |
|
3 |
=A1.derive(A2(#):rank) |
|
4 |
=A3.groups(Survived;sum(rank):sum_rank,count(~):count) |
|
5 |
=(A4(2).sum_rank-A4(2).count*(1+A4(2).count)/2)/(A4(2).count*A4(1).count) |
/auc |
6 |
=2*A5-1 |
/gini |
7 |
=A1.sort@z(Survived_1_percentage) |
|
8 |
=A7.len()\10+1 |
|
9 |
=A7.derive(#\A8:decile) |
|
10 |
=A9.groups(decile;count(Survived==1):event,count(Survived==0):non_event) |
|
11 |
=A10.derive(event+cum_event[-1]:cum_event,non_event+cum_non_event[-1]:cum_non_event) |
|
12 |
=A11.derive(cum_event/A4(2).count-cum_non_event/A4(1).count:ks) |
|
13 |
=A12.max(ks) |
/ks |
A5 返回AUC值
A6 返回GINI值
A13 返回KS值
这三个指标的计算方法比较复杂,有兴趣的读者请自行查阅相关资料,本书只提供计算代码供读者使用。
关于各指标的使用方法,可参阅http://www.raqsoft.com.cn/wx/course-data-mining.html模型评估章节。