Nicolò commited on
Commit
e7be653
1 Parent(s): 83fcd56

zoomed in rocs in same figure

Browse files
Files changed (1) hide show
  1. roc_curves.ipynb +207 -44
roc_curves.ipynb CHANGED
@@ -121,7 +121,7 @@
121
  },
122
  {
123
  "cell_type": "code",
124
- "execution_count": 11,
125
  "metadata": {},
126
  "outputs": [],
127
  "source": [
@@ -130,7 +130,7 @@
130
  },
131
  {
132
  "cell_type": "code",
133
- "execution_count": 12,
134
  "metadata": {},
135
  "outputs": [],
136
  "source": [
@@ -149,7 +149,7 @@
149
  },
150
  {
151
  "cell_type": "code",
152
- "execution_count": 13,
153
  "metadata": {},
154
  "outputs": [],
155
  "source": [
@@ -158,7 +158,7 @@
158
  },
159
  {
160
  "cell_type": "code",
161
- "execution_count": 14,
162
  "metadata": {},
163
  "outputs": [],
164
  "source": [
@@ -177,7 +177,7 @@
177
  },
178
  {
179
  "cell_type": "code",
180
- "execution_count": 15,
181
  "metadata": {},
182
  "outputs": [],
183
  "source": [
@@ -186,7 +186,7 @@
186
  },
187
  {
188
  "cell_type": "code",
189
- "execution_count": 16,
190
  "metadata": {},
191
  "outputs": [],
192
  "source": [
@@ -205,7 +205,7 @@
205
  },
206
  {
207
  "cell_type": "code",
208
- "execution_count": 17,
209
  "metadata": {},
210
  "outputs": [],
211
  "source": [
@@ -214,7 +214,7 @@
214
  },
215
  {
216
  "cell_type": "code",
217
- "execution_count": 18,
218
  "metadata": {},
219
  "outputs": [],
220
  "source": [
@@ -233,7 +233,7 @@
233
  },
234
  {
235
  "cell_type": "code",
236
- "execution_count": 19,
237
  "metadata": {},
238
  "outputs": [],
239
  "source": [
@@ -242,7 +242,7 @@
242
  },
243
  {
244
  "cell_type": "code",
245
- "execution_count": 20,
246
  "metadata": {},
247
  "outputs": [],
248
  "source": [
@@ -261,7 +261,7 @@
261
  },
262
  {
263
  "cell_type": "code",
264
- "execution_count": 21,
265
  "metadata": {},
266
  "outputs": [],
267
  "source": [
@@ -283,7 +283,7 @@
283
  },
284
  {
285
  "cell_type": "code",
286
- "execution_count": 22,
287
  "metadata": {},
288
  "outputs": [],
289
  "source": [
@@ -293,18 +293,19 @@
293
  },
294
  {
295
  "cell_type": "code",
296
- "execution_count": 23,
297
  "metadata": {},
298
  "outputs": [],
299
  "source": [
300
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
301
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
302
- "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)"
 
303
  ]
304
  },
305
  {
306
  "cell_type": "code",
307
- "execution_count": 24,
308
  "metadata": {},
309
  "outputs": [
310
  {
@@ -340,7 +341,7 @@
340
  },
341
  {
342
  "cell_type": "code",
343
- "execution_count": 25,
344
  "metadata": {},
345
  "outputs": [],
346
  "source": [
@@ -350,18 +351,19 @@
350
  },
351
  {
352
  "cell_type": "code",
353
- "execution_count": 26,
354
  "metadata": {},
355
  "outputs": [],
356
  "source": [
357
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
358
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)]\n",
359
- "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)"
 
360
  ]
361
  },
362
  {
363
  "cell_type": "code",
364
- "execution_count": 27,
365
  "metadata": {},
366
  "outputs": [
367
  {
@@ -397,7 +399,7 @@
397
  },
398
  {
399
  "cell_type": "code",
400
- "execution_count": 28,
401
  "metadata": {},
402
  "outputs": [],
403
  "source": [
@@ -407,18 +409,19 @@
407
  },
408
  {
409
  "cell_type": "code",
410
- "execution_count": 29,
411
  "metadata": {},
412
  "outputs": [],
413
  "source": [
414
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
415
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
416
- "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)"
 
417
  ]
418
  },
419
  {
420
  "cell_type": "code",
421
- "execution_count": 30,
422
  "metadata": {},
423
  "outputs": [
424
  {
@@ -454,7 +457,7 @@
454
  },
455
  {
456
  "cell_type": "code",
457
- "execution_count": 31,
458
  "metadata": {},
459
  "outputs": [],
460
  "source": [
@@ -464,18 +467,19 @@
464
  },
465
  {
466
  "cell_type": "code",
467
- "execution_count": 32,
468
  "metadata": {},
469
  "outputs": [],
470
  "source": [
471
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
472
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
473
- "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)"
 
474
  ]
475
  },
476
  {
477
  "cell_type": "code",
478
- "execution_count": 33,
479
  "metadata": {},
480
  "outputs": [
481
  {
@@ -511,7 +515,7 @@
511
  },
512
  {
513
  "cell_type": "code",
514
- "execution_count": 34,
515
  "metadata": {},
516
  "outputs": [],
517
  "source": [
@@ -521,18 +525,19 @@
521
  },
522
  {
523
  "cell_type": "code",
524
- "execution_count": 35,
525
  "metadata": {},
526
  "outputs": [],
527
  "source": [
528
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
529
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
530
- "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)"
 
531
  ]
532
  },
533
  {
534
  "cell_type": "code",
535
- "execution_count": 36,
536
  "metadata": {},
537
  "outputs": [
538
  {
@@ -568,7 +573,7 @@
568
  },
569
  {
570
  "cell_type": "code",
571
- "execution_count": 37,
572
  "metadata": {},
573
  "outputs": [],
574
  "source": [
@@ -578,18 +583,19 @@
578
  },
579
  {
580
  "cell_type": "code",
581
- "execution_count": 38,
582
  "metadata": {},
583
  "outputs": [],
584
  "source": [
585
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
586
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
587
- "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)"
 
588
  ]
589
  },
590
  {
591
  "cell_type": "code",
592
- "execution_count": 39,
593
  "metadata": {},
594
  "outputs": [
595
  {
@@ -625,7 +631,7 @@
625
  },
626
  {
627
  "cell_type": "code",
628
- "execution_count": 40,
629
  "metadata": {},
630
  "outputs": [],
631
  "source": [
@@ -635,18 +641,19 @@
635
  },
636
  {
637
  "cell_type": "code",
638
- "execution_count": 41,
639
  "metadata": {},
640
  "outputs": [],
641
  "source": [
642
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
643
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
644
- "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)"
 
645
  ]
646
  },
647
  {
648
  "cell_type": "code",
649
- "execution_count": 42,
650
  "metadata": {},
651
  "outputs": [
652
  {
@@ -682,7 +689,7 @@
682
  },
683
  {
684
  "cell_type": "code",
685
- "execution_count": 43,
686
  "metadata": {},
687
  "outputs": [],
688
  "source": [
@@ -692,18 +699,19 @@
692
  },
693
  {
694
  "cell_type": "code",
695
- "execution_count": 44,
696
  "metadata": {},
697
  "outputs": [],
698
  "source": [
699
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
700
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
701
- "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)"
 
702
  ]
703
  },
704
  {
705
  "cell_type": "code",
706
- "execution_count": 45,
707
  "metadata": {},
708
  "outputs": [
709
  {
@@ -739,7 +747,7 @@
739
  },
740
  {
741
  "cell_type": "code",
742
- "execution_count": 46,
743
  "metadata": {},
744
  "outputs": [
745
  {
@@ -765,6 +773,161 @@
765
  "source": [
766
  "plot_roc_auc(df_cnn_images_fus['label'].values, df_cnn_images_fus['fused_scores'].values)"
767
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
768
  }
769
  ],
770
  "metadata": {
 
121
  },
122
  {
123
  "cell_type": "code",
124
+ "execution_count": 7,
125
  "metadata": {},
126
  "outputs": [],
127
  "source": [
 
130
  },
131
  {
132
  "cell_type": "code",
133
+ "execution_count": 8,
134
  "metadata": {},
135
  "outputs": [],
136
  "source": [
 
149
  },
150
  {
151
  "cell_type": "code",
152
+ "execution_count": 9,
153
  "metadata": {},
154
  "outputs": [],
155
  "source": [
 
158
  },
159
  {
160
  "cell_type": "code",
161
+ "execution_count": 10,
162
  "metadata": {},
163
  "outputs": [],
164
  "source": [
 
177
  },
178
  {
179
  "cell_type": "code",
180
+ "execution_count": 11,
181
  "metadata": {},
182
  "outputs": [],
183
  "source": [
 
186
  },
187
  {
188
  "cell_type": "code",
189
+ "execution_count": 12,
190
  "metadata": {},
191
  "outputs": [],
192
  "source": [
 
205
  },
206
  {
207
  "cell_type": "code",
208
+ "execution_count": 13,
209
  "metadata": {},
210
  "outputs": [],
211
  "source": [
 
214
  },
215
  {
216
  "cell_type": "code",
217
+ "execution_count": 14,
218
  "metadata": {},
219
  "outputs": [],
220
  "source": [
 
233
  },
234
  {
235
  "cell_type": "code",
236
+ "execution_count": 15,
237
  "metadata": {},
238
  "outputs": [],
239
  "source": [
 
242
  },
243
  {
244
  "cell_type": "code",
245
+ "execution_count": 16,
246
  "metadata": {},
247
  "outputs": [],
248
  "source": [
 
261
  },
262
  {
263
  "cell_type": "code",
264
+ "execution_count": 17,
265
  "metadata": {},
266
  "outputs": [],
267
  "source": [
 
283
  },
284
  {
285
  "cell_type": "code",
286
+ "execution_count": 18,
287
  "metadata": {},
288
  "outputs": [],
289
  "source": [
 
293
  },
294
  {
295
  "cell_type": "code",
296
+ "execution_count": 19,
297
  "metadata": {},
298
  "outputs": [],
299
  "source": [
300
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
301
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
302
+ "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)\n",
303
+ "df_cnn_images_test_1 = df_cnn_images_test.copy()"
304
  ]
305
  },
306
  {
307
  "cell_type": "code",
308
+ "execution_count": 20,
309
  "metadata": {},
310
  "outputs": [
311
  {
 
341
  },
342
  {
343
  "cell_type": "code",
344
+ "execution_count": 21,
345
  "metadata": {},
346
  "outputs": [],
347
  "source": [
 
351
  },
352
  {
353
  "cell_type": "code",
354
+ "execution_count": 22,
355
  "metadata": {},
356
  "outputs": [],
357
  "source": [
358
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
359
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)]\n",
360
+ "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)\n",
361
+ "df_cnn_images_test_2 = df_cnn_images_test.copy()"
362
  ]
363
  },
364
  {
365
  "cell_type": "code",
366
+ "execution_count": 23,
367
  "metadata": {},
368
  "outputs": [
369
  {
 
399
  },
400
  {
401
  "cell_type": "code",
402
+ "execution_count": 24,
403
  "metadata": {},
404
  "outputs": [],
405
  "source": [
 
409
  },
410
  {
411
  "cell_type": "code",
412
+ "execution_count": 25,
413
  "metadata": {},
414
  "outputs": [],
415
  "source": [
416
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
417
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
418
+ "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)\n",
419
+ "df_cnn_images_test_3 = df_cnn_images_test.copy()"
420
  ]
421
  },
422
  {
423
  "cell_type": "code",
424
+ "execution_count": 26,
425
  "metadata": {},
426
  "outputs": [
427
  {
 
457
  },
458
  {
459
  "cell_type": "code",
460
+ "execution_count": 27,
461
  "metadata": {},
462
  "outputs": [],
463
  "source": [
 
467
  },
468
  {
469
  "cell_type": "code",
470
+ "execution_count": 28,
471
  "metadata": {},
472
  "outputs": [],
473
  "source": [
474
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
475
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
476
+ "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)\n",
477
+ "df_cnn_images_test_4 = df_cnn_images_test.copy()"
478
  ]
479
  },
480
  {
481
  "cell_type": "code",
482
+ "execution_count": 29,
483
  "metadata": {},
484
  "outputs": [
485
  {
 
515
  },
516
  {
517
  "cell_type": "code",
518
+ "execution_count": 30,
519
  "metadata": {},
520
  "outputs": [],
521
  "source": [
 
525
  },
526
  {
527
  "cell_type": "code",
528
+ "execution_count": 31,
529
  "metadata": {},
530
  "outputs": [],
531
  "source": [
532
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
533
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
534
+ "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)\n",
535
+ "df_cnn_images_test_5 = df_cnn_images_test.copy()"
536
  ]
537
  },
538
  {
539
  "cell_type": "code",
540
+ "execution_count": 32,
541
  "metadata": {},
542
  "outputs": [
543
  {
 
573
  },
574
  {
575
  "cell_type": "code",
576
+ "execution_count": 33,
577
  "metadata": {},
578
  "outputs": [],
579
  "source": [
 
583
  },
584
  {
585
  "cell_type": "code",
586
+ "execution_count": 34,
587
  "metadata": {},
588
  "outputs": [],
589
  "source": [
590
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
591
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
592
+ "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)\n",
593
+ "df_cnn_images_test_6 = df_cnn_images_test.copy()"
594
  ]
595
  },
596
  {
597
  "cell_type": "code",
598
+ "execution_count": 35,
599
  "metadata": {},
600
  "outputs": [
601
  {
 
631
  },
632
  {
633
  "cell_type": "code",
634
+ "execution_count": 36,
635
  "metadata": {},
636
  "outputs": [],
637
  "source": [
 
641
  },
642
  {
643
  "cell_type": "code",
644
+ "execution_count": 37,
645
  "metadata": {},
646
  "outputs": [],
647
  "source": [
648
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
649
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
650
+ "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)\n",
651
+ "df_cnn_images_test_7 = df_cnn_images_test.copy()"
652
  ]
653
  },
654
  {
655
  "cell_type": "code",
656
+ "execution_count": 38,
657
  "metadata": {},
658
  "outputs": [
659
  {
 
689
  },
690
  {
691
  "cell_type": "code",
692
+ "execution_count": 39,
693
  "metadata": {},
694
  "outputs": [],
695
  "source": [
 
699
  },
700
  {
701
  "cell_type": "code",
702
+ "execution_count": 40,
703
  "metadata": {},
704
  "outputs": [],
705
  "source": [
706
  "df_cnn_images_test_synth = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_synth_folder)] \n",
707
  "df_cnn_images_test_real = df_cnn_images_fus[df_cnn_images_fus['image'].str.contains(test_real_folder)] \n",
708
+ "df_cnn_images_test = pd.concat([df_cnn_images_test_synth, df_cnn_images_test_real]).reset_index().drop('index', axis=1)\n",
709
+ "df_cnn_images_test_8 = df_cnn_images_test.copy()"
710
  ]
711
  },
712
  {
713
  "cell_type": "code",
714
+ "execution_count": 41,
715
  "metadata": {},
716
  "outputs": [
717
  {
 
747
  },
748
  {
749
  "cell_type": "code",
750
+ "execution_count": 42,
751
  "metadata": {},
752
  "outputs": [
753
  {
 
773
  "source": [
774
  "plot_roc_auc(df_cnn_images_fus['label'].values, df_cnn_images_fus['fused_scores'].values)"
775
  ]
776
+ },
777
+ {
778
+ "cell_type": "markdown",
779
+ "metadata": {},
780
+ "source": [
781
+ "# ROC Global + ROCs 1:8 zoomed in top-left corner"
782
+ ]
783
+ },
784
+ {
785
+ "cell_type": "code",
786
+ "execution_count": 43,
787
+ "metadata": {},
788
+ "outputs": [
789
+ {
790
+ "data": {
791
+ "image/png": "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\n",
792
+ "text/plain": [
793
+ "<Figure size 648x648 with 1 Axes>"
794
+ ]
795
+ },
796
+ "metadata": {
797
+ "needs_background": "light"
798
+ },
799
+ "output_type": "display_data"
800
+ }
801
+ ],
802
+ "source": [
803
+ "plt.figure(figsize=(9,9))\n",
804
+ "ax = plt.gca()\n",
805
+ "plt.xlabel('$\\mathrm{FPR}$')\n",
806
+ "plt.ylabel('$\\mathrm{TPR}$')\n",
807
+ "plt.xlim(-0.01, 1.01);\n",
808
+ "plt.ylim(-0.01, 1.01);\n",
809
+ "\n",
810
+ "plt.grid();\n",
811
+ "\n",
812
+ "auc = roc_auc_score(df_cnn_images_test_1['label'].values, df_cnn_images_test_1['fused_scores'].values)\n",
813
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_1['label'].values, df_cnn_images_test_1['fused_scores'].values)\n",
814
+ "ax.plot(fpr, tpr, label=f\"1) AFHQ2 vs StyleGAN3-r-AFHQ2, AUC: {str(auc)[:6]}\")\n",
815
+ "\n",
816
+ "auc = roc_auc_score(df_cnn_images_test_2['label'].values, df_cnn_images_test_2['fused_scores'].values)\n",
817
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_2['label'].values, df_cnn_images_test_2['fused_scores'].values)\n",
818
+ "ax.plot(fpr, tpr, label=f\"2) AFHQ2 vs StyleGAN3-t-AFHQ2, AUC: {str(auc)[:6]}\")\n",
819
+ "\n",
820
+ "auc = roc_auc_score(df_cnn_images_test_3['label'].values, df_cnn_images_test_3['fused_scores'].values)\n",
821
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_3['label'].values, df_cnn_images_test_3['fused_scores'].values)\n",
822
+ "ax.plot(fpr, tpr, label=f\"3) Metfaces vs StyleGAN3-r-Metfaces, AUC: {str(auc)[:6]}\")\n",
823
+ "\n",
824
+ "auc = roc_auc_score(df_cnn_images_test_4['label'].values, df_cnn_images_test_4['fused_scores'].values)\n",
825
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_4['label'].values, df_cnn_images_test_4['fused_scores'].values)\n",
826
+ "ax.plot(fpr, tpr, label=f\"4) Metfaces vs StyleGAN3-t-Metfaces, AUC: {str(auc)[:6]}\")\n",
827
+ "\n",
828
+ "auc = roc_auc_score(df_cnn_images_test_5['label'].values, df_cnn_images_test_5['fused_scores'].values)\n",
829
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_5['label'].values, df_cnn_images_test_5['fused_scores'].values)\n",
830
+ "ax.plot(fpr, tpr, label=f\"5) FFHQ vs StyleGAN3-r-FFHQ-no-comp, AUC: {str(auc)[:6]}\")\n",
831
+ "\n",
832
+ "auc = roc_auc_score(df_cnn_images_test_6['label'].values, df_cnn_images_test_6['fused_scores'].values)\n",
833
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_6['label'].values, df_cnn_images_test_6['fused_scores'].values)\n",
834
+ "ax.plot(fpr, tpr, label=f\"6) FFHQ vs StyleGAN3-t-FFHQ-no-comp, AUC: {str(auc)[:6]}\")\n",
835
+ "\n",
836
+ "auc = roc_auc_score(df_cnn_images_test_7['label'].values, df_cnn_images_test_7['fused_scores'].values)\n",
837
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_7['label'].values, df_cnn_images_test_7['fused_scores'].values)\n",
838
+ "ax.plot(fpr, tpr, label=f\"7) FFHQ vs StyleGAN3-r-FFHQ-comp, AUC: {str(auc)[:6]}\")\n",
839
+ "\n",
840
+ "auc = roc_auc_score(df_cnn_images_test_8['label'].values, df_cnn_images_test_8['fused_scores'].values)\n",
841
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_8['label'].values, df_cnn_images_test_8['fused_scores'].values)\n",
842
+ "ax.plot(fpr, tpr, label=f\"8) FFHQ vs StyleGAN3-t-FFHQ-comp, AUC: {str(auc)[:6]}\")\n",
843
+ "\n",
844
+ "auc = roc_auc_score(df_cnn_images_fus['label'].values, df_cnn_images_fus['fused_scores'].values)\n",
845
+ "fpr, tpr, thr = roc_curve(df_cnn_images_fus['label'].values, df_cnn_images_fus['fused_scores'].values)\n",
846
+ "ax.plot(fpr, tpr, label=f\"9) Global, AUC: {str(auc)[:6]}\")\n",
847
+ "\n",
848
+ "plt.legend(loc='lower right');\n",
849
+ "\n",
850
+ "# figure_name = 'ROC_global_1-8'\n",
851
+ "# figure_path = '{}.pdf'.format(figure_name)\n",
852
+ "# plt.savefig(figure_path,bbox_inches='tight')"
853
+ ]
854
+ },
855
+ {
856
+ "cell_type": "code",
857
+ "execution_count": 45,
858
+ "metadata": {},
859
+ "outputs": [
860
+ {
861
+ "data": {
862
+ "image/png": "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\n",
863
+ "text/plain": [
864
+ "<Figure size 432x237.6 with 1 Axes>"
865
+ ]
866
+ },
867
+ "metadata": {
868
+ "needs_background": "light"
869
+ },
870
+ "output_type": "display_data"
871
+ }
872
+ ],
873
+ "source": [
874
+ "plt.figure(figsize=(6, 3.3))\n",
875
+ "ax = plt.gca()\n",
876
+ "#plt.xlabel('$\\mathrm{FPR}$')\n",
877
+ "#plt.ylabel('$\\mathrm{TPR}$')\n",
878
+ "\n",
879
+ "plt.xlim(-0.005, 0.2);\n",
880
+ "plt.ylim(0.88, 1.005);\n",
881
+ "\n",
882
+ "plt.grid();\n",
883
+ "\n",
884
+ "auc = roc_auc_score(df_cnn_images_test_1['label'].values, df_cnn_images_test_1['fused_scores'].values)\n",
885
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_1['label'].values, df_cnn_images_test_1['fused_scores'].values)\n",
886
+ "ax.plot(fpr, tpr, label=f\"1) AFHQ2 vs StyleGAN3-r-AFHQ', AUC: {auc:.3f}\")\n",
887
+ "\n",
888
+ "auc = roc_auc_score(df_cnn_images_test_2['label'].values, df_cnn_images_test_2['fused_scores'].values)\n",
889
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_2['label'].values, df_cnn_images_test_2['fused_scores'].values)\n",
890
+ "ax.plot(fpr, tpr, label=f\"2) AFHQ2 vs StyleGAN3-t-AFHQ', AUC: {auc:.3f}\")\n",
891
+ "\n",
892
+ "auc = roc_auc_score(df_cnn_images_test_3['label'].values, df_cnn_images_test_3['fused_scores'].values)\n",
893
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_3['label'].values, df_cnn_images_test_3['fused_scores'].values)\n",
894
+ "ax.plot(fpr, tpr, label=f\"3) Metfaces vs StyleGAN3-r-Metfaces', AUC: {auc:.3f}\")\n",
895
+ "\n",
896
+ "auc = roc_auc_score(df_cnn_images_test_4['label'].values, df_cnn_images_test_4['fused_scores'].values)\n",
897
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_4['label'].values, df_cnn_images_test_4['fused_scores'].values)\n",
898
+ "ax.plot(fpr, tpr, label=f\"4) Metfaces vs StyleGAN3-t-Metfaces', AUC: {auc:.3f}\")\n",
899
+ "\n",
900
+ "auc = roc_auc_score(df_cnn_images_test_5['label'].values, df_cnn_images_test_5['fused_scores'].values)\n",
901
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_5['label'].values, df_cnn_images_test_5['fused_scores'].values)\n",
902
+ "ax.plot(fpr, tpr, label=f\"5) FFHQ vs StyleGAN3-r-FFHQ-no-comp', AUC: {auc:.3f}\")\n",
903
+ "\n",
904
+ "auc = roc_auc_score(df_cnn_images_test_6['label'].values, df_cnn_images_test_6['fused_scores'].values)\n",
905
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_6['label'].values, df_cnn_images_test_6['fused_scores'].values)\n",
906
+ "ax.plot(fpr, tpr, label=f\"6) FFHQ vs StyleGAN3-t-FFHQ-no-comp', AUC: {auc:.3f}\")\n",
907
+ "\n",
908
+ "auc = roc_auc_score(df_cnn_images_test_7['label'].values, df_cnn_images_test_7['fused_scores'].values)\n",
909
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_7['label'].values, df_cnn_images_test_7['fused_scores'].values)\n",
910
+ "ax.plot(fpr, tpr, label=f\"7) FFHQ vs StyleGAN3-r-FFHQ-comp', AUC: {auc:.3f}\")\n",
911
+ "\n",
912
+ "auc = roc_auc_score(df_cnn_images_test_8['label'].values, df_cnn_images_test_8['fused_scores'].values)\n",
913
+ "fpr, tpr, thr = roc_curve(df_cnn_images_test_8['label'].values, df_cnn_images_test_8['fused_scores'].values)\n",
914
+ "ax.plot(fpr, tpr, label=f\"8) FFHQ vs StyleGAN3-t-FFHQ-comp', AUC: {auc:.3f}\")\n",
915
+ "\n",
916
+ "auc = roc_auc_score(df_cnn_images_fus['label'].values, df_cnn_images_fus['fused_scores'].values)\n",
917
+ "fpr, tpr, thr = roc_curve(df_cnn_images_fus['label'].values, df_cnn_images_fus['fused_scores'].values)\n",
918
+ "ax.plot(fpr, tpr, label=f\"9) Global, AUC: {auc:.3f}\");\n",
919
+ "\n",
920
+ "# figure_name = 'zoom_ROC_global_1-8'\n",
921
+ "# figure_path = '{}.pdf'.format(figure_name)\n",
922
+ "# plt.savefig(figure_path,bbox_inches='tight')"
923
+ ]
924
+ },
925
+ {
926
+ "cell_type": "code",
927
+ "execution_count": null,
928
+ "metadata": {},
929
+ "outputs": [],
930
+ "source": []
931
  }
932
  ],
933
  "metadata": {