Package: quality-covers
Quality coversQuality covers is a pattern mining algorithm.Installpip3install--upgradequality_coversTransactional fileIf your file looks like thischess.dat:1 3 5 7 10 
1 3 5 7 10 
1 3 5 8 9 
1 3 6 7 9 
1 3 6 8 9orP30968
P48551 P17181
P05121 Q03405 P00747 P02671
Q02643
P48551 P17181useimportquality_coversquality_covers.run_classic_size("chess.dat",False)Binary fileIf your file looks like thischess.data:1 0 1 0 1 0 1 0 0 1
1 0 1 0 1 0 1 0 0 1
1 0 1 0 1 0 0 1 1 0
1 0 1 0 0 1 1 0 1 0
1 0 1 0 0 1 0 1 1 0useimportquality_coversquality_covers.run_classic_size("chess.data",True)Output of the functionsThe functions will create two files in current directory:chess.data.out: the result filechess.data.clock: information about time executionExtract binary matricesYou can obtain binary matrices by callingextract_binary_matriceson the output filequality_covers.extract_binary_matrices('chess.data.out')Optional argumentsThreshold coverageYou can provide a threshold to the coverage.# 60% of coveragequality_covers.run_classic_size("chess.data",True,0.6)MeasuresYou can also ask for information about measures:frequencymonocleseparationobject uniformityquality_covers.run_classic_size("chess.data",True,0.6,True)3,4,9 ; 4,5,6,7,8#Object Uniformity=0.81944; Monocole=91.00000; Frequency=0.33333; Separation=0.48387
2,9 ; 1,3,7#Object Uniformity=0.68750; Monocole=28.00000; Frequency=0.22222; Separation=0.27273
1,6,9 ; 2,7#Object Uniformity=0.63889; Monocole=28.00000; Frequency=0.33333; Separation=0.31579
# Mandatory: 0
# Non-mandatory: 3
# Total: 3
# Coverage: 25/38(65.78947%)
# Mean frequency: 0.29630
# Mean monocole: 49.00000
# Mean object uniformity: 0.71528
# Mean separation: 0.35746Different algorithmsThere are currently four different algorithms:run_classic_sizerun_approximate_sizerun_fca_cemb_with_mandatoryrun_fca_cemb_without_mandatoryExamplesTransactional file with 80% coverage and measures information with approximate size algorithmData file1 3 5 7 10 
1 3 5 7 10 
1 3 5 8 9 
1 3 6 7 9 
1 3 6 8 9 
1 4 5 7 10 
1 4 5 7 10 
1 4 5 8 9 
1 4 6 7 9 
1 4 6 8 9 
2 3 5 7 10 
2 3 5 7 10 
2 3 5 8 9 
2 3 6 7 9 
2 3 6 8 9 
2 4 5 7 10 
2 4 5 7 10 
2 4 5 8 9 
2 4 6 7 9 
2 4 6 8 9Python commandsimportquality_coversquality_covers.run_approximate_size(file.data', True, 0.8, True)Results file.data.out1,2,6,7,11,12,16,17 ; 5,7,10#Object Uniformity=0.60000; Monocle=648.00000; Frequency=0.40000; Separation=0.50000
4,5,9,10,14,15,19,20 ; 9,6#Object Uniformity=0.40000; Monocle=352.00000; Frequency=0.40000; Separation=0.36364
3,5,8,10,13,15,18,20 ; 8,9#Object Uniformity=0.40000; Monocle=352.00000; Frequency=0.40000; Separation=0.36364
11,12,13,14,15,16,17,18,19,20 ; 2#Object Uniformity=0.20000; Monocle=228.00000; Frequency=0.50000; Separation=0.20000
6,7,8,9,10,16,17,18,19,20 ; 4#Object Uniformity=0.20000; Monocle=258.00000; Frequency=0.50000; Separation=0.20000
1,2,3,4,5,11,12,13,14,15 ; 3#Object Uniformity=0.20000; Monocle=258.00000; Frequency=0.50000; Separation=0.20000
# Mandatory: 0
# Non-mandatory: 6
# Total: 6
# Coverage: 82/100(82.00000%)
# Mean frequency: 0.45000
# Mean monocle: 349.33334
# Mean object uniformity: 0.33333
# Mean separation: 0.30455Extract binary matricesimportquality_coversquality_covers.extract_binary_matrices('file.data.out')Result binary matrices extent1 0 0 0 0 1
1 0 0 0 0 1
0 0 1 0 0 1
0 1 0 0 0 1
0 1 1 0 0 1
1 0 0 0 1 0
1 0 0 0 1 0
0 0 1 0 1 0
0 1 0 0 1 0
0 1 1 0 1 0
1 0 0 1 0 1
1 0 0 1 0 1
0 0 1 1 0 1
0 1 0 1 0 1
0 1 1 1 0 1
1 0 0 1 1 0
1 0 0 1 1 0
0 0 1 1 1 0
0 1 0 1 1 0
0 1 1 1 1 0Result binary matrices extentThe first line is the name of the column5 7 10 9 6 8 2 4 3
1 1 1 0 0 0 0 0 0
0 0 0 1 1 0 0 0 0
0 0 0 1 0 1 0 0 0
0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1More infoPaper associatedTo comeResearch labhttp://www.ciad-lab.fr/More tools about association ruleshttps://marm.checksem.fr/api/ui/https://app.marm.checksem.fr/https://quality-cover.checksem.fr/api/uiAuthorsAmira Mouakher (amira.mouakher@u-bourgogne.fr)
Nicolas Gros (nicolas.gros01@u-bourgogne.fr)
Sebastien Gerin (sebastien.gerin@sayens.fr)