Я создал модель, которая может упорядочивать объекты разной длины, и хочу измерить ее производительность. Модель получает на вход зашифрованные объекты и выводит упорядоченные объекты. Например, у меня есть вход x= [[ 5, 6, 4, 3, 1, 2], [3,2,4,1], [2,1,3],.....] и вывод: y=[[5, 6, 3, 1, 2, 4], [ 1,3, 2, 4], [1,2,3].....] Я хочу использовать тау Кендалла вычислить корреляцию списка x и y. Но я не уверен, смогу ли я это сделать, потому что в Интернете много примеров, показывающих использование тау Кендалла только с одномерным списком, поэтому должен ли я вычислять тау Кендалла для каждого списка отдельно и усреднять их? и если мне не нужно делать их отдельно, как я могу работать со списками разной длины? Я пытался сделать scipy.stat.kendalltau(x,y), но это выдает ошибку из-за разной длины списков.
1 ответ
Похоже, что все элементы x и y являются списками одинаковой длины. Вам просто нужно перебирать списки параллельно, используя zip
.
from scipy import stats
x= [[ 5, 6, 4, 3, 1, 2], [3,2,4,1], [2,1,3]]
y=[[5, 6, 3, 1, 2, 4], [ 1,3, 2, 4], [1,2,3]]
for l1, l2 in zip(x, y):
print(stats.kendalltau(l1, l2))
KendalltauResult(correlation=0.6, pvalue=0.1361111111111111)
KendalltauResult(correlation=-0.6666666666666669, pvalue=0.3333333333333333)
KendalltauResult(correlation=0.33333333333333337, pvalue=1.0)
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.