分箱结束条件判断(单调或u型)

田野老师,您好,有1个大问题3个小问题向您请教,就是分箱结束条件单调性的判断。具体如下:
在《金融信贷风控的机器学习实战》def BadRateMonotone()中,badRateNotMonotone = [badRate<badRate[i+1] and badRate[i] < badRate[i-1] or badRate[i]>badRate[i+1] and badRate[i] > badRate[i-1] for i in range(1,len(badRate)-1)]分几种情况?
从结束的判断条件出发,包括单增badRate[i]<badRate[i+1]、单减badRate[i]>badRate[i+1],那么u型怎么判断?上面的逻辑判断是否是按这三种情况来写的?
 
还请您百忙中不吝赐教,谢谢!
[/i][/i][/i][/i]

田野

赞同来自: fish

你好!你的贴的代码不正确,正确的是
badRateNotMonotone = [badRate[i]<badRate[i+1] and badRate < badRate[i-1] or badRate>badRate[i+1] and badRate > badRate[i-1]
                   for i in range(1,len(badRate)-1)]
对于一个list,如果发现存在非端点值,它比相邻的两个值都大或者都小,意味着在此处是不单调的,则整个list不单调。    

樑樑小哥

赞同来自:

田老师, 代码少了[i],我想问的是上面几种逻辑判断包括几种情况?为什么是哪几个逻辑判断式?谢谢

田野

赞同来自:

所谓单调,对于一个序列只有2种情况: 1,每一个元素不小于前面的元素,或者 2,每一个元素不大于前面的元素。   除此之外都是不单调。

要回复问题请先登录注册