Advertisement
Guest User

Untitled

a guest
May 16th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.69 KB | None | 0 0
  1. ''' - - - - - - - - - - - - - - - - - - - - - Lista 1 : Zadanie 1 - - - - - - - - - - - - - - - - - - - - - - - '''
  2.  
  3. import matplotlib.pyplot as plt
  4. import numpy as np
  5. import scipy.io
  6.  
  7. u1 = []
  8. y1 = []
  9. u2 = []
  10. y2 = []
  11. u3 = []
  12. y3 = []
  13.  
  14.  
  15. ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' #wpisywanie danych do tablic
  16.  
  17.  
  18. file = scipy.io.loadmat('zadanie_1i2_zbior_1.mat')
  19. data = file['dane1']
  20.  
  21. for x in data:
  22. i = 0
  23. u1.append(x[i])
  24. y1.append(x[i+1])
  25.  
  26. file = scipy.io.loadmat('zadanie_1i2_zbior_2.mat')
  27. data = file['dane2']
  28.  
  29. for x in data:
  30. i = 0
  31. u2.append(x[i])
  32. y2.append(x[i+1])
  33.  
  34. file = scipy.io.loadmat('zadanie_1i2_zbior_3.mat')
  35. data = file['dane3']
  36.  
  37. for x in data:
  38. i = 0
  39. u3.append(x[i])
  40. y3.append(x[i+1])
  41.  
  42.  
  43. ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' #wyświetlanie
  44.  
  45.  
  46. print("\nDane z pierwszego pliku : \n")
  47. for i in range(0,len(u1)):
  48. print(u1[i],y1[i])
  49. print("\nDane z drugiego pliku : \n")
  50. for i in range(0,len(u2)):
  51. print(u2[i],y2[i])
  52. print("\nDane z trzeciego pliku : \n")
  53. for i in range(0, len(u3)):
  54. print(u3[i], y3[i])
  55.  
  56.  
  57. ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' #zastosowanie algorytmu - - - pierwszy model
  58.  
  59.  
  60. def tetaf1(y,u):
  61. suma1=0
  62. suma2=0
  63. for i in range(len(y)):
  64. suma1+=(int(y[i])*int(u[i]))
  65. suma2+=(u[i]**2)
  66. return suma1/suma2
  67.  
  68. teta11 = tetaf1(y1,u1)
  69. teta12 = tetaf1(y2,u2)
  70. teta13 = tetaf1(y3,u3)
  71.  
  72. def model(teta,u):
  73. return teta*u
  74.  
  75. values1 = []
  76. values2 = []
  77. values3 = []
  78.  
  79. for i in range(len(u1)):
  80. values1.append(model(teta11,u1[i]))
  81. for i in range(len(u2)):
  82. values2.append(model(teta12, u2[i]))
  83. for i in range(len(u3)):
  84. values3.append(model(teta13, u3[i]))
  85.  
  86.  
  87. ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' #zastosowanie algorytmu - - - drugi model
  88.  
  89.  
  90. def teta0(u, y):
  91. return np.average(y) - teta1(u, y) * np.average(u)
  92.  
  93.  
  94. def teta1(u, y):
  95. theta_licznik = 0
  96. theta_mianownik = 0
  97. for i in range(len(u)):
  98. theta_licznik += int(y[i]) * int(u[i]) - int(np.average(y)) * int(np.average(u))
  99. theta_mianownik += u[i] ** 2 - np.average(u) ** 2
  100. theta = ((1 / len(u)) * theta_licznik) / ((1 / len(u)) * theta_mianownik)
  101. return theta
  102.  
  103. teta21 = teta1(u1,y1)
  104. teta22 = teta1(u2,y2)
  105. teta23 = teta1(u3,y3)
  106.  
  107. teta31 = teta0(u1,y1)
  108. teta32 = teta0(u2,y2)
  109. teta33 = teta0(u3,y3)
  110.  
  111. def model2(teta1,teta0,u):
  112. return teta1*u + teta0
  113.  
  114. values4 = []
  115. values5 = []
  116. values6 = []
  117.  
  118. for i in range(len(u1)):
  119. values4.append(model2(teta21,teta31, u1[i]))
  120. for i in range(len(u2)):
  121. values5.append(model2(teta22,teta32, u2[i]))
  122. for i in range(len(u3)):
  123. values6.append(model2(teta23,teta33, u3[i]))
  124.  
  125. ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' #rysowanie
  126.  
  127.  
  128. print('\nDla modelu .. | y = teta*u\n') #pierwszy model
  129. print('Teta1 =',teta11,'\nTeta2 =',teta12,'\nTeta3 =',teta13)
  130.  
  131. plt.figure()
  132. plt.plot(u1,values1,c='r')
  133. plt.title('Dane 1 - pierwszy model')
  134. plt.scatter(u1,y1)
  135. plt.ylabel('Zapamiętana ilość ')
  136. plt.xlabel('Czas przed telewizorem')
  137.  
  138. plt.figure()
  139. plt.plot(u2,values2,c='y')
  140. plt.title('Dane 2 - pierwszy model')
  141. plt.scatter(u2,y2)
  142. plt.ylabel('Lata edukacji ')
  143. plt.xlabel('Ilość spędzonych przy komputerze godzin dziennie')
  144.  
  145. plt.figure()
  146. plt.plot(u3,values3,c='g')
  147. plt.title('Dane 3 - pierwszy model')
  148. plt.scatter(u3,y3)
  149. plt.ylabel('Cena za metr kwadratowy ')
  150. plt.xlabel('Liczba wolnych powierzchni biurowych (%)')
  151.  
  152. print('\nDla modelu .. | y = teta1*u - teta0\n') #drugi model
  153. print('1.\nTeta0 =',teta31,'\nTeta1 =',teta21,'\n2.\nTeta0 =',teta32)
  154. print('Teta1 =',teta22,'\n3.\nTeta0=',teta33,'\nTeta1 =',teta23)
  155.  
  156. plt.figure()
  157. plt.plot(u1,values4,c='r')
  158. plt.title('Dane 1 - drugi model')
  159. plt.scatter(u1,y1)
  160. plt.ylabel('Zapamiętana ilość ')
  161. plt.xlabel('Czas przed telewizorem')
  162.  
  163. plt.figure()
  164. plt.plot(u2,values5,c='y')
  165. plt.title('Dane 2 - drugi model')
  166. plt.scatter(u2,y2)
  167. plt.ylabel('Lata edukacji ')
  168. plt.xlabel('Ilość spędzonych przy komputerze godzin dziennie')
  169.  
  170. plt.figure()
  171. plt.plot(u3,values6,c='g')
  172. plt.title('Dane 3 - drugi model')
  173. plt.scatter(u3,y3)
  174. plt.ylabel('Cena za metr kwadratowy ')
  175. plt.xlabel('Liczba wolnych powierzchni biurowych (%)')
  176.  
  177. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement