Я пытаюсь найти оптимальный параметр сглаживания для аддитивного сглаживания с 10-кратной перекрестной проверкой.Я написал следующий код:
alphas = list(np.arange(0.0001, 1.5000, 0.0001))
#empty list that stores cv scores
cv_scores = []
#perform k fold cross validation
for alpha in alphas:
naive_bayes = MultinomialNB(alpha=alpha)
scores = cross_val_score(naive_bayes, x_train_counts, y_train, cv=10, scoring='accuracy')
cv_scores.append(scores.mean())
#changing to misclassification error
MSE = [1 - x for x in cv_scores]
#determining best alpha
optimal_alpha = alphas[MSE.index(min(MSE))]
Я получаю следующую ошибку:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-21-9d171ddceb31> in <module>()
18
19 #determining best alpha
---> 20 optimal_alpha = alphas[MSE.index(min(MSE))]
21 print('\nThe optimal value of alpha is %f' % optimal_alpha)
22
TypeError: 'int' object is not callable
Я запустил один и тот же код для разных значений параметров arange () и K (crossПроверка).Это первый раз, когда я столкнулся с этой ошибкой.Почему?