daily pastebin goal
15%
SHARE
TWEET

Untitled

a guest May 16th, 2018 113 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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()
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top