In [42]:
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import pandas as pd
import seaborn as sns
import MyML.helper.plotting as myPlots
In [41]:
results_path = '/home/chiroptera/workspace/QCThesis/experiments/CUDA/kmeans_results.csv'
In [45]:
res = pd.read_csv(results_path)
In [50]:
for col in res.columns:
print col
Unnamed: 0
cardinality
dimensionality
number of clusters
number of iterations
label mode
centroid mode
round
total time
label time
centroid time
In [70]:
n_d_groupby = res.groupby(by=['label mode', 'centroid mode', 'cardinality', 'dimensionality', 'number of clusters'])
label_mean = n_d_groupby.apply(np.mean)
#label_mean = label_mean[['cardinality', 'dimensionality', 'number of clusters', 'label time']]
In [71]:
label_mean
Out[71]:
Unnamed: 0
cardinality
dimensionality
number of clusters
number of iterations
round
total time
label time
centroid time
label mode
centroid mode
cardinality
dimensionality
number of clusters
cuda
numba
100
2
2
3
100
2
2
3
0
0.011995
0.011139
0.000352
4
7
100
2
4
3
0
0.012666
0.011739
0.000385
6
11
100
2
6
3
0
0.013879
0.012855
0.000419
8
15
100
2
8
3
0
0.017870
0.016555
0.000546
10
19
100
2
10
3
0
0.007995
0.007371
0.000233
20
23
100
2
20
3
0
0.006135
0.005676
0.000153
40
27
100
2
40
3
0
0.009984
0.009219
0.000298
60
31
100
2
60
3
0
0.013271
0.012287
0.000400
5
2
35
100
5
2
3
0
0.014283
0.013239
0.000442
4
39
100
5
4
3
0
0.011664
0.010782
0.000362
6
43
100
5
6
3
0
0.009152
0.008465
0.000267
8
47
100
5
8
3
0
0.014297
0.013395
0.000368
10
51
100
5
10
3
0
0.009671
0.009035
0.000239
20
55
100
5
20
3
0
0.010918
0.010211
0.000280
40
59
100
5
40
3
0
0.016912
0.015825
0.000453
60
63
100
5
60
3
0
0.017175
0.016121
0.000434
10
2
67
100
10
2
3
0
0.020337
0.019096
0.000537
4
71
100
10
4
3
0
0.011418
0.010693
0.000285
6
75
100
10
6
3
0
0.011333
0.010585
0.000282
8
79
100
10
8
3
0
0.014622
0.013747
0.000355
10
83
100
10
10
3
0
0.012553
0.011717
0.000328
20
87
100
10
20
3
0
0.012325
0.011519
0.000325
40
91
100
10
40
3
0
0.011927
0.011171
0.000305
60
95
100
10
60
3
0
0.012310
0.011545
0.000303
25
2
99
100
25
2
3
0
0.014817
0.013988
0.000340
4
103
100
25
4
3
0
0.013153
0.012333
0.000312
6
107
100
25
6
3
0
0.013062
0.012268
0.000325
8
111
100
25
8
3
0
0.011362
0.010717
0.000248
10
115
100
25
10
3
0
0.013991
0.013072
0.000318
20
119
100
25
20
3
0
0.012055
0.011394
0.000254
...
...
...
...
...
...
...
...
...
...
...
...
...
...
python
python
500
10
8
1044
500
10
8
3
0
7.311599
7.134307
0.175753
10
1048
500
10
10
3
0
9.616444
9.376951
0.237646
20
1052
500
10
20
3
0
5.603276
5.471144
0.131037
40
1056
500
10
40
3
0
12.402128
12.097740
0.302143
60
1060
500
10
60
3
0
9.493550
9.265195
0.226577
80
1064
500
10
80
3
0
5.584314
5.450900
0.132282
100
1068
500
10
100
3
0
5.458247
5.327836
0.129215
150
1072
500
10
150
3
0
7.766455
7.583795
0.181206
200
1076
500
10
200
3
0
9.920466
9.668764
0.249762
250
1080
500
10
250
3
0
6.948367
6.778820
0.168151
300
1084
500
10
300
3
0
6.979993
6.808995
0.169624
350
1088
500
10
350
3
0
7.200123
7.026141
0.172593
25
2
1092
500
25
2
3
0
13.711083
13.461041
0.248845
4
1096
500
25
4
3
0
14.727051
14.450709
0.275113
6
1100
500
25
6
3
0
17.004376
16.679020
0.323895
8
1104
500
25
8
3
0
8.278571
8.135228
0.142612
10
1108
500
25
10
3
0
18.008589
17.667770
0.339336
20
1112
500
25
20
3
0
22.335280
21.917839
0.415623
40
1116
500
25
40
3
0
15.306866
15.026106
0.279453
60
1120
500
25
60
3
0
15.714995
15.405649
0.307947
80
1124
500
25
80
3
0
22.656641
22.215715
0.439157
100
1128
500
25
100
3
0
18.839362
18.489321
0.348534
150
1132
500
25
150
3
0
18.682489
18.347858
0.333180
200
1136
500
25
200
3
0
44.436529
43.570647
0.862901
250
1140
500
25
250
3
0
19.185662
18.820189
0.363996
300
1144
500
25
300
3
0
44.808534
43.970533
0.835313
350
1148
500
25
350
3
0
15.183907
14.916370
0.266292
50
2
1152
500
50
2
3
0
27.877170
27.399473
0.476525
4
1156
500
50
4
3
0
31.982898
31.442688
0.538840
6
1160
500
50
6
3
0
34.751787
34.177511
0.572874
1164 rows × 9 columns
In [65]:
n_d_mean
Out[65]:
Unnamed: 0
cardinality
dimensionality
number of clusters
number of iterations
round
total time
label time
centroid time
label mode
cardinality
dimensionality
number of clusters
cuda
100
2
2
3
100
2
2
3
0
0.011995
0.011139
0.000352
4
7
100
2
4
3
0
0.012666
0.011739
0.000385
6
11
100
2
6
3
0
0.013879
0.012855
0.000419
8
15
100
2
8
3
0
0.017870
0.016555
0.000546
10
19
100
2
10
3
0
0.007995
0.007371
0.000233
20
23
100
2
20
3
0
0.006135
0.005676
0.000153
40
27
100
2
40
3
0
0.009984
0.009219
0.000298
60
31
100
2
60
3
0
0.013271
0.012287
0.000400
5
2
35
100
5
2
3
0
0.014283
0.013239
0.000442
4
39
100
5
4
3
0
0.011664
0.010782
0.000362
6
43
100
5
6
3
0
0.009152
0.008465
0.000267
8
47
100
5
8
3
0
0.014297
0.013395
0.000368
10
51
100
5
10
3
0
0.009671
0.009035
0.000239
20
55
100
5
20
3
0
0.010918
0.010211
0.000280
40
59
100
5
40
3
0
0.016912
0.015825
0.000453
60
63
100
5
60
3
0
0.017175
0.016121
0.000434
10
2
67
100
10
2
3
0
0.020337
0.019096
0.000537
4
71
100
10
4
3
0
0.011418
0.010693
0.000285
6
75
100
10
6
3
0
0.011333
0.010585
0.000282
8
79
100
10
8
3
0
0.014622
0.013747
0.000355
10
83
100
10
10
3
0
0.012553
0.011717
0.000328
20
87
100
10
20
3
0
0.012325
0.011519
0.000325
40
91
100
10
40
3
0
0.011927
0.011171
0.000305
60
95
100
10
60
3
0
0.012310
0.011545
0.000303
25
2
99
100
25
2
3
0
0.014817
0.013988
0.000340
4
103
100
25
4
3
0
0.013153
0.012333
0.000312
6
107
100
25
6
3
0
0.013062
0.012268
0.000325
8
111
100
25
8
3
0
0.011362
0.010717
0.000248
10
115
100
25
10
3
0
0.013991
0.013072
0.000318
20
119
100
25
20
3
0
0.012055
0.011394
0.000254
...
...
...
...
...
...
...
...
...
...
...
...
...
python
500
10
8
1044
500
10
8
3
0
7.311599
7.134307
0.175753
10
1048
500
10
10
3
0
9.616444
9.376951
0.237646
20
1052
500
10
20
3
0
5.603276
5.471144
0.131037
40
1056
500
10
40
3
0
12.402128
12.097740
0.302143
60
1060
500
10
60
3
0
9.493550
9.265195
0.226577
80
1064
500
10
80
3
0
5.584314
5.450900
0.132282
100
1068
500
10
100
3
0
5.458247
5.327836
0.129215
150
1072
500
10
150
3
0
7.766455
7.583795
0.181206
200
1076
500
10
200
3
0
9.920466
9.668764
0.249762
250
1080
500
10
250
3
0
6.948367
6.778820
0.168151
300
1084
500
10
300
3
0
6.979993
6.808995
0.169624
350
1088
500
10
350
3
0
7.200123
7.026141
0.172593
25
2
1092
500
25
2
3
0
13.711083
13.461041
0.248845
4
1096
500
25
4
3
0
14.727051
14.450709
0.275113
6
1100
500
25
6
3
0
17.004376
16.679020
0.323895
8
1104
500
25
8
3
0
8.278571
8.135228
0.142612
10
1108
500
25
10
3
0
18.008589
17.667770
0.339336
20
1112
500
25
20
3
0
22.335280
21.917839
0.415623
40
1116
500
25
40
3
0
15.306866
15.026106
0.279453
60
1120
500
25
60
3
0
15.714995
15.405649
0.307947
80
1124
500
25
80
3
0
22.656641
22.215715
0.439157
100
1128
500
25
100
3
0
18.839362
18.489321
0.348534
150
1132
500
25
150
3
0
18.682489
18.347858
0.333180
200
1136
500
25
200
3
0
44.436529
43.570647
0.862901
250
1140
500
25
250
3
0
19.185662
18.820189
0.363996
300
1144
500
25
300
3
0
44.808534
43.970533
0.835313
350
1148
500
25
350
3
0
15.183907
14.916370
0.266292
50
2
1152
500
50
2
3
0
27.877170
27.399473
0.476525
4
1156
500
50
4
3
0
31.982898
31.442688
0.538840
6
1160
500
50
6
3
0
34.751787
34.177511
0.572874
1164 rows × 9 columns
In [ ]:
by_rule_n = res.groupby(by=["rule","n_samples"])
rule_n_mean = by_rule_n.apply(np.mean)
rule_n_mean = rule_n_mean[['kmin','kmax','t_ensemble','biggest_cluster',
't_build','mean_degree','std_degree','min_degree',
'max_degree','sparsity','csr_max_row','csr_topped',
'samples_per_kmin',
'accuracy_CI', 't_sl', 't_accuracy_CI', 'sl_clusts', 'type_mat']]
rule_n_mean = rule_n_mean.reset_index()
In [ ]:
In [57]:
res
Out[57]:
Unnamed: 0
cardinality
dimensionality
number of clusters
number of iterations
label mode
centroid mode
round
total time
label time
centroid time
0
0
100
2
2
3
python
python
0
0.214953
0.200148
0.014160
1
1
100
2
2
3
numba
numba
0
1.402742
0.304345
1.097989
2
2
100
2
2
3
numpy
numpy
0
0.001280
0.000568
0.000555
3
3
100
2
2
3
cuda
numba
0
0.011995
0.011139
0.000352
4
4
100
2
4
3
python
python
0
0.101200
0.094803
0.006055
5
5
100
2
4
3
numba
numba
0
0.001157
0.000433
0.000258
6
6
100
2
4
3
numpy
numpy
0
0.001261
0.000572
0.000530
7
7
100
2
4
3
cuda
numba
0
0.012666
0.011739
0.000385
8
8
100
2
6
3
python
python
0
0.169691
0.157591
0.011579
9
9
100
2
6
3
numba
numba
0
0.001571
0.000590
0.000397
10
10
100
2
6
3
numpy
numpy
0
0.001269
0.000591
0.000516
11
11
100
2
6
3
cuda
numba
0
0.013879
0.012855
0.000419
12
12
100
2
8
3
python
python
0
0.165879
0.154879
0.010487
13
13
100
2
8
3
numba
numba
0
0.001118
0.000415
0.000267
14
14
100
2
8
3
numpy
numpy
0
0.001381
0.000640
0.000558
15
15
100
2
8
3
cuda
numba
0
0.017870
0.016555
0.000546
16
16
100
2
10
3
python
python
0
0.135362
0.126031
0.008899
17
17
100
2
10
3
numba
numba
0
0.000847
0.000316
0.000184
18
18
100
2
10
3
numpy
numpy
0
0.001314
0.000617
0.000528
19
19
100
2
10
3
cuda
numba
0
0.007995
0.007371
0.000233
20
20
100
2
20
3
python
python
0
0.135823
0.126914
0.008467
21
21
100
2
20
3
numba
numba
0
0.001038
0.000377
0.000253
22
22
100
2
20
3
numpy
numpy
0
0.001346
0.000614
0.000559
23
23
100
2
20
3
cuda
numba
0
0.006135
0.005676
0.000153
24
24
100
2
40
3
python
python
0
0.188194
0.175412
0.012205
25
25
100
2
40
3
numba
numba
0
0.001118
0.000401
0.000219
26
26
100
2
40
3
numpy
numpy
0
0.001358
0.000662
0.000529
27
27
100
2
40
3
cuda
numba
0
0.009984
0.009219
0.000298
28
28
100
2
60
3
python
python
0
0.156070
0.145878
0.009692
29
29
100
2
60
3
numba
numba
0
0.000700
0.000259
0.000141
...
...
...
...
...
...
...
...
...
...
...
...
115890
115890
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115891
115891
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115892
115892
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115893
115893
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115894
115894
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115895
115895
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115896
115896
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115897
115897
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115898
115898
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115899
115899
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115900
115900
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115901
115901
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115902
115902
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115903
115903
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115904
115904
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115905
115905
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115906
115906
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115907
115907
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115908
115908
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115909
115909
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115910
115910
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115911
115911
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115912
115912
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115913
115913
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115914
115914
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115915
115915
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115916
115916
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115917
115917
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115918
115918
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115919
115919
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
115920 rows × 11 columns
In [ ]:
for key, grp in n_d_groupby.g
Content source: Chiroptera/ThesisWriting
Similar notebooks: