У меня есть список списков в Python, и я пытаюсь поместить максимум каждого подсписка в его собственный список.В сети я нашел несколько решений, которые, кажется, должны работать для этого, но я продолжаю получать эту ошибку: TypeError: объект 'list' не вызывается.Это может быть связано с тем, как в первую очередь были созданы вложенные списки (из модели MultinomialNB).
Вот подробности вокруг кода.
Я создал модель MultinomialNB.
nb_classifier = MultinomialNB()
Я подгонял его под данные и использую его для прогнозирования вероятностей классификации для новых данных.Я выводю вероятности в список, который создает вложенный список:
pred = nb_classifier.predict_proba(stuff_to_assign).tolist()
Кажется, что это работает нормально, и, кажется, создает список списков.Вывод «pred» выглядит следующим образом:
[[0.9679623959303013,
0.0004919066096350094,
0.0025707756884416877,
0.00543455013719153,
0.009417511656556068,
0.004419688570339585,
0.0056471363437299105,
0.004056035063805071],
[0.002845247494316791,
0.000370155483232512,
0.9749812181697922,
0.004089452129289453,
0.007086596337192678,
0.00332577754892364,
0.004249421417094243,
0.003052131420158753]]
Я подтвердил, что это список:
type(pred)
List
Я хочу получить максимальное значение в каждом подсписке и поместитьэто в своем собственном списке.Идеальный результат:
[0.9679623959303013,0.9749812181697922]
Я уже пробовал:
maxes = [max(p) for p in pred]
И я получаю «Ошибка типа: объект списка не вызывается».Любые идеи о том, как получить желаемый результат?Это просто проблема с вложенными списками или это связано с тем, что мои вложенные списки создаются на основе модели?