使用precision_score
中的scikit-learn
时出现以下错误。
precision_score(y_sm[test_index], prediction)
>>> TypeError: 'list' object is not callable
prediction.shape
>>> (2830,)
y_sm[test_index].shape
>>> (2830,)
这是怎么了?提前谢谢。
答案 0 :(得分:1)
您可以使用以下方法检查您的类型:
type(prediction)
可能会返回:列表。
基于precision_score的文档:
parameters:
y_true : 1d array-like, or label indicator array / sparse matrix
Ground truth (correct) target values.
y_pred : 1d array-like, or label indicator array / sparse matrix
Estimated targets as returned by a classifier.
您必须使用一维数组:
import numpy as np
prediction_a = np.asarray(prediction, dtype=np.float32)
y_sm[test_index]_a = np.asarray(y_sm[test_index], dtype=np.float32)
precision_score(y_sm[test_index]_a, prediction_a)
答案 1 :(得分:1)
您确定没有定义名称为list
的{{1}}吗?
尝试:
precision_score
它返回列表或函数吗?