Keksike

Черновик к 5ой лабе

Mar 30th, 2022 (edited)
696
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.46 KB | None | 0 0
  1. from statistics import mean
  2. import os
  3. import pandas as pd
  4. import numpy as np
  5. import seaborn as sn
  6.  
  7. def srednee(class_, num_of_priznak):
  8.   priznak = class_.get(num_of_priznak)
  9.   sr = 0
  10.   for i in range(15):
  11.     sr += priznak[i]
  12.   sr /= 15
  13.   sr = round(sr, 2)
  14.   return sr
  15.  
  16. def stepA(class_, list_of_sr_A, num_of_priznak):
  17.   list = []
  18.   priznak = class_.get(num_of_priznak)
  19.   for i in range(15):
  20.     list.append(round(((priznak[i]-list_of_sr_A[num_of_priznak])**2),2))
  21.   return list
  22.  
  23. def stepBC(class_1, class_2, list_of_sr_BC, num_of_priznak):
  24.   list = []
  25.   priznakB = class_1.get(num_of_priznak)
  26.   priznakC = class_2.get(num_of_priznak)
  27.   for i in range(15):
  28.     list.append(round(((priznakB[i]-list_of_sr_BC[num_of_priznak])**2),2))
  29.   for i in range(15):
  30.     list.append(round(((priznakC[i]-list_of_sr_BC[num_of_priznak])**2),2))
  31.   return list
  32.  
  33. def raznica(list1, list2, list3, list4, i):
  34.   a = (((list1[i]-list2[i])**2)/(list3[i]+list4[i]))
  35.   return a
  36.  
  37. class_A = {0: [18, 13, 11, 15, 16, 19, 17, 12, 13, 11, 15, 16, 19, 17, 13],
  38.            1: [22, 23, 24, 24, 25, 25, 26, 27, 27, 27, 27, 29, 29, 30, 31],
  39.            2: [26, 24, 20, 20, 20 ,20, 28, 28, 22, 24, 26, 24, 22, 20, 26],
  40.            3: [35, 38, 29, 33, 37, 42, 40, 32, 35, 43, 46, 39, 44, 36, 41],
  41.            4: [11, 13, 19, 16, 12, 11, 17, 18, 13, 11, 15, 16, 19, 17, 12],
  42.            5: [5, 6, 9, 8, 6, 5, 8, 9, 6, 5, 7, 8, 9, 8, 6],
  43.            6: [18, 19, 15, 17, 19, 21, 20, 16, 18, 22, 23, 20, 22, 8, 21]}
  44.  
  45. class_B = {0: [19, 16, 12, 11, 17, 18, 13, 18, 13, 18, 13, 11, 15, 16, 19],
  46.            1: [38, 39, 41, 41, 42, 43, 43, 44, 44, 44, 45, 46, 47, 48, 49],
  47.            2: [22, 26, 22, 28, 22, 20, 24, 26, 28, 20, 26, 24, 20, 20, 20],
  48.            3: [26, 31, 21, 25, 28, 23, 32, 21, 26, 30, 18, 23, 28, 32, 26],
  49.            4: [13, 11, 15, 16, 19, 17, 13, 19, 16, 12, 11, 17, 18, 11, 14],
  50.            5: [6, 5, 7, 8, 9, 8, 6, 9, 8, 6, 5, 8, 9, 5, 7],
  51.            6: [13, 16, 11, 13, 14, 12, 16, 11, 13, 15, 9, 12, 14, 16, 13]}
  52.  
  53. class_C = {0: [17, 12, 13, 11, 15, 16, 19, 17, 13, 19, 16, 12, 18, 13, 11],
  54.            1: [43, 45, 45, 46, 47, 48, 49, 49, 50, 51, 51, 53, 53, 53, 54],
  55.            2: [20, 28, 28, 22, 24, 26, 24, 22, 20, 26, 22, 26, 22, 28, 22],
  56.            3: [57, 51, 59, 55, 61, 57, 49, 53, 61, 55, 59, 51, 58, 62, 55],
  57.            4: [17, 13, 19, 16, 12, 11, 17, 18, 11, 14, 15, 13, 19, 17, 12],
  58.            5: [8, 6, 9, 8, 6, 5, 8, 9, 5, 7, 7, 6, 9, 8, 6],
  59.            6: [29, 26, 30, 28, 31, 29, 25, 27, 31, 28, 30, 26, 29, 31, 28]}
  60.  
  61. dataA = pd.DataFrame([[18, 13, 11, 15, 16, 19, 17, 12, 13, 11, 15, 16, 19, 17, 13],
  62.                      [22, 23, 24, 24, 25, 25, 26, 27, 27, 27, 27, 29, 29, 30, 31],
  63.                      [26, 24, 20, 20, 20 ,20, 28, 28, 22, 24, 26, 24, 22, 20, 26],
  64.                      [35, 38, 29, 33, 37, 42, 40, 32, 35, 43, 46, 39, 44, 36, 41],
  65.                      [11, 13, 19, 16, 12, 11, 17, 18, 13, 11, 15, 16, 19, 17, 12],
  66.                      [5, 6, 9, 8, 6, 5, 8, 9, 6, 5, 7, 8, 9, 8, 6],
  67.                      [18, 19, 15, 17, 19, 21, 20, 16, 18, 22, 23, 20, 22, 8, 21]],
  68.                index=['pr1', 'pr2', 'pr3', 'pr4', 'pr5', 'pr6', 'pr7'],
  69.              columns=['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15'])
  70.  
  71. dataB = pd.DataFrame([[19, 16, 12, 11, 17, 18, 13, 18, 13, 18, 13, 11, 15, 16, 19],
  72.                       [38, 39, 41, 41, 42, 43, 43, 44, 44, 44, 45, 46, 47, 48, 49],
  73.                       [22, 26, 22, 28, 22, 20, 24, 26, 28, 20, 26, 24, 20, 20, 20],
  74.                       [26, 31, 21, 25, 28, 23, 32, 21, 26, 30, 18, 23, 28, 32, 26],
  75.                       [13, 11, 15, 16, 19, 17, 13, 19, 16, 12, 11, 17, 18, 11, 14],
  76.                       [6, 5, 7, 8, 9, 8, 6, 9, 8, 6, 5, 8, 9, 5, 7],
  77.                       [13, 16, 11, 13, 14, 12, 16, 11, 13, 15, 9, 12, 14, 16, 13]],
  78.                 index=['pr1', 'pr2', 'pr3', 'pr4', 'pr5', 'pr6', 'pr7'],
  79.               columns=['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15'])
  80.  
  81. dataC = pd.DataFrame([[17, 12, 13, 11, 15, 16, 19, 17, 13, 19, 16, 12, 18, 13, 11],
  82.                       [43, 45, 45, 46, 47, 48, 49, 49, 50, 51, 51, 53, 53, 53, 54],
  83.                       [20, 28, 28, 22, 24, 26, 24, 22, 20, 26, 22, 26, 22, 28, 22],
  84.                       [57, 51, 59, 55, 61, 57, 49, 53, 61, 55, 59, 51, 58, 62, 55],
  85.                       [17, 13, 19, 16, 12, 11, 17, 18, 11, 14, 15, 13, 19, 17, 12],
  86.                       [8, 6, 9, 8, 6, 5, 8, 9, 5, 7, 7, 6, 9, 8, 6],
  87.                       [29, 26, 30, 28, 31, 29, 25, 27, 31, 28, 30, 26, 29, 31, 28]],
  88.                index=['pr1', 'pr2', 'pr3', 'pr4', 'pr5', 'pr6', 'pr7'],
  89.              columns=['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15'])
  90.  
  91. list_of_srA = []
  92. list_of_srBC = []
  93. list_of_srA06 = []
  94. list_of_srBC06 = []
  95. itog = []
  96. dataA = dataA.transpose()
  97. dataB = dataB.transpose()
  98. dataC = dataC.transpose()
  99.  
  100. for i in range(7):
  101.   list_of_srA.append(srednee(class_A, i))
  102.  
  103. for i in range(7):
  104.   list_of_srBC.append((srednee(class_B, i)+srednee(class_C, i))//2)
  105.  
  106. for i in range(7):
  107.   list_of_srA06.append(round(mean(stepA(class_A, list_of_srA, i)),2))
  108.  
  109. for i in range(7):
  110.   list_of_srBC06.append(round(mean(stepBC(class_B, class_C, list_of_srBC, i)),2))
  111.  
  112. for i in range(7):
  113.   itog.append(round(raznica(list_of_srA, list_of_srBC, list_of_srA06, list_of_srBC06, i),4))
  114. print(itog)
  115.  
  116. numeric_col = ['pr1','pr2','pr3','pr4', 'pr5', 'pr6', 'pr7']
  117. corr_matrix = dataA.loc[:,numeric_col].corr()
  118. print(corr_matrix)
Add Comment
Please, Sign In to add comment