在进行文本分析的时候,用到了model_evaluation_utils混淆矩阵,但是他一直在报错TypeError: new() got an unexpected keyword argument ‘labels’
代码
import model_evaluation_utils as meu
y_pred = logistic.predict(X_test)
meu.display_confusion_matrix(true_labels=y_test, predicted_labels=y_pred, classes=[0, 1])
报错
尝试:
https://cloud.tencent.com/developer/ask/sof/798388
在网上一通找之后发现这个网友和我的报错一样,按照他的操作步骤,在model_evaluation_utils.py 的文件里面注释了display_confusion_matrix语句,但是还是报错,发现虽然报同样的错,大家可能情况不一样。
解决方法
问题定位在model_evaluation_utils.py,于是打开这个文件,把每个函数都代入数据运行,定位到错误在pd.MultiIndex
pd.MultiIndex(levels=[['Predicted:'], classes]
,labels=level_labels
),
原因是语法错误,没有labels这个标签,改成codes,里面有用到的都修改,然后就可以调用model_evaluation_utils混淆矩阵了。
pd.MultiIndex(levels=[['Predicted:'], classes]
,codes=level_labels
)
给和我有同样bug的人作为一个参考!