Объект 'list' не вызывается для проверки точности счета? - PullRequest
2 голосов
/ 14 июля 2020

Я создаю модель с помощью SVM. Я хотел сохранить модель классификатора и параметры, которые использовались в файле Excel и .json, который затем будет открыт, чтобы увидеть лучшую модель из всех файлов .json.

Однако я получил эту ошибку, когда попытался запустить вторую часть кода:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-9fd85866127d> in <module>
     88 for x in func:
     89     count=count+1
---> 90     train_val(x[0],x[1],x[2],count)
     91     end_time = time.time()

<ipython-input-4-9fd85866127d> in train_val(kernel, c, gamma, count)
     43             scoring.append(score(y_test, predictions))
     44         else:
---> 45             scoring.append(score(y_test, predictions,average='macro'))
     46 
     47     # saving kernel that is used to the list

TypeError: 'list' object is not callable

Я не поместил ничего, что содержит слово 'list', поэтому его нельзя было переопределить. Что делает невозможным вызов списка очков? Спасибо.

1 Ответ

2 голосов
/ 14 июля 2020

Вы создаете списки:

accuracy = []
precision = []
recall = []
f1 = []
...

и определяете оценки для хранения этих списков:

scores = [accuracy, precision, recall, f1]

Затем вы перебираете эти списки:

for score in scores:
   ...

Но внутри этого l oop вы используете эти списки, как будто они функции:

score(y_test, predictions)
...