scikit-network 0.32.1__cp39-cp39-win_amd64.whl → 0.33.0__cp39-cp39-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-network might be problematic. Click here for more details.
- {scikit_network-0.32.1.dist-info → scikit_network-0.33.0.dist-info}/AUTHORS.rst +0 -1
- {scikit_network-0.32.1.dist-info → scikit_network-0.33.0.dist-info}/METADATA +9 -3
- {scikit_network-0.32.1.dist-info → scikit_network-0.33.0.dist-info}/RECORD +60 -60
- {scikit_network-0.32.1.dist-info → scikit_network-0.33.0.dist-info}/WHEEL +1 -1
- sknetwork/__init__.py +1 -1
- sknetwork/classification/diffusion.py +4 -3
- sknetwork/classification/knn.py +4 -3
- sknetwork/classification/metrics.py +3 -3
- sknetwork/classification/propagation.py +6 -5
- sknetwork/classification/vote.cp39-win_amd64.pyd +0 -0
- sknetwork/classification/vote.cpp +1 -1
- sknetwork/clustering/leiden.py +2 -1
- sknetwork/clustering/leiden_core.cp39-win_amd64.pyd +0 -0
- sknetwork/clustering/leiden_core.cpp +1 -1
- sknetwork/clustering/louvain.py +3 -3
- sknetwork/clustering/louvain_core.cp39-win_amd64.pyd +0 -0
- sknetwork/clustering/louvain_core.cpp +1 -1
- sknetwork/clustering/tests/test_kcenters.py +5 -37
- sknetwork/data/__init__.py +1 -1
- sknetwork/data/base.py +7 -2
- sknetwork/data/load.py +18 -21
- sknetwork/data/models.py +15 -15
- sknetwork/data/parse.py +19 -17
- sknetwork/data/tests/test_API.py +3 -3
- sknetwork/data/tests/test_base.py +2 -2
- sknetwork/data/tests/test_toy_graphs.py +33 -33
- sknetwork/data/toy_graphs.py +35 -43
- sknetwork/embedding/base.py +3 -0
- sknetwork/embedding/louvain_embedding.py +0 -26
- sknetwork/embedding/svd.py +0 -4
- sknetwork/embedding/tests/test_louvain_embedding.py +9 -4
- sknetwork/embedding/tests/test_svd.py +6 -0
- sknetwork/gnn/gnn_classifier.py +1 -1
- sknetwork/hierarchy/louvain_hierarchy.py +10 -6
- sknetwork/hierarchy/paris.cp39-win_amd64.pyd +0 -0
- sknetwork/hierarchy/paris.cpp +757 -755
- sknetwork/hierarchy/paris.pyx +4 -3
- sknetwork/hierarchy/tests/test_metrics.py +4 -4
- sknetwork/linalg/diteration.cp39-win_amd64.pyd +0 -0
- sknetwork/linalg/diteration.cpp +1 -1
- sknetwork/linalg/push.cp39-win_amd64.pyd +0 -0
- sknetwork/linalg/push.cpp +123 -123
- sknetwork/ranking/betweenness.cp39-win_amd64.pyd +0 -0
- sknetwork/ranking/betweenness.cpp +1 -1
- sknetwork/regression/diffusion.py +6 -4
- sknetwork/topology/cliques.cp39-win_amd64.pyd +0 -0
- sknetwork/topology/cliques.cpp +123 -123
- sknetwork/topology/core.cp39-win_amd64.pyd +0 -0
- sknetwork/topology/core.cpp +123 -123
- sknetwork/topology/minheap.cp39-win_amd64.pyd +0 -0
- sknetwork/topology/minheap.cpp +1 -1
- sknetwork/topology/triangles.cp39-win_amd64.pyd +0 -0
- sknetwork/topology/triangles.cpp +1 -1
- sknetwork/topology/weisfeiler_lehman_core.cp39-win_amd64.pyd +0 -0
- sknetwork/topology/weisfeiler_lehman_core.cpp +1 -1
- sknetwork/utils/__init__.py +1 -1
- sknetwork/utils/values.py +5 -3
- sknetwork/visualization/graphs.py +1 -1
- {scikit_network-0.32.1.dist-info → scikit_network-0.33.0.dist-info}/LICENSE +0 -0
- {scikit_network-0.32.1.dist-info → scikit_network-0.33.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: scikit-network
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.33.0
|
|
4
4
|
Summary: Graph algorithms
|
|
5
5
|
Home-page: https://github.com/sknetwork-team/scikit-network
|
|
6
6
|
Author: Scikit-network team
|
|
@@ -15,11 +15,11 @@ Classifier: Intended Audience :: Science/Research
|
|
|
15
15
|
Classifier: License :: OSI Approved :: BSD License
|
|
16
16
|
Classifier: Natural Language :: English
|
|
17
17
|
Classifier: Programming Language :: Cython
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.9
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
-
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Requires-Python: >=3.9
|
|
23
23
|
Description-Content-Type: text/x-rst
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
License-File: AUTHORS.rst
|
|
@@ -118,6 +118,12 @@ the `Journal of Machine Learning Research <https://jmlr.org>`_:
|
|
|
118
118
|
History
|
|
119
119
|
=======
|
|
120
120
|
|
|
121
|
+
0.33.0 (2024-07-16)
|
|
122
|
+
-------------------
|
|
123
|
+
|
|
124
|
+
* Add Python 3.12
|
|
125
|
+
* Drop Python 3.8
|
|
126
|
+
|
|
121
127
|
0.32.1 (2024-04-02)
|
|
122
128
|
-------------------
|
|
123
129
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
sknetwork/__init__.py,sha256=
|
|
1
|
+
sknetwork/__init__.py,sha256=qVhfMlfW4ek8wa9mv2zIyb_BiMWl5twz8457vyHTAEg,554
|
|
2
2
|
sknetwork/base.py,sha256=_63mkwqXFDke_0ve9DIZJiMHboMYqBONa7B08gao440,2018
|
|
3
3
|
sknetwork/log.py,sha256=qDR-dnlzJC0ETlotPAy_IbLiQPgu8Vn90mgkqfvT5W0,462
|
|
4
4
|
sknetwork/sknetwork.py,sha256=Qtq3EpSkdAFqQNQPDXTAouXS784LkR8Rh2D5s5w5_tc,47
|
|
@@ -7,13 +7,13 @@ sknetwork/test_log.py,sha256=ucX3w138eDyD0Wnpk9QEsPoQgAPTJNPy9twzMf5TjQ8,334
|
|
|
7
7
|
sknetwork/classification/__init__.py,sha256=QoS3fTnCZ0nFdlDkEphEYqj1NDEf23_aqsfP0G4zLMM,483
|
|
8
8
|
sknetwork/classification/base.py,sha256=a6JczKf23arkC4Xx6rUEI0gLFAPoyPXKTXCdhV6_bWI,4432
|
|
9
9
|
sknetwork/classification/base_rank.py,sha256=BChHu6sDkdq_M6coJsC3hac3HWPE2lholi3g97J6lWw,4655
|
|
10
|
-
sknetwork/classification/diffusion.py,sha256=
|
|
11
|
-
sknetwork/classification/knn.py,sha256=
|
|
12
|
-
sknetwork/classification/metrics.py,sha256=
|
|
10
|
+
sknetwork/classification/diffusion.py,sha256=WPNeSya95g3X3wEG_X-7aTIvAoBFIGQcXHMts58i1ts,5698
|
|
11
|
+
sknetwork/classification/knn.py,sha256=OHKNzFQlSPtkdi8Ih7HgiIh2fn6fv0T7-Eu66CsdBHg,5472
|
|
12
|
+
sknetwork/classification/metrics.py,sha256=S_Ze1gqsC9KMZs2K81BDtxRpsv6YvwEss3-v-ekdqmM,7011
|
|
13
13
|
sknetwork/classification/pagerank.py,sha256=Nvmj-Y1YFXQxCZpcUhXfKlc6S5BebnIkJZ8DRsyzDTs,2652
|
|
14
|
-
sknetwork/classification/propagation.py,sha256=
|
|
15
|
-
sknetwork/classification/vote.cp39-win_amd64.pyd,sha256=
|
|
16
|
-
sknetwork/classification/vote.cpp,sha256=
|
|
14
|
+
sknetwork/classification/propagation.py,sha256=jH5UOM2JkjW-1oxBLx7NaceOwKDBw0hiYKp415Hc8q4,5945
|
|
15
|
+
sknetwork/classification/vote.cp39-win_amd64.pyd,sha256=0attXwO5fM1gQInDFgli8Xk7KWSjJX5D4ZWJg5ZNzaE,157184
|
|
16
|
+
sknetwork/classification/vote.cpp,sha256=3XvHCgPlMgRdRWEkw9uDk8-HgtPc5__bNdXxb_7oCwU,1023080
|
|
17
17
|
sknetwork/classification/vote.pyx,sha256=-mNsL96aaA1UL-qfeUgZlbdvKZUK9R4MLmq0BNFWVKA,1640
|
|
18
18
|
sknetwork/classification/tests/__init__.py,sha256=Per0oy1Frnm5jB7dnpod1g_xbgYhqkNteWQV5cemcH0,32
|
|
19
19
|
sknetwork/classification/tests/test_API.py,sha256=WV5cY8yhTHBHYRbDE3InZ4v-agymxLPMKxa2NqjbWZo,1154
|
|
@@ -25,62 +25,62 @@ sknetwork/classification/tests/test_propagation.py,sha256=GzhpCpg0ijLvXuWtABolq0
|
|
|
25
25
|
sknetwork/clustering/__init__.py,sha256=Ju06e1zwMUfOn_1soTOlxJJu1F5u9VNxFXWN8TTParo,443
|
|
26
26
|
sknetwork/clustering/base.py,sha256=LsH_wlP19lDnIZWVUXbKwSta05ii5dWMqS-J-AkY6HE,6104
|
|
27
27
|
sknetwork/clustering/kcenters.py,sha256=MKmsR7zWTITeEAqFyRDKpglU7yZZEjR8H0TLJXdDjtw,8942
|
|
28
|
-
sknetwork/clustering/leiden.py,sha256=
|
|
29
|
-
sknetwork/clustering/leiden_core.cp39-win_amd64.pyd,sha256=
|
|
30
|
-
sknetwork/clustering/leiden_core.cpp,sha256=
|
|
28
|
+
sknetwork/clustering/leiden.py,sha256=THQdYR_DhGF8xJLTEiSmd8cx0Y70ms5nZ1emnoqcxBg,9924
|
|
29
|
+
sknetwork/clustering/leiden_core.cp39-win_amd64.pyd,sha256=xK91ZXqXJNHO5bi7y4BqHxRcejXTARG9YRN6WeyT7G0,201728
|
|
30
|
+
sknetwork/clustering/leiden_core.cpp,sha256=WTVPqmwEQ02Qt5l1Yt8RvuIe5qsWfRDFHrbfj1Woc4g,1205016
|
|
31
31
|
sknetwork/clustering/leiden_core.pyx,sha256=kEppO0iSs0UqK3ybtSVIHRSojJ4KNfe6pUNo9sShh7E,4424
|
|
32
|
-
sknetwork/clustering/louvain.py,sha256=
|
|
33
|
-
sknetwork/clustering/louvain_core.cp39-win_amd64.pyd,sha256=
|
|
34
|
-
sknetwork/clustering/louvain_core.cpp,sha256=
|
|
32
|
+
sknetwork/clustering/louvain.py,sha256=BjBlOw70MVgZHwpIWYo4CmLlzC58jALSTqbRE7x8z4I,11111
|
|
33
|
+
sknetwork/clustering/louvain_core.cp39-win_amd64.pyd,sha256=KVtWS5N6K9vV21TJdNAtXSW73c_QfHw83nJm_LMJuRA,197632
|
|
34
|
+
sknetwork/clustering/louvain_core.cpp,sha256=TRftGdCtrOj9PtEFQGGi1nGaJn20b_KoOrW6LSB55Bw,1185580
|
|
35
35
|
sknetwork/clustering/louvain_core.pyx,sha256=2KPnBhBeSlIxmoScZW7jwsmVxJyAyHQs3pcH9AfBM2Y,4213
|
|
36
36
|
sknetwork/clustering/metrics.py,sha256=ptLLtUpFtdKLZ4lcx_MN-PpOrzv--PWhAcEFoFghccM,3151
|
|
37
37
|
sknetwork/clustering/postprocess.py,sha256=uynPXvjYXiFNShxGZyLkpIwRl5nIlIVEm-auMCNZA0o,2105
|
|
38
38
|
sknetwork/clustering/propagation_clustering.py,sha256=s-Y7EQEqGM2wdl1zAOQzfmy-8LGab1eB00u_AOkYzl0,3885
|
|
39
39
|
sknetwork/clustering/tests/__init__.py,sha256=tCA27jkL3pdstka9XWQEA1NbC6ZqL7Rf-1V1UcySCEE,28
|
|
40
40
|
sknetwork/clustering/tests/test_API.py,sha256=PKxuTh49IyKzwkLfgFAmJiuBhWJQBEYtNxzOEYgc5uE,1566
|
|
41
|
-
sknetwork/clustering/tests/test_kcenters.py,sha256=
|
|
41
|
+
sknetwork/clustering/tests/test_kcenters.py,sha256=BWvcTo8iNDFbKawVrRe8N6q4ujS0Co4MHpkT-P8_A9U,2037
|
|
42
42
|
sknetwork/clustering/tests/test_leiden.py,sha256=oEN0Dz9popCEYE-qqEdmTEqqr3af9TB3WDmRNWYAidE,1189
|
|
43
43
|
sknetwork/clustering/tests/test_louvain.py,sha256=rYZLrb8Ld_F2KDCos5RP9-1szkVXHnXLWHd4SbOwvAY,4807
|
|
44
44
|
sknetwork/clustering/tests/test_metrics.py,sha256=ZTr4T-d-g6kQJinei9VH6Teb_rOScmj5XLG168EI5LQ,1868
|
|
45
45
|
sknetwork/clustering/tests/test_postprocess.py,sha256=41l4coS_1CHqGOCnnucqxU6UkXws89YVMjef162ZTEQ,1417
|
|
46
|
-
sknetwork/data/__init__.py,sha256=
|
|
47
|
-
sknetwork/data/base.py,sha256=
|
|
48
|
-
sknetwork/data/load.py,sha256=
|
|
49
|
-
sknetwork/data/models.py,sha256=
|
|
50
|
-
sknetwork/data/parse.py,sha256=
|
|
46
|
+
sknetwork/data/__init__.py,sha256=qt9xm8RuVQqJQct_A2aCytKjTkMmegnPaRFcHqFbyDY,261
|
|
47
|
+
sknetwork/data/base.py,sha256=m0nrETIA9bDkqP_hkUVjQlmbwgdQI_Z0M6wctao6N2A,706
|
|
48
|
+
sknetwork/data/load.py,sha256=cIHn3LDRo208n1Yrqq_kaqgrHKEn8qmi5YiX4gGGx3Y,14762
|
|
49
|
+
sknetwork/data/models.py,sha256=x4s-Ty3Rj0S6MZ4ml2qf9BJFGeUXh8_YzIzbOikBo5Q,13645
|
|
50
|
+
sknetwork/data/parse.py,sha256=k9iJSOrA3cPZwBYuMnTLvaBK3ycDsRStcVq00HCjNO0,27639
|
|
51
51
|
sknetwork/data/test_graphs.py,sha256=KRRok5ElYWh1NV3i_2enLLjdeKe8zBg_3xqFXgOOY6I,2568
|
|
52
52
|
sknetwork/data/timeout.py,sha256=mXSqgKFRc6AVZBlIobN2xPYJjAyQOClKH3KQJ5M_4Sw,1085
|
|
53
|
-
sknetwork/data/toy_graphs.py,sha256=
|
|
53
|
+
sknetwork/data/toy_graphs.py,sha256=VDEwMLEuu562G2u22xpwobcNTl756ZiL6Moc4XtJbn4,25243
|
|
54
54
|
sknetwork/data/tests/__init__.py,sha256=LtUcKFe5CeBpspRwa6A2uX2cVEf_uPpOo2mGkH7W8cI,20
|
|
55
|
-
sknetwork/data/tests/test_API.py,sha256=
|
|
56
|
-
sknetwork/data/tests/test_base.py,sha256=
|
|
55
|
+
sknetwork/data/tests/test_API.py,sha256=4T9-zFggcr-0aJAENR8ZMOnOvmbltepFhdiQjPt5jC0,993
|
|
56
|
+
sknetwork/data/tests/test_base.py,sha256=2UZOH_c12jCOy-77-ahoj1uGdbmA42pFVrFV9NCAYbU,326
|
|
57
57
|
sknetwork/data/tests/test_load.py,sha256=wuLVlJ-lquoIrsr0UBI-gakW7BjGBZaSyEPavxX0NVY,3645
|
|
58
58
|
sknetwork/data/tests/test_models.py,sha256=_2y5xZrWbE3XZltd4n-z84YwyJhPcpaBa2TxXMvhXF4,1967
|
|
59
59
|
sknetwork/data/tests/test_parse.py,sha256=K_HTO7L5axpnt2Fs3hmOMudufZZ2shps94COEABcMx4,12967
|
|
60
60
|
sknetwork/data/tests/test_test_graphs.py,sha256=3QWshIikkBtRl3C7ATc_zO5UkwOh1wZwD7gYm0CEj8o,878
|
|
61
|
-
sknetwork/data/tests/test_toy_graphs.py,sha256=
|
|
61
|
+
sknetwork/data/tests/test_toy_graphs.py,sha256=vn-TTT9w8TX8Lzof9fV8eEnJr5_NyBj1Zd3rSPB7IU4,2265
|
|
62
62
|
sknetwork/embedding/__init__.py,sha256=hTtHHVXNdwdGSZuAmLvTm3yMmHWxYKrFwwo1MuOPTUI,418
|
|
63
|
-
sknetwork/embedding/base.py,sha256=
|
|
63
|
+
sknetwork/embedding/base.py,sha256=cm52qsqGsPesvDOF5LxOp8rwLhs36dvNlDu_e9jBU0A,2757
|
|
64
64
|
sknetwork/embedding/force_atlas.py,sha256=yjlL5Qfv19KJdwtziTDOklrW_HP5CkMJIoOL6t2cYsA,7650
|
|
65
|
-
sknetwork/embedding/louvain_embedding.py,sha256=
|
|
65
|
+
sknetwork/embedding/louvain_embedding.py,sha256=MWPaZyDtmeEsjDaHMqaztn-3T5U_Q7kWnaHTchPzITc,6230
|
|
66
66
|
sknetwork/embedding/random_projection.py,sha256=b5zGehuWT-dpA1KSw5xv3UZXZGNcP8PalEjXYWfgPT8,5137
|
|
67
67
|
sknetwork/embedding/spectral.py,sha256=xN_5yxJV2KJ--DOpv7tyy5yU25BHVBWnXbywQ0L_6YE,5689
|
|
68
68
|
sknetwork/embedding/spring.py,sha256=Cl1airI_mSWmV1isKmcxqjY1uxw7NcH7xMwHc8ADmHA,7349
|
|
69
|
-
sknetwork/embedding/svd.py,sha256=
|
|
69
|
+
sknetwork/embedding/svd.py,sha256=ycn5fIaw7K7vTz7_MGxKN8XtDsnTqUIqXIADO8_M_GE,15001
|
|
70
70
|
sknetwork/embedding/tests/__init__.py,sha256=PsZQYFNrSmRW_KIuNX3qVtxtZVn8yV18d0mk8Y6ieck,27
|
|
71
71
|
sknetwork/embedding/tests/test_API.py,sha256=0KKY3p_bF2f3QPsReW9IrAtC5KGw1Ok3J0kYUT1hrl8,1538
|
|
72
72
|
sknetwork/embedding/tests/test_force_atlas.py,sha256=dYiyWroqB7UKNW9MTYpGP6e7tF_qPWqVZNmZBndd_ks,1155
|
|
73
|
-
sknetwork/embedding/tests/test_louvain_embedding.py,sha256=
|
|
73
|
+
sknetwork/embedding/tests/test_louvain_embedding.py,sha256=0WTNALEfnJoDo5P84DyXmwpcmbuUXqR3G5S_iM0W30A,1149
|
|
74
74
|
sknetwork/embedding/tests/test_random_projection.py,sha256=zz6q0G-pG-G2gOefhr-yuPBQhNDNtXB8jz7_dld1ZpE,1221
|
|
75
75
|
sknetwork/embedding/tests/test_spectral.py,sha256=w-gokQ_UgeXSQv69BB_Dk6shkWiO6iJbJGl5ih0JNRI,3978
|
|
76
76
|
sknetwork/embedding/tests/test_spring.py,sha256=z3eT-mFcfNSoMWPKQF-Dz_ZjAsJplQrx1yspiaeFRBw,1693
|
|
77
|
-
sknetwork/embedding/tests/test_svd.py,sha256=
|
|
77
|
+
sknetwork/embedding/tests/test_svd.py,sha256=LXIDhxUDxJBLnVnq567yVqs0eTJFPqBhzriPBOqa6k0,1506
|
|
78
78
|
sknetwork/gnn/__init__.py,sha256=808PNZEYNHZrIBpKqPzAMKES8yhN6QXEVUWkZVJIJWI,529
|
|
79
79
|
sknetwork/gnn/activation.py,sha256=rhvEXgrIix4nZ9I3WYZ0e1MID_DESCCC_XlVcOa4Wpo,3677
|
|
80
80
|
sknetwork/gnn/base.py,sha256=qHnKsfsUW4LIdwm3vzfAahBjweCkIDRzk62i4piNBuc,5889
|
|
81
81
|
sknetwork/gnn/base_activation.py,sha256=Kxs_d4aPOpMRXZMBAW7WKkA_uWLXRM7XM-JqE4nFHhc,2395
|
|
82
82
|
sknetwork/gnn/base_layer.py,sha256=_zL_SyVYvhxch9N1i44Qkgar_M5xVRz7JcxqUjVwDjY,4057
|
|
83
|
-
sknetwork/gnn/gnn_classifier.py,sha256=
|
|
83
|
+
sknetwork/gnn/gnn_classifier.py,sha256=RmqgyRgKkdU1Bht5i390xulBzLkuvFwqFkUnZGx7r9c,12915
|
|
84
84
|
sknetwork/gnn/layer.py,sha256=JBNFABBgGtMeXdQaS8wGnsSd7Jqs18jbIguITTOCQRE,5679
|
|
85
85
|
sknetwork/gnn/loss.py,sha256=FwULPjbUe3OFIhIBKJoNfdYX41ALckX2ANKvC69yyoI,5342
|
|
86
86
|
sknetwork/gnn/neighbor_sampler.py,sha256=l5OkylbRQsDpmkfeHAaSA7gHi5l7OUKtL4YvH-YTMWM,1929
|
|
@@ -98,21 +98,21 @@ sknetwork/gnn/tests/test_optimizer.py,sha256=OZnIeO__kNt8HXLHr-WHGzvDsTy4LvJ19p9
|
|
|
98
98
|
sknetwork/gnn/tests/test_utils.py,sha256=MJvOXEWouRiIVaPM76W0hizt3jFb-1_BXHLd1zkPzSg,1884
|
|
99
99
|
sknetwork/hierarchy/__init__.py,sha256=-2-y7iBVQRanXLSl9kY8VASJVqx37trYmVNcz74QsUc,418
|
|
100
100
|
sknetwork/hierarchy/base.py,sha256=DvVUNgJgfaFlWyl4QbdHmp-VldPMFLPx9irt74kpyrU,2789
|
|
101
|
-
sknetwork/hierarchy/louvain_hierarchy.py,sha256=
|
|
101
|
+
sknetwork/hierarchy/louvain_hierarchy.py,sha256=MoO0mlvuFUFNYssl1zOAWlcyg-2OLzJI6VFPjIS1FiA,10118
|
|
102
102
|
sknetwork/hierarchy/metrics.py,sha256=5WZLsSLYKifLIQ9aPrXyzvPtTFN5ROSlNivhV-n9VuY,8280
|
|
103
|
-
sknetwork/hierarchy/paris.cp39-win_amd64.pyd,sha256=
|
|
104
|
-
sknetwork/hierarchy/paris.cpp,sha256=
|
|
105
|
-
sknetwork/hierarchy/paris.pyx,sha256=
|
|
103
|
+
sknetwork/hierarchy/paris.cp39-win_amd64.pyd,sha256=3X5c7LHsX56UEjA1ThqriaQ3TgWeY0LW5tm6VTSLhgo,226816
|
|
104
|
+
sknetwork/hierarchy/paris.cpp,sha256=vYkuRGN-BYv411ym2455Y_8qnnqvh_k5-rh2dT5wYSI,1472503
|
|
105
|
+
sknetwork/hierarchy/paris.pyx,sha256=CSr7eJBGPQoHff3czQpDuaW3V16ZsgdnVoFQ_rkFWBk,12129
|
|
106
106
|
sknetwork/hierarchy/postprocess.py,sha256=81Hj7eCHvU_2mdq0FTeYuZAqk4FIudZfZbvU39_sqyM,12422
|
|
107
107
|
sknetwork/hierarchy/tests/__init__.py,sha256=jRlC4pbyKuxaiXvByYK-4ix7DwYWxpjwKNvSXZ7rQJE,27
|
|
108
108
|
sknetwork/hierarchy/tests/test_API.py,sha256=f0QtuCDA5dRwhPogtwbjsVlDRTpk84ewkXgc6rHCSWU,744
|
|
109
109
|
sknetwork/hierarchy/tests/test_algos.py,sha256=HbF1QCFcpbrybRLrz7C0-2yY7s97vciWNiktbbvubwg,1395
|
|
110
|
-
sknetwork/hierarchy/tests/test_metrics.py,sha256=
|
|
110
|
+
sknetwork/hierarchy/tests/test_metrics.py,sha256=sljCTCIXNvanQ3Bf-g0x0jyjXs05EBlCR9Rcy-j9kTU,3222
|
|
111
111
|
sknetwork/hierarchy/tests/test_postprocess.py,sha256=Bm1_XU6OgwZr_1B28IA5m_HZRqI7GMwlTLpzkXux__Y,2266
|
|
112
112
|
sknetwork/linalg/__init__.py,sha256=COkAHs_EsxWzd_tHl6qq8laEfSsjoMuWVx3VbNFEgzU,542
|
|
113
113
|
sknetwork/linalg/basics.py,sha256=WDlylrkBTCQpjXGtzs8kshJYfpo0h3uM8TMhHmnAnnM,1179
|
|
114
|
-
sknetwork/linalg/diteration.cp39-win_amd64.pyd,sha256=
|
|
115
|
-
sknetwork/linalg/diteration.cpp,sha256=
|
|
114
|
+
sknetwork/linalg/diteration.cp39-win_amd64.pyd,sha256=R_98AOBum-W_xsfAIw_xe2Jyo49F24Z6KhUm0W6TDMs,147456
|
|
115
|
+
sknetwork/linalg/diteration.cpp,sha256=zX2-YycRqpq2eEmijzkFuM9aA0M9nxxf11Ax5Gvse6k,1019890
|
|
116
116
|
sknetwork/linalg/diteration.pyx,sha256=1r7a1usqftiBNTPOAwHFQPK__nZ67J-87wQLM25GqEU,1431
|
|
117
117
|
sknetwork/linalg/eig_solver.py,sha256=lMqxTg66_T-LsgGqc9oo_ngxpTceekavnCFOANWEpPA,2793
|
|
118
118
|
sknetwork/linalg/laplacian.py,sha256=qifd-8iltcTKCQW-7fG5z3XfwVrrrCeaBqbViBQCLf0,416
|
|
@@ -120,8 +120,8 @@ sknetwork/linalg/normalizer.py,sha256=Z0-paMHwp51aY_ssCP2RfXNVQqTFA9gsIHfy-fhG5Q
|
|
|
120
120
|
sknetwork/linalg/operators.py,sha256=nNTtdI_I0HEhnpHOxUYRHmEzUDcz9CbwjDc5eEKzlNQ,7657
|
|
121
121
|
sknetwork/linalg/polynome.py,sha256=qnIhfpRk26JMinuNCrZO1EDj5ci65ZLxkKJyhO7HxpE,2201
|
|
122
122
|
sknetwork/linalg/ppr_solver.py,sha256=D7LUMQgFAtnGhh8pxpKrISH1H9d5MknFpHib8bPA5x4,6703
|
|
123
|
-
sknetwork/linalg/push.cp39-win_amd64.pyd,sha256=
|
|
124
|
-
sknetwork/linalg/push.cpp,sha256=
|
|
123
|
+
sknetwork/linalg/push.cp39-win_amd64.pyd,sha256=WIS0rDozRZmDk2LPOEohAOOQib8SNXanzDm9nDZNNEc,165376
|
|
124
|
+
sknetwork/linalg/push.cpp,sha256=_a7JhhX0vQE1EhZ62zvbpPb5rKDagdnX89xtkZyQnPE,1156787
|
|
125
125
|
sknetwork/linalg/push.pyx,sha256=79ycseJ1jOznzc1_KSexTGy_0dlX1jQVnf_WI8Ufvgc,2429
|
|
126
126
|
sknetwork/linalg/sparse_lowrank.py,sha256=-6-cNRs6tpiNqA8ah3mBKWap3Nh9GQHTFIarPjIiC7U,5170
|
|
127
127
|
sknetwork/linalg/svd_solver.py,sha256=XxP4AyKQInBQN3imcbtahXseZ4YyKj4ZI2UAJK1mDs4,2772
|
|
@@ -151,8 +151,8 @@ sknetwork/path/tests/test_search.py,sha256=wJzwbbe86axJRmausJp-KcsNTB9n7kpo6YBd7
|
|
|
151
151
|
sknetwork/path/tests/test_shortest_path.py,sha256=zeM-qgbTs3i29gvF568otKOKgv_pbryV_yGefThLEIY,1422
|
|
152
152
|
sknetwork/ranking/__init__.py,sha256=lbkUSZ3alkLK0xGiUx5ptPqhQKIjIKK80uPk0KymJPc,356
|
|
153
153
|
sknetwork/ranking/base.py,sha256=W3gw9j_ikhyETr3dpEYo9RINUUHlSn8Dez_eAnlIsDg,1573
|
|
154
|
-
sknetwork/ranking/betweenness.cp39-win_amd64.pyd,sha256=
|
|
155
|
-
sknetwork/ranking/betweenness.cpp,sha256=
|
|
154
|
+
sknetwork/ranking/betweenness.cp39-win_amd64.pyd,sha256=uZ8dSy2HhO-UMGMR0OyeWl1eW3idGAGl0qfIOFghST8,74752
|
|
155
|
+
sknetwork/ranking/betweenness.cpp,sha256=6OQrJJYyq7Ba7rCmvDVdcC-YyGzNTB1mVdM55a-WIrk,380616
|
|
156
156
|
sknetwork/ranking/betweenness.pyx,sha256=fe5_gwRQ0TaFi_0-vUGfy6XC5kW5un5xly7-xVDgxrU,3184
|
|
157
157
|
sknetwork/ranking/closeness.py,sha256=CvdAaqsM8HvAi6zGCuLcVF0BUu9n9UPBz_YxZhFF_sM,2932
|
|
158
158
|
sknetwork/ranking/hits.py,sha256=uhGJH2C0U9hLsVRutI6M1ulbEIM7L6dCeYqiAhtTD9A,2855
|
|
@@ -168,29 +168,29 @@ sknetwork/ranking/tests/test_pagerank.py,sha256=LlRJLoq-By1WVOuY71OAh46vCIvERQ0q
|
|
|
168
168
|
sknetwork/ranking/tests/test_postprocess.py,sha256=TpyU3_DKbnSwuf0HEuEYMiNbdI6Z5oP1JNO6kWigFkc,729
|
|
169
169
|
sknetwork/regression/__init__.py,sha256=FYnlc-DKS1Mz2lKVCtKldjSgtvzxMmkd5kwKq2HdNmE,145
|
|
170
170
|
sknetwork/regression/base.py,sha256=gTBqtaE-tMmtcnWh0pPsK9fg7eEUF1UaDdINE2nLNI8,1557
|
|
171
|
-
sknetwork/regression/diffusion.py,sha256=
|
|
171
|
+
sknetwork/regression/diffusion.py,sha256=CopcR4EN8xN3T-7bz5g65eJLoMioCN0jtSY77w9HR40,8115
|
|
172
172
|
sknetwork/regression/tests/__init__.py,sha256=GvqvsSMbqMYwRmWw4VrZntwccz1jOPqrqufAZqw_NAc,28
|
|
173
173
|
sknetwork/regression/tests/test_API.py,sha256=7x_n8bG8hUcJVRYDbdC6GvPmwW5cE7HmASlu5SHnwFI,1056
|
|
174
174
|
sknetwork/regression/tests/test_diffusion.py,sha256=_ivBfsfmRQyiFChMS8N1J7HoJDhZtKdeydBIu7SuSvU,2117
|
|
175
175
|
sknetwork/topology/__init__.py,sha256=Ho06JPdSeiy5sq-Cv3e9y4AiFVMUQ_RUNUDDpKegWnM,542
|
|
176
|
-
sknetwork/topology/cliques.cp39-win_amd64.pyd,sha256=
|
|
177
|
-
sknetwork/topology/cliques.cpp,sha256=
|
|
176
|
+
sknetwork/topology/cliques.cp39-win_amd64.pyd,sha256=2hOtZmCEC3cA9dkKg0weU75yMsrcOnT7L7rPMKvHlG8,186368
|
|
177
|
+
sknetwork/topology/cliques.cpp,sha256=AuIbIJg8O1Dq77fy69Qr2slR5wthrB4mohPuJL1j6MI,1223582
|
|
178
178
|
sknetwork/topology/cliques.pyx,sha256=y6Ee5oaX7IdVhXXjSOazqT5dYo4gSTQ8Mq0u1Abg0vw,4659
|
|
179
|
-
sknetwork/topology/core.cp39-win_amd64.pyd,sha256=
|
|
180
|
-
sknetwork/topology/core.cpp,sha256=
|
|
179
|
+
sknetwork/topology/core.cp39-win_amd64.pyd,sha256=iWolxUSFutEUMoTADIR7Q9xFTkNMsizNgav9Z6s6Cdc,156672
|
|
180
|
+
sknetwork/topology/core.cpp,sha256=jj7E1c67E65ccw-Ts_6QdPPyR8QIZ3FePVsvjoVcTbg,1132865
|
|
181
181
|
sknetwork/topology/core.pyx,sha256=0PO4HnOYivjrFY1NMlXHd7wscu0R5Fg-Toj3YVRwXDo,2555
|
|
182
182
|
sknetwork/topology/cycles.py,sha256=EgVtANHvY-MBcIe3yRVaBYzz1amsiV6GfuDEMIO3Kl0,9246
|
|
183
|
-
sknetwork/topology/minheap.cp39-win_amd64.pyd,sha256=
|
|
184
|
-
sknetwork/topology/minheap.cpp,sha256=
|
|
183
|
+
sknetwork/topology/minheap.cp39-win_amd64.pyd,sha256=7IGqlJplPox-qu9IBJ-rcS9gL7FdJSSXzm4172K56uI,134656
|
|
184
|
+
sknetwork/topology/minheap.cpp,sha256=YJHIv7zPKiL4r4GexZcGnU6A13pGu4QsFMdOcKccPnA,1016262
|
|
185
185
|
sknetwork/topology/minheap.pxd,sha256=AHeBNN8wGzT429K6AyhbrFUoBkWVwbkyUIY6TkeJ80g,584
|
|
186
186
|
sknetwork/topology/minheap.pyx,sha256=KOmjjlljgkGUJNL8PQ6WaNzx-Ro84QoSve_8baDN1B0,3419
|
|
187
187
|
sknetwork/topology/structure.py,sha256=28mSnrukLU_GDil8e5ouLZ9PuoQyJ0UmQ4WgMu9Wzew,7479
|
|
188
|
-
sknetwork/topology/triangles.cp39-win_amd64.pyd,sha256=
|
|
189
|
-
sknetwork/topology/triangles.cpp,sha256=
|
|
188
|
+
sknetwork/topology/triangles.cp39-win_amd64.pyd,sha256=01xwaUZafAS4hBLhYP9c4yuO-uYMxbw1Qm4HNywIqmg,60416
|
|
189
|
+
sknetwork/topology/triangles.cpp,sha256=t-ixPvaku_VWclQD3f5qWDzFG6ltyLfhCLQyPc0WJNE,354316
|
|
190
190
|
sknetwork/topology/triangles.pyx,sha256=q_f23ZidyizvR9P4X4OIX8o8bAZZTtV7tnjXqmyYZuY,4500
|
|
191
191
|
sknetwork/topology/weisfeiler_lehman.py,sha256=U5b5RoTFtqBeFwkuBXs4g0Px2UWRFePyneu-tfgnY_I,4441
|
|
192
|
-
sknetwork/topology/weisfeiler_lehman_core.cp39-win_amd64.pyd,sha256=
|
|
193
|
-
sknetwork/topology/weisfeiler_lehman_core.cpp,sha256=
|
|
192
|
+
sknetwork/topology/weisfeiler_lehman_core.cp39-win_amd64.pyd,sha256=aU379Kqs0hAgXKwm5k6Qc-TAzmW1srD6QovgAjEPBwo,156672
|
|
193
|
+
sknetwork/topology/weisfeiler_lehman_core.cpp,sha256=tUPW6EiP44seR-oLmXmQKxpGwHu9t-FC9cVoG_x0dBc,1027132
|
|
194
194
|
sknetwork/topology/weisfeiler_lehman_core.pyx,sha256=lpUV1BpxtedsGBfOl19b8OFXCIbyaAA4ZYlW6BzSxbw,3148
|
|
195
195
|
sknetwork/topology/tests/__init__.py,sha256=84T-xv8JCFeA9D7Rxw9gy3_dNAoE8CY1k1pYcuG8K3s,26
|
|
196
196
|
sknetwork/topology/tests/test_cliques.py,sha256=vdRMDmF8AKkIWE-LnU2yGzk1wzwzq9PdggpeS-8wfRw,866
|
|
@@ -199,13 +199,13 @@ sknetwork/topology/tests/test_cycles.py,sha256=iKhfvZf-GjlcVCFwRzo9OkxPfnT_pM-eL
|
|
|
199
199
|
sknetwork/topology/tests/test_structure.py,sha256=BIJuO39ROQRA-xipUfk8PajHQ0Uk9EY6C-c3JYkmBSg,4033
|
|
200
200
|
sknetwork/topology/tests/test_triangles.py,sha256=5AYxNQ8DkKTvpShWEWV-v1r7WZx1DuylChcEmVF0yTk,1313
|
|
201
201
|
sknetwork/topology/tests/test_wl.py,sha256=vesYcnlJHPphk2RJLzKJH9N6aYpPeKLFJko1E8kBdtc,2290
|
|
202
|
-
sknetwork/utils/__init__.py,sha256=
|
|
202
|
+
sknetwork/utils/__init__.py,sha256=ZF_Xx7FhOeHOsqmiBpwO1_bmGj2uoE6knq47oMpMN70,332
|
|
203
203
|
sknetwork/utils/check.py,sha256=LWUkHwDzr9Z9IyT7AIsrQyDrRAMjO2bzWyFsv_P9Ask,13295
|
|
204
204
|
sknetwork/utils/format.py,sha256=g_cfUlETJp7AppCiVKG2VZPexH-H9rVNGF4hXh2rshM,8987
|
|
205
205
|
sknetwork/utils/membership.py,sha256=kan9WuytJCyBAZi0CfM0SJEf527XB4WAYMkIctD5D9w,2244
|
|
206
206
|
sknetwork/utils/neighbors.py,sha256=-EwBXigM3mn2qvVTi_aPmG0XifDMojZgsMQ9_A8cLkk,3466
|
|
207
207
|
sknetwork/utils/tfidf.py,sha256=vvISEaZJa7RZrNNgQEAHgMH2rJToARuNWcVjnA8u7po,993
|
|
208
|
-
sknetwork/utils/values.py,sha256=
|
|
208
|
+
sknetwork/utils/values.py,sha256=fqD2iGRwzPG44Vy6c1Us8koggqkWkRGSENZfJonJ2Uw,2671
|
|
209
209
|
sknetwork/utils/tests/__init__.py,sha256=JQuARG8Ycb5apL6PUy_wuEHsLjmEZFOPQUKWRgTMdCY,23
|
|
210
210
|
sknetwork/utils/tests/test_check.py,sha256=LxYAubg6YZ0RHYFz_R3byNtw3EQ6hsHxPPI3QgP1DLg,6954
|
|
211
211
|
sknetwork/utils/tests/test_format.py,sha256=NJrRBI-kFF8dYFmTwuFF7VUnHS6Mz75DG-RB-iGk8ag,2308
|
|
@@ -216,13 +216,13 @@ sknetwork/utils/tests/test_values.py,sha256=K3ctTXpSy9fwiHnpFVlHX5KeTd2wNF4kbFiT
|
|
|
216
216
|
sknetwork/visualization/__init__.py,sha256=Ww8O1hby1xf_mtRgFftc9srMzvbFgWOzj_khKkqq9Mg,220
|
|
217
217
|
sknetwork/visualization/colors.py,sha256=NhyMQeetfH16khnJD2gD_uZJkBD3JQDV0K3Jzacamqw,2543
|
|
218
218
|
sknetwork/visualization/dendrograms.py,sha256=HtubynuGsJ5b7bD5I8dIKL5UqhqynmqOhw_wJt6VGUA,10178
|
|
219
|
-
sknetwork/visualization/graphs.py,sha256=
|
|
219
|
+
sknetwork/visualization/graphs.py,sha256=vLsuL2AUyrc8B5nxM2K713QPRjf7i1PRaoRXYbY44L4,42215
|
|
220
220
|
sknetwork/visualization/tests/__init__.py,sha256=hrso2pNVzMWn4D2pRyWA_xAMib-xacKjm-rf91MyGGk,31
|
|
221
221
|
sknetwork/visualization/tests/test_dendrograms.py,sha256=e0u3qL9SlWlrQiVAeCVXxq7P6-mU0GaCz3FBu6cm_HA,2519
|
|
222
222
|
sknetwork/visualization/tests/test_graphs.py,sha256=FPZcgGj9asTjOvtkXpENYjeE8xtwh1ES4XYWcYe56Jo,9597
|
|
223
|
-
scikit_network-0.
|
|
224
|
-
scikit_network-0.
|
|
225
|
-
scikit_network-0.
|
|
226
|
-
scikit_network-0.
|
|
227
|
-
scikit_network-0.
|
|
228
|
-
scikit_network-0.
|
|
223
|
+
scikit_network-0.33.0.dist-info/AUTHORS.rst,sha256=_GVYaZmiOIOk8o_2X2dGicyCy-1seStrLAZdsk8zKEI,966
|
|
224
|
+
scikit_network-0.33.0.dist-info/LICENSE,sha256=BJ1Hth1QjBmjIfHcp1sVxlkEqHYM58Vn5bcpYcggMZE,1656
|
|
225
|
+
scikit_network-0.33.0.dist-info/METADATA,sha256=PzTdCbvlCrvHqifMwdHv1PYO6hV3Z5SlhJFXu883PgU,14992
|
|
226
|
+
scikit_network-0.33.0.dist-info/WHEEL,sha256=IOiaTK2n2qfpcM4gTpfQdKcMwVKZrIq4mlPd3WeRras,99
|
|
227
|
+
scikit_network-0.33.0.dist-info/top_level.txt,sha256=fkwspWQ9B3csqb5ENEOoVciRY6XftnMuz4MvTDQeSsg,10
|
|
228
|
+
scikit_network-0.33.0.dist-info/RECORD,,
|
sknetwork/__init__.py
CHANGED
|
@@ -55,7 +55,7 @@ class DiffusionClassifier(BaseClassifier):
|
|
|
55
55
|
>>> labels_true = graph.labels
|
|
56
56
|
>>> labels = {0: labels_true[0], 33: labels_true[33]}
|
|
57
57
|
>>> labels_pred = diffusion.fit_predict(adjacency, labels)
|
|
58
|
-
>>>
|
|
58
|
+
>>> round(np.mean(labels_pred == labels_true), 2)
|
|
59
59
|
0.97
|
|
60
60
|
|
|
61
61
|
References
|
|
@@ -74,8 +74,9 @@ class DiffusionClassifier(BaseClassifier):
|
|
|
74
74
|
self.scale = scale
|
|
75
75
|
|
|
76
76
|
def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray],
|
|
77
|
-
labels: Optional[Union[dict,
|
|
78
|
-
|
|
77
|
+
labels: Optional[Union[dict, list, np.ndarray]] = None,
|
|
78
|
+
labels_row: Optional[Union[dict, list, np.ndarray]] = None,
|
|
79
|
+
labels_col: Optional[Union[dict, list, np.ndarray]] = None, force_bipartite: bool = False) \
|
|
79
80
|
-> 'DiffusionClassifier':
|
|
80
81
|
"""Compute the solution to the Dirichlet problem (temperatures at equilibrium).
|
|
81
82
|
|
sknetwork/classification/knn.py
CHANGED
|
@@ -55,7 +55,7 @@ class NNClassifier(BaseClassifier):
|
|
|
55
55
|
>>> labels_true = graph.labels
|
|
56
56
|
>>> labels = {0: labels_true[0], 33: labels_true[33]}
|
|
57
57
|
>>> labels_pred = classifier.fit_predict(adjacency, labels)
|
|
58
|
-
>>>
|
|
58
|
+
>>> round(np.mean(labels_pred == labels_true), 2)
|
|
59
59
|
0.82
|
|
60
60
|
"""
|
|
61
61
|
def __init__(self, n_neighbors: int = 3, embedding_method: Optional[BaseEmbedding] = None, normalize: bool = True):
|
|
@@ -97,8 +97,9 @@ class NNClassifier(BaseClassifier):
|
|
|
97
97
|
|
|
98
98
|
return probs, labels
|
|
99
99
|
|
|
100
|
-
def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray], labels: Union[np.ndarray, dict] = None,
|
|
101
|
-
labels_row: Union[np.ndarray,
|
|
100
|
+
def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray], labels: Union[np.ndarray, list, dict] = None,
|
|
101
|
+
labels_row: Union[np.ndarray, list, dict] = None,
|
|
102
|
+
labels_col: Union[np.ndarray, list, dict] = None) -> 'NNClassifier':
|
|
102
103
|
"""Node classification by k-nearest neighbors in the embedding space.
|
|
103
104
|
|
|
104
105
|
Parameters
|
|
@@ -34,7 +34,7 @@ def get_accuracy_score(labels_true: np.ndarray, labels_pred: np.ndarray) -> floa
|
|
|
34
34
|
>>> import numpy as np
|
|
35
35
|
>>> labels_true = np.array([0, 0, 1, 1])
|
|
36
36
|
>>> labels_pred = np.array([0, 0, 0, 1])
|
|
37
|
-
>>> get_accuracy_score(labels_true, labels_pred)
|
|
37
|
+
>>> round(get_accuracy_score(labels_true, labels_pred), 2)
|
|
38
38
|
0.75
|
|
39
39
|
"""
|
|
40
40
|
check_vector_format(labels_true, labels_pred)
|
|
@@ -105,7 +105,7 @@ def get_f1_score(labels_true: np.ndarray, labels_pred: np.ndarray, return_precis
|
|
|
105
105
|
>>> import numpy as np
|
|
106
106
|
>>> labels_true = np.array([0, 0, 1, 1])
|
|
107
107
|
>>> labels_pred = np.array([0, 0, 0, 1])
|
|
108
|
-
>>>
|
|
108
|
+
>>> round(get_f1_score(labels_true, labels_pred), 2)
|
|
109
109
|
0.67
|
|
110
110
|
"""
|
|
111
111
|
values = set(labels_true[labels_true >= 0]) | set(labels_pred[labels_pred >= 0])
|
|
@@ -188,7 +188,7 @@ def get_average_f1_score(labels_true: np.ndarray, labels_pred: np.ndarray, avera
|
|
|
188
188
|
>>> import numpy as np
|
|
189
189
|
>>> labels_true = np.array([0, 0, 1, 1])
|
|
190
190
|
>>> labels_pred = np.array([0, 0, 0, 1])
|
|
191
|
-
>>>
|
|
191
|
+
>>> round(get_average_f1_score(labels_true, labels_pred), 2)
|
|
192
192
|
0.73
|
|
193
193
|
"""
|
|
194
194
|
if average == 'micro':
|
|
@@ -91,19 +91,20 @@ class Propagation(BaseClassifier):
|
|
|
91
91
|
labels = labels[index_seed]
|
|
92
92
|
return index_seed.astype(np.int32), index_remain.astype(np.int32), labels.astype(np.int32)
|
|
93
93
|
|
|
94
|
-
def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray], labels: Union[np.ndarray, dict] = None,
|
|
95
|
-
labels_row: Union[np.ndarray,
|
|
94
|
+
def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray], labels: Union[np.ndarray, list, dict] = None,
|
|
95
|
+
labels_row: Union[np.ndarray, list, dict] = None,
|
|
96
|
+
labels_col: Union[np.ndarray, list, dict] = None) -> 'Propagation':
|
|
96
97
|
"""Node classification by label propagation.
|
|
97
98
|
|
|
98
99
|
Parameters
|
|
99
100
|
----------
|
|
100
101
|
input_matrix : sparse.csr_matrix, np.ndarray
|
|
101
102
|
Adjacency matrix or biadjacency matrix of the graph.
|
|
102
|
-
labels :
|
|
103
|
+
labels : array, list or dict
|
|
103
104
|
Known labels. Negative values ignored.
|
|
104
|
-
labels_row :
|
|
105
|
+
labels_row : array, list or dict
|
|
105
106
|
Known labels of rows, for bipartite graphs.
|
|
106
|
-
labels_col :
|
|
107
|
+
labels_col : array, list or dict
|
|
107
108
|
Known labels of columns, for bipartite graphs.
|
|
108
109
|
|
|
109
110
|
Returns
|
|
Binary file
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"/d2FH4-"
|
|
9
9
|
],
|
|
10
10
|
"include_dirs": [
|
|
11
|
-
"C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-
|
|
11
|
+
"C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-2jqincfh\\cp39-win_amd64\\build\\venv\\lib\\site-packages\\numpy\\core\\include"
|
|
12
12
|
],
|
|
13
13
|
"language": "c++",
|
|
14
14
|
"name": "sknetwork.classification.vote",
|
sknetwork/clustering/leiden.py
CHANGED
|
@@ -76,7 +76,8 @@ class Leiden(Louvain):
|
|
|
76
76
|
References
|
|
77
77
|
----------
|
|
78
78
|
* Traag, V. A., Waltman, L., & Van Eck, N. J. (2019).
|
|
79
|
-
|
|
79
|
+
`From Louvain to Leiden: guaranteeing well-connected communities`, Scientific reports.
|
|
80
|
+
|
|
80
81
|
"""
|
|
81
82
|
|
|
82
83
|
def __init__(self, resolution: float = 1, modularity: str = 'dugue', tol_optimization: float = 1e-3,
|
|
Binary file
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"/d2FH4-"
|
|
9
9
|
],
|
|
10
10
|
"include_dirs": [
|
|
11
|
-
"C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-
|
|
11
|
+
"C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-2jqincfh\\cp39-win_amd64\\build\\venv\\lib\\site-packages\\numpy\\core\\include"
|
|
12
12
|
],
|
|
13
13
|
"language": "c++",
|
|
14
14
|
"name": "sknetwork.clustering.leiden_core",
|
sknetwork/clustering/louvain.py
CHANGED
|
@@ -131,9 +131,9 @@ class Louvain(BaseClustering, Log):
|
|
|
131
131
|
increase :
|
|
132
132
|
Gain in modularity after optimization.
|
|
133
133
|
"""
|
|
134
|
-
labels = labels.astype(np.
|
|
135
|
-
indices = adjacency.indices
|
|
136
|
-
indptr = adjacency.indptr
|
|
134
|
+
labels = labels.astype(np.int64)
|
|
135
|
+
indices = adjacency.indices.astype(np.int64)
|
|
136
|
+
indptr = adjacency.indptr.astype(np.int64)
|
|
137
137
|
data = adjacency.data.astype(np.float32)
|
|
138
138
|
out_weights = out_weights.astype(np.float32)
|
|
139
139
|
in_weights = in_weights.astype(np.float32)
|
|
Binary file
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"/d2FH4-"
|
|
9
9
|
],
|
|
10
10
|
"include_dirs": [
|
|
11
|
-
"C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-
|
|
11
|
+
"C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-2jqincfh\\cp39-win_amd64\\build\\venv\\lib\\site-packages\\numpy\\core\\include"
|
|
12
12
|
],
|
|
13
13
|
"language": "c++",
|
|
14
14
|
"name": "sknetwork.clustering.louvain_core",
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import unittest
|
|
5
5
|
|
|
6
6
|
from sknetwork.clustering import KCenters
|
|
7
|
-
from sknetwork.data import karate_club, painters, star_wars
|
|
8
7
|
from sknetwork.data.test_graphs import *
|
|
9
8
|
|
|
10
9
|
|
|
@@ -13,7 +12,7 @@ class TestKCentersClustering(unittest.TestCase):
|
|
|
13
12
|
def test_kcenters(self):
|
|
14
13
|
# Test undirected graph
|
|
15
14
|
n_clusters = 2
|
|
16
|
-
adjacency =
|
|
15
|
+
adjacency = test_graph()
|
|
17
16
|
n_row = adjacency.shape[0]
|
|
18
17
|
kcenters = KCenters(n_clusters=n_clusters)
|
|
19
18
|
labels = kcenters.fit_predict(adjacency)
|
|
@@ -22,7 +21,7 @@ class TestKCentersClustering(unittest.TestCase):
|
|
|
22
21
|
|
|
23
22
|
# Test directed graph
|
|
24
23
|
n_clusters = 3
|
|
25
|
-
adjacency =
|
|
24
|
+
adjacency = test_digraph()
|
|
26
25
|
n_row = adjacency.shape[0]
|
|
27
26
|
kcenters = KCenters(n_clusters=n_clusters, directed=True)
|
|
28
27
|
labels = kcenters.fit_predict(adjacency)
|
|
@@ -31,7 +30,7 @@ class TestKCentersClustering(unittest.TestCase):
|
|
|
31
30
|
|
|
32
31
|
# Test bipartite graph
|
|
33
32
|
n_clusters = 2
|
|
34
|
-
biadjacency =
|
|
33
|
+
biadjacency = test_bigraph()
|
|
35
34
|
n_row, n_col = biadjacency.shape
|
|
36
35
|
kcenters = KCenters(n_clusters=n_clusters)
|
|
37
36
|
kcenters.fit(biadjacency)
|
|
@@ -40,41 +39,10 @@ class TestKCentersClustering(unittest.TestCase):
|
|
|
40
39
|
self.assertEqual(len(kcenters.labels_col_), n_col)
|
|
41
40
|
self.assertEqual(len(set(labels)), n_clusters)
|
|
42
41
|
|
|
43
|
-
def test_kcenters_centers(self):
|
|
44
|
-
# Test centers for undirected graphs
|
|
45
|
-
n_clusters = 2
|
|
46
|
-
adjacency = karate_club()
|
|
47
|
-
kcenters = KCenters(n_clusters=n_clusters)
|
|
48
|
-
kcenters.fit(adjacency)
|
|
49
|
-
centers = kcenters.centers_
|
|
50
|
-
self.assertEqual(n_clusters, len(set(centers)))
|
|
51
|
-
|
|
52
|
-
# Test centers for bipartite graphs
|
|
53
|
-
n_clusters = 2
|
|
54
|
-
biadjacency = star_wars()
|
|
55
|
-
n_row, n_col = biadjacency.shape
|
|
56
|
-
for position in ["row", "col", "both"]:
|
|
57
|
-
kcenters = KCenters(n_clusters=n_clusters, center_position=position)
|
|
58
|
-
kcenters.fit(biadjacency)
|
|
59
|
-
centers_row = kcenters.centers_row_
|
|
60
|
-
centers_col = kcenters.centers_col_
|
|
61
|
-
if position == "row":
|
|
62
|
-
self.assertEqual(n_clusters, len(set(centers_row)))
|
|
63
|
-
self.assertTrue(np.all(centers_row < n_row))
|
|
64
|
-
self.assertTrue(centers_col is None)
|
|
65
|
-
if position == "col":
|
|
66
|
-
self.assertEqual(n_clusters, len(set(centers_col)))
|
|
67
|
-
self.assertTrue(np.all((centers_col < n_col) & (0 <= centers_col)))
|
|
68
|
-
self.assertTrue(centers_row is None)
|
|
69
|
-
if position == "both":
|
|
70
|
-
self.assertEqual(n_clusters, len(set(centers_row)) + len(set(centers_col)))
|
|
71
|
-
self.assertTrue(np.all(centers_row < n_row))
|
|
72
|
-
self.assertTrue(np.all((centers_col < n_col) & (0 <= centers_col)))
|
|
73
|
-
|
|
74
42
|
def test_kcenters_error(self):
|
|
75
43
|
# Test value errors
|
|
76
|
-
adjacency =
|
|
77
|
-
biadjacency =
|
|
44
|
+
adjacency = test_graph()
|
|
45
|
+
biadjacency = test_bigraph()
|
|
78
46
|
|
|
79
47
|
# test n_clusters error
|
|
80
48
|
kcenters = KCenters(n_clusters=1)
|
sknetwork/data/__init__.py
CHANGED
sknetwork/data/base.py
CHANGED
|
@@ -6,10 +6,10 @@ Created in May 2023
|
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
class
|
|
9
|
+
class Dataset(dict):
|
|
10
10
|
"""Container object for datasets.
|
|
11
11
|
Dictionary-like object that exposes its keys as attributes.
|
|
12
|
-
>>> dataset =
|
|
12
|
+
>>> dataset = Dataset(name='dataset')
|
|
13
13
|
>>> dataset['name']
|
|
14
14
|
'dataset'
|
|
15
15
|
>>> dataset.name
|
|
@@ -26,3 +26,8 @@ class Bunch(dict):
|
|
|
26
26
|
return self[key]
|
|
27
27
|
except KeyError:
|
|
28
28
|
raise AttributeError(key)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# alias for Dataset
|
|
32
|
+
Bunch = Dataset
|
|
33
|
+
|