我正在为分类器模型和一些重缩放值创建导出。在一位研究该领域的博士生的指导下,他为我提供了代码,该代码创建了重新缩放的字典供我们使用。 相关代码:
PROBA_RESCALING_N_SAMPLES = 100
PROBA_RESCALING_WINDOW_RADIUS = 0.05
y_proba = classifier.predict_proba(x)
y_proba_rescaling = {proba: y[np.abs(y_proba - proba) <= PROBA_RESCALING_WINDOW_RADIUS].mean() for proba in np.linspace(0, 1, PROBA_RESCALING_N_SAMPLES)}
该错误发生在最后一行,它说:
IndexError:数组的索引过多
我在这里查看了一些论坛的答案,并和一个朋友坐了一个多小时,但我仍然不明白为什么会导致该错误。昨天的代码看起来还不错,今天突然间它被窃听了。
编辑:我错过了几个我忘记提及的重要细节:
1. Y变量是一个包含零和一的数组,它表示我的数据集中用于ML学习的Y轴。
2.我将问题缩小到y[np.abs(y_proba - proba) <= PROBA_RESCALING_WINDOW_RADIUS]
部分。单独运行它会产生错误。
答案 0 :(得分:0)
y[np.abs(y_proba - proba) <= PROBA_RESCALING_WINDOW_RADIUS]
您的意思是:
y[np.abs(y_proba - proba)] <= PROBA_RESCALING_WINDOW_RADIUS
括号位置在哪里改变了?您正在索引Y列表中的比较。这没有任何意义。