一种简单的基尼指数计算方法
训练数据:remainData
[[Rid, Student, Age, BuysComputer],
[1, No, Senior, Yes],
[2, No, MiddleAged, Yes],
[3, Yes, MiddleAged, Yes],
[4, No, Senior, No],
[5, Yes, Senior, Yes]]
目标:计算属性Student的基尼指数值:
第一步:获取属性Student在训练数据中值划分即取值{Yes,No}
第二步:统计Student属性每个取值在训练数据中出现的次数StudentYes = 2, StudentNo= 3
计算每个取值占比:
posProbably = 1.0 * StudentYes /(remainData.length - 1);
negProbably = 1 - StudentYes;
第三步:保存属性的值划分时的最小的基尼指数
1. 当Student=No时候:
(1)正例:BuysComputerYes=2,
反例:BuysComputerNo=1;
正例占比:a=2/(1+2)= 2/3 ;
负例占比:b=1/(1+2)=1/3