首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Numpy.float64的对象在auc中不可调用(召回,精度)

Numpy.float64的对象在auc中不可调用(召回,精度)
EN

Stack Overflow用户
提问于 2019-05-25 19:49:48
回答 3查看 8K关注 0票数 2

当我运行以下命令时程序抛出['numpy.float64' object is not callable]错误:

代码语言:javascript
复制
auc(recall, precision)

直到今天,我才成功地运行了这个程序。我很感激在这方面的任何帮助,谢谢!我也用()试过了,但不起作用。

代码语言:javascript
复制
fit_logreg = LogisticRegression(class_weight='balanced', verbose=0)

fit_logreg.set_params(penalty = 'l2',
                  C = 0.00001, 
                  n_jobs=-1,
                  verbose=0
                  )
###########################################################
###4#TRAIN THE FITTING MODEL ON THE TRAINING DATASET###
###########################################################
# fit a model
fit_logreg.fit(trainX, trainy)

# score the test dataset

predictions_logreg = fit_logreg.predict(testX)
#predictions_logreg = predictions_logreg.values.ravel() 

###########################################################
###5#OOB ERROR AND CLASSIFICATION SUCCESS METRICS###
###########################################################

##ROC AUC SCORE
roc_auc_score(testy, predictions_logreg,average='macro')

##RECALL-PRECISION CURVE

# predict probabilities
probs = fit_logreg.predict_proba(testX)
# keep probabilities for the positive outcome only
probs = probs[:, 1]
# predict class values
yhat = predictions_logreg
# calculate precision-recall curve
precision, recall, thresholds = precision_recall_curve(testy, probs)
# calculate F1 score
f1 = f1_score(testy, yhat)

# calculate precision-recall AUC
auc(recall, precision)

这是我得到的错误:

代码语言:javascript
复制
TypeErrorTraceback (most recent call last)
<ipython-input-1-74f87a22f33a> in <module>()
     68 # calculate precision-recall AUC
     69 #auc = auc(recall, precision)
---> 70 auc(recall, precision)

TypeError: 'numpy.float64' object is not callable
EN

回答 3

Stack Overflow用户

发布于 2019-05-25 20:30:14

当您运行以下代码行时(在回溯中注释掉):

代码语言:javascript
复制
auc = auc(recall, precision)

您将名称空间中的函数auc替换为numpy对象。再次调用auc会抛出错误。

票数 10
EN

Stack Overflow用户

发布于 2020-09-06 19:26:58

您可以按如下方式对此问题进行分类:

代码语言:javascript
复制
from sklearn import metrics

metrics.auc(recall, precision)
票数 0
EN

Stack Overflow用户

发布于 2020-10-09 16:17:12

您应该使用print(auc(recall, precision))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56304562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档