diff --git a/qlib/contrib/report/analysis_model/analysis_model_performance.py b/qlib/contrib/report/analysis_model/analysis_model_performance.py index 0cdc61dda5..a2a26b9c6c 100644 --- a/qlib/contrib/report/analysis_model/analysis_model_performance.py +++ b/qlib/contrib/report/analysis_model/analysis_model_performance.py @@ -46,15 +46,15 @@ def __init__(self, N): self.cuts = {} def __call__(self, x, i): - l = len(x) - if l not in self.cuts: - per_group_num, remain = divmod(l, N) + sample_len = len(x) + if sample_len not in self.cuts: + per_group_num, remain = divmod(sample_len, N) per_group_nums = np.ones(N, dtype=int) * per_group_num if remain > 0: per_group_nums[: remain - remain // 2] += 1 per_group_nums[-(remain // 2) :] += 1 - self.cuts[l] = np.insert(np.cumsum(per_group_nums), 0, 0) - return x[self.cuts[l][i] : self.cuts[l][i + 1]].mean() + self.cuts[sample_len] = np.insert(np.cumsum(per_group_nums), 0, 0) + return x[self.cuts[sample_len][i] : self.cuts[sample_len][i + 1]].mean() _stratifier = _Stratifier(N)