python - KNN AUC 分数列表对象错误的循环
问题描述
我正在编写一个循环来计算 K 值在 1 到 30 之间的 KNN AUC 分数,但是我在这一行“auc.append(auc(false_positive_rate, true_positive_rate)) 上得到了“TypeError: 'list' object is not callable” ”。当代码在循环之外并且 K 设置为 1 时,它可以工作。
auc = []
for k in range(1, 31, 1):
knn = KNeighborsClassifier(n_neighbors = k)
knn.fit(X_train, y_train)
adaboost = AdaBoostClassifier(n_estimators = 100, base_estimator = None, random_state = 1)
adaboost.fit(X_train, y_train)
y_pred = adaboost.predict(X_test)
false_positive_rate, true_positive_rate, thresholds = roc_curve(y_test, y_pred, pos_label = 1)
auc.append(auc(false_positive_rate, true_positive_rate))
TypeError Traceback (most recent call last)
<ipython-input-54-95504c894a2f> in <module>()
7 y_pred = adaboost.predict(X_test)
8 false_positive_rate, true_positive_rate, thresholds = roc_curve(y_test, y_pred, pos_label = 1)
----> 9 auc.append(auc(false_positive_rate, true_positive_rate))
TypeError: 'list' object is not callable
解决方案
解决了,我在列表中使用了与 auc 库中的函数相同的名称。更改列表变量名称修复了它。
推荐阅读
- sql - Oracle REGEXP_INSTR() 和“az”字符范围与预期不匹配
- sql-server - 将表名和日期作为参数传递给存储过程以使用 where 子句删除行
- opencv - 当我为每个相机使用唯一的内在矩阵时,为什么 R,T 矩阵会出错?
- compiler-construction - 如何标记 printf("result is %d\n",a) ; 词法分析器的语句
- javascript - 输入字段中的ul和li下拉菜单中的点击事件,这是一个建议栏
- database - Yii2 SaaS 认证
- r - 遇到条件 if else
- html - 错误的内容类型标头,没有多部分边界
- go - 如何在循环中创建频道?
- javascript - 仅获取具有字体系列的样式属性的值