Csar Fdez 4 дні тому
джерело
коміт
c906195655

+ 7828
- 0
data/2025-01-01_3_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7830
- 0
data/2025-02-03_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7829
- 0
data/2025-02-04_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7637
- 0
data/2025-03-10_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7824
- 0
data/2025-03-11_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7832
- 0
data/2025-03-12_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7832
- 0
data/2025-03-13_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7830
- 0
data/2025-03-14_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7834
- 0
data/2025-03-15_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7835
- 0
data/2025-03-16_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7832
- 0
data/2025-03-17_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 3941
- 0
data/2025-03-21_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7815
- 0
data/2025-03-22_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7820
- 0
data/2025-03-23_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7811
- 0
data/2025-03-24_3_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7812
- 0
data/2025-03-24_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7811
- 0
data/2025-03-25_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7809
- 0
data/2025-03-26_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7817
- 0
data/2025-03-27_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7402
- 0
data/2025-03-28_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 4779
- 0
data/2025-03-31_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7813
- 0
data/2025-04-01_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7817
- 0
data/2025-04-02_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 7815
- 0
data/2025-04-03_5_.csv
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 26
- 17
v2_unsupervised.py Переглянути файл

@@ -22,6 +22,7 @@ from collections import Counter
22 22
 
23 23
 parser = OptionParser()
24 24
 parser.add_option("-t", "--train", dest="train", help="Trains the models (false)", default=False, action="store_true")
25
+parser.add_option("-p", "--plot", dest="plot", help="Plot Data (false)", default=False, action="store_true")
25 26
 parser.add_option("-n", "--timesteps", dest="timesteps", help="TIME STEPS ", default=12)
26 27
 
27 28
 (options, args) = parser.parse_args()
@@ -45,25 +46,31 @@ for j in listofFacilitySetpoint:
45 46
         datafiles[j].append([])
46 47
 
47 48
 # Freezer, SP=-26
48
-datafiles['5-26'][0]=['2025-01-25_5_','2025-01-26_5_','2025-01-29_5_','2025-01-30_5_','2025-01-31_5_','2025-02-01_5_','2025-02-02_5_']
49
+datafiles['5-26'][0]=['2025-01-25_5_','2025-01-26_5_','2025-01-29_5_','2025-01-30_5_','2025-01-31_5_','2025-02-01_5_','2025-02-02_5_','2025-02-03_5_','2025-02-04_5_']
49 50
 datafiles['5-26'][1]=['2024-12-11_5_', '2024-12-12_5_','2024-12-13_5_','2024-12-14_5_','2024-12-15_5_']
50
-datafiles['5-26'][2]=['2024-12-18_5_','2024-12-19_5_']
51
+datafiles['5-26'][2]=['2024-12-21_5_','2024-12-22_5_','2024-12-23_5_','2024-12-24_5_','2024-12-25_5_','2024-12-26_5_']
51 52
 datafiles['5-26'][3]=['2024-12-28_5_','2024-12-29_5_','2024-12-30_5_','2024-12-31_5_','2025-01-01_5_'] 
52 53
 datafiles['5-26'][4]=['2025-02-13_5_','2025-02-14_5_','2025-02-15_5_','2025-02-16_5_','2025-02-17_5_','2025-02-18_5_','2025-02-19_5_'] 
53 54
 
54 55
 # Freezer, SP=-18
55
-datafiles['5-18'][0]=['2025-01-21_5_','2025-01-22_5_','2025-01-23_5_',] # no hi son aquestx arxius
56
+datafiles['5-18'][0]=['2025-01-21_5_','2025-01-22_5_','2025-01-23_5_'] # 
57
+datafiles['5-18'][1]=['2025-02-17_5_','2025-02-18_5_','2025-02-19_5_'] # 
58
+datafiles['5-18'][2]=['2025-03-10_5_','2025-03-11_5_','2025-03-12_5_'] # 
59
+datafiles['5-18'][3]=['2025-01-04_5_','2025-01-05_5_','2025-01-06_5_','2025-01-07_5_'] # 
60
+datafiles['5-18'][4]=['2025-04-30_5_','2025-05-01_5_','2025-05-02_5_','2025-05-03_5_','2025-05-04_5_','2025-05-05_5_'] #  Faltens aquestes dades 
56 61
 
57 62
 # Freezer, SP=-22
58 63
 datafiles['5-22'][0]=['2025-03-13_5_','2025-03-14_5_','2025-03-15_5_','2025-03-16_5_']  
59
-datafiles['5-22'][1]=['2025-03-23_5_','2025-03-24_5_','2025-03-25_5_']  # es solapa amb el seguent test 
60
-datafiles['5-22'][2]=[]  
64
+datafiles['5-22'][1]=['2025-03-21_5_','2025-03-22_5_','2025-03-23_5_','2025-03-24_5_','2025-03-25_5_']  #  
65
+datafiles['5-22'][2]=['2025-03-26_5_','2025-03-27_5_','2025-03-28_5_']  
66
+datafiles['5-22'][3]=['2025-03-31_5_','2025-04-01_5_','2025-04-02_5_','2025-04-03_5_']  
67
+datafiles['5-22'][4]=['2025-03-17_5_']  
61 68
 
62 69
 # Refrigerator  0  
63 70
 datafiles['30'][0]=['2025-01-21_3_','2025-01-22_3_','2025-01-23_3_','2025-01-24_3_','2025-01-25_3_','2025-01-26_3_']
64 71
 datafiles['30'][1]=['2024-12-11_3_','2024-12-12_3_','2024-12-13_3_','2024-12-14_3_','2024-12-15_3_']
65 72
 datafiles['30'][2]=['2024-12-18_3_','2024-12-19_3_','2024-12-20_3_']
66
-datafiles['30'][3]=['2024-12-28_3_','2024-12-29_3_','2024-12-30_3_','2024-12-31_3_']
73
+datafiles['30'][3]=['2024-12-28_3_','2024-12-29_3_','2024-12-30_3_','2024-12-31_3_','2025-01-01_3_']
67 74
 datafiles['30'][4]=['2025-02-12_3_','2025-02-13_3_','2025-02-14_3_','2025-02-15_3_','2025-02-16_3_','2025-02-17_3_','2025-02-18_3_','2025-02-19_3_']   # es solapa amb ventilador no funcionant. i els dies 20 i 21 no hi son
68 75
 
69 76
 
@@ -71,7 +78,7 @@ datafiles['30'][4]=['2025-02-12_3_','2025-02-13_3_','2025-02-14_3_','2025-02-15_
71 78
 datafiles['32'][0]=['2025-03-13_3_','2025-03-14_3_','2025-03-15_3_','2025-03-16_3_']
72 79
 datafiles['32'][1]=['2025-03-10_3_']
73 80
 datafiles['32'][2]=['2025-03-17_3_']
74
-datafiles['32'][3]=['2025-03-22_3_','2025-03-23_3_']
81
+datafiles['32'][3]=['2025-03-24_3_','2025-03-25_3_','2025-03-26_3_']
75 82
 datafiles['32'][4]=['2025-03-27_3_','2025-03-28_3_']
76 83
 
77 84
 
@@ -158,7 +165,7 @@ for i in range(NumberOfFailures+1):
158 165
 # Test data is: last 1/3 of data 
159 166
 dataTrain=[]
160 167
 dataTest=[]
161
-NumberOfSamplesForTest=300
168
+NumberOfSamplesForTest=0
162 169
 
163 170
 for i in range(NumberOfFailures+1):
164 171
     dataTrain.append(dataframe[i].values[0:int(dataframe[i].shape[0]*2/3),:])
@@ -188,18 +195,19 @@ for i in range(NumberOfFailures+1):
188 195
 
189 196
 def plotData():    
190 197
     fig, axes = plt.subplots(
191
-        nrows=NumberOfFailures+1, ncols=2, figsize=(15, 20), dpi=80, facecolor="w", edgecolor="k",sharex=True
198
+        nrows=NumberOfFailures+1, ncols=NumFeatures, figsize=(15, 20), dpi=80, facecolor="w", edgecolor="k",sharex=True
192 199
     )
193 200
     for i in range(NumberOfFailures+1):
194
-        axes[i][0].plot(np.concatenate((dataTrainNorm[i][:,0],dataTestNorm[i][:,0])),label="Fail "+str(i)+",  feature 0")
195
-        axes[i][1].plot(np.concatenate((dataTrainNorm[i][:,1],dataTestNorm[i][:,1])),label="Fail "+str(i)+",  feature 1")
201
+        for  j in range(NumFeatures):
202
+            axes[i][j].plot(np.concatenate((dataTrainNorm[i][:,j],dataTestNorm[i][:,j])),label="Fail "+str(i)+",  feature 0")
196 203
     #axes[1].legend()
197 204
     #axes[0].set_ylabel(features[0])
198 205
     #axes[1].set_ylabel(features[1])
199 206
     plt.show()
200 207
 
201
-#plotData()
202
-#exit()
208
+if options.plot:
209
+    plotData()
210
+    exit()
203 211
 
204 212
 def create_sequences(values, time_steps):
205 213
     output = []
@@ -251,7 +259,7 @@ def plot(data,ranges):
251 259
         b=Counter(km.labels_[ranges[i][0]:ranges[i][1]])
252 260
         labels.append(b.most_common(1)[0][0])
253 261
 
254
-    print("\n\n\n\LABELS: ",labels,"\n\n")
262
+    print("\n\n\n LABELS: ",labels,"\n\n")
255 263
 
256 264
     NumFeaturesToPlot=len(indexesToPlot)
257 265
     plt.rcParams.update({'font.size': 16})
@@ -336,8 +344,9 @@ for i in range(1,NumberOfFailures+1):
336 344
     Ranges.append([r,r+dataTestNorm[i].shape[0]])
337 345
     r+=dataTestNorm[i].shape[0]
338 346
 
339
-X=np.vstack((X,dataTestNorm[0]))  # We add a last segment of no fail data
340
-Ranges.append([r,r+dataTestNorm[0].shape[0]])
347
+#X=np.vstack((X,dataTestNorm[0]))  # We add a last segment of no fail data
348
+#Ranges.append([r,r+dataTestNorm[0].shape[0]])
349
+
341 350
 Ranges[len(Ranges)-1][1]=Ranges[len(Ranges)-1][1]-timesteps-1
342 351
 
343 352
 xtest=create_sequences(X,timesteps)
@@ -408,7 +417,7 @@ def anomalyMetric(labels,ranges):
408 417
 
409 418
 
410 419
 km.fit_predict(xtest)
411
-#anomalyMetric(km.labels_,Ranges)
420
+anomalyMetric(km.labels_,Ranges)
412 421
 plot(xtest,Ranges)
413 422
 
414 423
 

Powered by TurnKey Linux.