cesar 2 tygodni temu
rodzic
commit
1d7a4a419d
1 zmienionych plików z 18 dodań i 18 usunięć
  1. 18
    18
      v4_class.py

+ 18
- 18
v4_class.py Wyświetl plik

@@ -66,6 +66,7 @@ datafiles[4]=['2024-12-28_5_','2024-12-29_5_','2024-12-30_5_','2024-12-31_5_','2
66 66
 
67 67
 features=['r1 s1','r1 s4','r1 s5','pa1 apiii']
68 68
 features=['r1 s1','r1 s4','r1 s5']
69
+features=['r1 s1','r1 s5']
69 70
 featureNames={}
70 71
 featureNames['r1 s1']='$T_{evap}$'
71 72
 featureNames['r1 s4']='$T_{cond}$'
@@ -305,8 +306,8 @@ else:
305 306
 
306 307
 # Let's plot some features
307 308
 
308
-colorline=['violet','lightcoral','cyan','lime','grey']
309
-colordot=['darkviolet','red','blue','green','black']
309
+colorline=['black','violet','lightcoral','cyan','lime','grey']
310
+colordot=['grey','darkviolet','red','blue','green','black']
310 311
 
311 312
 #featuresToPlot=['r1 s1','r1 s2','r1 s3','pa1 apiii']
312 313
 featuresToPlot=features
@@ -332,13 +333,17 @@ for i in range(len(datalist)):
332 333
 
333 334
 
334 335
 x_test_predict=[]
335
-for m in range(1,NumberOfFailures+1):
336
+for m in range(NumberOfFailures+1):
336 337
     x_test_predict.append(model[m].predict(x_test))
337 338
 
338 339
 x_test_predict=np.array((x_test_predict))
340
+test_mae_loss =[]
341
+for m in range(NumberOfFailures+1):
342
+    test_mae_loss.append(np.mean(np.abs(x_test_predict[m,:,:,:] - x_test), axis=1))
343
+test_mae_loss=np.array((test_mae_loss))
344
+test_mae_loss_average=np.mean(test_mae_loss,axis=2)  # average over features
345
+classes=np.argmin(test_mae_loss_average,axis=0)
339 346
 
340
-print(x_test_predict)
341
-exit(0)
342 347
 
343 348
 def plotData4():
344 349
     NumFeaturesToPlot=len(indexesToPlot)
@@ -347,27 +352,22 @@ def plotData4():
347 352
         nrows=NumFeaturesToPlot, ncols=1, figsize=(15, 10), dpi=80, facecolor="w", edgecolor="k",sharex=True
348 353
     )
349 354
     for i in range(NumFeaturesToPlot):
350
-
351
-
352 355
         init=0
353 356
         end=testRanges[0][1]
354
-        axes[i].plot(range(init,end),x_test[testRanges[0][0]:testRanges[0][1],0,indexesToPlot[i]]*stdevs[i]+means[i],label="No fail", color='black')
355
-        init=end
356
-        end+=(testRanges[1][1]-testRanges[1][0])
357
-        for j in range(1,NumberOfFailures+1):
358
-            axes[i].plot(range(init,end),x_test[testRanges[j][0]:testRanges[j][1],0,indexesToPlot[i]]*stdevs[i]+means[i],label="Fail type "+str(j), color=colorline[j-1],linewidth=1)
357
+        for j in range(NumberOfFailures+1):
358
+            axes[i].plot(range(init,end),x_test[testRanges[j][0]:testRanges[j][1],0,indexesToPlot[i]]*stdevs[i]+means[i],label="Class "+str(j), color=colorline[j],linewidth=1)
359 359
             if j<NumberOfFailures:
360 360
                 init=end
361 361
                 end+=(testRanges[j+1][1]-testRanges[j+1][0])
362 362
 
363
-        for j in range(NumberOfFailures):
363
+        for j in range(NumberOfFailures+1):
364 364
             x=[]
365 365
             y=[]
366
-            for k in anomalous_data_type[j]:
367
-                if (k+int(options.timesteps))<x_test.shape[0]:
368
-                    x.append(k+int(options.timesteps))
369
-                    y.append(x_test[k+int(options.timesteps),0,indexesToPlot[i]]*stdevs[i]+means[i])
370
-            axes[i].plot(x,y ,color=colordot[j],marker='.',linewidth=0,label="Fail detect  type "+str(j+1) )
366
+            for k in range(len(classes)):
367
+                if classes[k]==j:
368
+                    x.append(k)
369
+                    y.append(x_test[k,0,indexesToPlot[i]]*stdevs[i]+means[i])
370
+            axes[i].plot(x,y ,color=colordot[j],marker='.',markersize=10,linewidth=0,label="Fail detect  type "+str(j) )
371 371
 
372 372
 
373 373
 

Powered by TurnKey Linux.