форкнуто от main/python-labs
Родитель
f1e43207fc
Сommit
b643e0a0b2
@ -0,0 +1,7 @@
|
||||
def read (file):
|
||||
""""Чтение данных из файла"""
|
||||
nums = []
|
||||
with open(file, 'r') as file: # Открытие файла для чтения
|
||||
for line in file:
|
||||
nums.extend(map(float, line.split())) # Добавление всех элементов в список
|
||||
return nums
|
||||
@ -0,0 +1,16 @@
|
||||
def correlation(list1, list2):
|
||||
"""Расчёт коэффициента корреляции"""
|
||||
n = min(len(list1), len(list2)) # Общая длина
|
||||
list1 = list1[:n]
|
||||
list2 = list2[:n]
|
||||
mean1 = sum(list1) / n
|
||||
mean2 = sum(list2) / n
|
||||
chislitel = sum((list1[i] - mean1) * (list2[i] - mean2) for i in range(n))
|
||||
#Числитель формулы корреляции
|
||||
znamenatel1 = sum((x - mean1) ** 2 for x in list1)
|
||||
znamenatel2 = sum((y - mean2) ** 2 for y in list2)
|
||||
|
||||
if znamenatel1 == 0 or znamenatel2 == 0:
|
||||
return 0
|
||||
|
||||
return chislitel/(znamenatel1 * znamenatel2) ** 0.5
|
||||
@ -0,0 +1,8 @@
|
||||
import Modul1
|
||||
import Modul2
|
||||
file1 = input("Введите имя первого файла: ")
|
||||
file2 = input("Введите имя второго файла: ")
|
||||
list1 = Modul1.read(file1)
|
||||
list2 = Modul1.read(file2)
|
||||
corr = Modul2.correlation(list1, list2)
|
||||
print("Коэффициент корреляции:", corr)
|
||||
Загрузка…
Ссылка в новой задаче