我正在尝试在 tensorflow 中计算归一化基尼系数,但我无法这样做。我在 numpy 中执行了相同的以下 python 代码,但我想使用 tensorflow 来实现它。如果有任何想法,请帮助。 我将实际使用张量形状 (1,?) 并预测张量形状 (1,?)
蟒蛇代码:
def gini(actual, pred, cmpcol = 0, sortcol = 1):
assert( len(actual) == len(pred) )
all = np.asarray(np.c_[ actual, pred, np.arange(len(actual)) ], dtype=np.float)
all = all[ np.lexsort((all[:,2], -1*all[:,1])) ]
totalLosses = all[:,0].sum()
giniSum = all[:,0].cumsum().sum() / totalLosses
giniSum -= (len(actual) + 1) / 2.
return giniSum / len(actual)
def gini_normalized(a, p):
return gini(a, p) / gini(a, a)