@[TOC](TypeError: int() argument must be a string, a bytes-like object or a number, not ‘_NoValueType’)
使用sklearn.metrics的各种函数遇到的问题——TypeError: int() argument must be a string, a bytes-like object or a number, not ‘_NoValueType’
为了给最近做的事件句分类结果进行效果评估,调用sklearn.metrics的classification_report进行效果评估,但是却很神奇地报一个错:
TypeError: int() argument must be a string, a bytes-like object or a number, not ‘_NoValueType’
尝试调用了sklearn.metrics下的其他方法比如recall_score(),precision_score(),confusion_matrix()也都是报同样的错误.
原始代码很简单,反复检查了没有问题,
#将预测结果转化为2分类结果
pred_2_labels=["event" if len(x)!=0 else "not-event-we-want" for x in results ]
#将原始标签变成2类
orig_2_labels=["not-event-we-want" if x==0 else "event" for x in orig_labels]
c_r=classification_report(orig_2_labels,pred_2_labels,output_dict=True)
于是暴力解决,在服务器上卸载了sklearn,numpy,scipy(卸载后两个是因为好像它俩和sklearn有版本依赖),然后重新pip install sklearn
然后结果就正常了。尽管卸载的和重新安装的sklearn版本号都一样。
但是实际不知道前面到底是什么原因,先记录一下。