ответвлено от main/python-labs
2 лабы
Этот коммит содержится в:
22
TEMA8/mod2okz.py
Обычный файл
22
TEMA8/mod2okz.py
Обычный файл
@@ -0,0 +1,22 @@
|
||||
def calculate_correlation(list1, list2):
|
||||
"""Модуль 2: Вычисляет коэффициент корреляции для двух списков"""
|
||||
# Если списки разной длины, используем минимальную длину
|
||||
n = min(len(list1), len(list2))
|
||||
|
||||
# Берем только первые n элементов из каждого списка
|
||||
x = list1[:n]
|
||||
y = list2[:n]
|
||||
mean_x = sum(x)/n
|
||||
mean_y = sum(y)/n
|
||||
chisl = 0
|
||||
sum1 = 0
|
||||
sum2 = 0
|
||||
for i in range(n):
|
||||
chisl += (x[i] - mean_x) * (y[i] - mean_y)
|
||||
sum1 += (x[i] - mean_x) ** 2
|
||||
sum2 += (y[i] - mean_y) ** 2
|
||||
znam = (sum1 * sum2) ** 0.5
|
||||
if znam == 0:
|
||||
return ('Ошибка, деление на ноль')
|
||||
correlation = chisl / znam
|
||||
return correlation
|
||||
Ссылка в новой задаче
Block a user