scikit-network 0.31.0__cp310-cp310-macosx_11_0_arm64.whl → 0.32.1__cp310-cp310-macosx_11_0_arm64.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.31.0.dist-info → scikit_network-0.32.1.dist-info}/AUTHORS.rst +3 -0
- {scikit_network-0.31.0.dist-info → scikit_network-0.32.1.dist-info}/METADATA +19 -3
- {scikit_network-0.31.0.dist-info → scikit_network-0.32.1.dist-info}/RECORD +100 -94
- {scikit_network-0.31.0.dist-info → scikit_network-0.32.1.dist-info}/WHEEL +1 -1
- sknetwork/__init__.py +1 -1
- sknetwork/classification/base.py +1 -1
- sknetwork/classification/base_rank.py +3 -3
- sknetwork/classification/diffusion.py +21 -13
- sknetwork/classification/knn.py +19 -13
- sknetwork/classification/metrics.py +1 -1
- sknetwork/classification/pagerank.py +12 -8
- sknetwork/classification/propagation.py +22 -15
- sknetwork/classification/tests/test_diffusion.py +10 -0
- sknetwork/classification/vote.cpython-310-darwin.so +0 -0
- sknetwork/clustering/__init__.py +3 -1
- sknetwork/clustering/base.py +1 -1
- sknetwork/clustering/kcenters.py +253 -0
- sknetwork/clustering/leiden.py +241 -0
- sknetwork/clustering/leiden_core.cpython-310-darwin.so +0 -0
- sknetwork/clustering/leiden_core.pyx +124 -0
- sknetwork/clustering/louvain.py +118 -83
- sknetwork/clustering/louvain_core.cpython-310-darwin.so +0 -0
- sknetwork/clustering/louvain_core.pyx +86 -94
- sknetwork/clustering/postprocess.py +2 -2
- sknetwork/clustering/propagation_clustering.py +4 -4
- sknetwork/clustering/tests/test_API.py +7 -3
- sknetwork/clustering/tests/test_kcenters.py +92 -0
- sknetwork/clustering/tests/test_leiden.py +34 -0
- sknetwork/clustering/tests/test_louvain.py +2 -3
- sknetwork/data/load.py +2 -4
- sknetwork/data/parse.py +41 -20
- sknetwork/data/tests/test_parse.py +9 -12
- sknetwork/embedding/__init__.py +0 -1
- sknetwork/embedding/base.py +20 -19
- sknetwork/embedding/force_atlas.py +3 -2
- sknetwork/embedding/louvain_embedding.py +1 -1
- sknetwork/embedding/random_projection.py +5 -3
- sknetwork/embedding/spectral.py +0 -73
- sknetwork/embedding/tests/test_API.py +4 -28
- sknetwork/embedding/tests/test_louvain_embedding.py +4 -9
- sknetwork/embedding/tests/test_spectral.py +2 -5
- sknetwork/embedding/tests/test_svd.py +1 -1
- sknetwork/gnn/base_layer.py +3 -3
- sknetwork/gnn/gnn_classifier.py +40 -86
- sknetwork/gnn/layer.py +1 -1
- sknetwork/gnn/loss.py +1 -1
- sknetwork/gnn/optimizer.py +4 -3
- sknetwork/gnn/tests/test_base_layer.py +4 -4
- sknetwork/gnn/tests/test_gnn_classifier.py +12 -39
- sknetwork/gnn/utils.py +8 -8
- sknetwork/hierarchy/base.py +27 -0
- sknetwork/hierarchy/louvain_hierarchy.py +45 -41
- sknetwork/hierarchy/paris.cpython-310-darwin.so +0 -0
- sknetwork/hierarchy/paris.pyx +7 -7
- sknetwork/hierarchy/postprocess.py +16 -16
- sknetwork/hierarchy/tests/test_algos.py +5 -0
- sknetwork/linalg/__init__.py +1 -1
- sknetwork/linalg/diteration.cpython-310-darwin.so +0 -0
- sknetwork/linalg/{normalization.py → normalizer.py} +17 -14
- sknetwork/linalg/operators.py +1 -1
- sknetwork/linalg/ppr_solver.py +1 -1
- sknetwork/linalg/push.cpython-310-darwin.so +0 -0
- sknetwork/linalg/tests/test_normalization.py +3 -7
- sknetwork/linalg/tests/test_operators.py +2 -6
- sknetwork/linalg/tests/test_ppr.py +1 -1
- sknetwork/linkpred/base.py +12 -1
- sknetwork/linkpred/nn.py +6 -6
- sknetwork/path/distances.py +11 -4
- sknetwork/path/shortest_path.py +1 -1
- sknetwork/path/tests/test_distances.py +7 -0
- sknetwork/path/tests/test_search.py +2 -2
- sknetwork/ranking/base.py +11 -6
- sknetwork/ranking/betweenness.cpython-310-darwin.so +0 -0
- sknetwork/ranking/pagerank.py +13 -12
- sknetwork/ranking/tests/test_API.py +0 -2
- sknetwork/ranking/tests/test_betweenness.py +1 -1
- sknetwork/ranking/tests/test_pagerank.py +11 -5
- sknetwork/regression/base.py +18 -1
- sknetwork/regression/diffusion.py +24 -10
- sknetwork/regression/tests/test_diffusion.py +8 -0
- sknetwork/topology/__init__.py +3 -1
- sknetwork/topology/cliques.cpython-310-darwin.so +0 -0
- sknetwork/topology/core.cpython-310-darwin.so +0 -0
- sknetwork/topology/cycles.py +243 -0
- sknetwork/topology/minheap.cpython-310-darwin.so +0 -0
- sknetwork/topology/structure.py +2 -42
- sknetwork/topology/tests/test_cycles.py +65 -0
- sknetwork/topology/tests/test_structure.py +2 -16
- sknetwork/topology/triangles.cpython-310-darwin.so +0 -0
- sknetwork/topology/triangles.pyx +7 -4
- sknetwork/topology/weisfeiler_lehman_core.cpython-310-darwin.so +0 -0
- sknetwork/utils/format.py +1 -1
- sknetwork/utils/membership.py +2 -2
- sknetwork/visualization/__init__.py +2 -2
- sknetwork/visualization/dendrograms.py +55 -7
- sknetwork/visualization/graphs.py +261 -44
- sknetwork/visualization/tests/test_dendrograms.py +9 -9
- sknetwork/visualization/tests/test_graphs.py +63 -57
- sknetwork/embedding/louvain_hierarchy.py +0 -142
- sknetwork/embedding/tests/test_louvain_hierarchy.py +0 -19
- {scikit_network-0.31.0.dist-info → scikit_network-0.32.1.dist-info}/LICENSE +0 -0
- {scikit_network-0.31.0.dist-info → scikit_network-0.32.1.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.32.1
|
|
4
4
|
Summary: Graph algorithms
|
|
5
5
|
Home-page: https://github.com/sknetwork-team/scikit-network
|
|
6
6
|
Author: Scikit-network team
|
|
@@ -23,8 +23,8 @@ Requires-Python: >=3.8
|
|
|
23
23
|
Description-Content-Type: text/x-rst
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
License-File: AUTHORS.rst
|
|
26
|
-
Requires-Dist: numpy
|
|
27
|
-
Requires-Dist: scipy
|
|
26
|
+
Requires-Dist: numpy >=1.22.4
|
|
27
|
+
Requires-Dist: scipy >=1.7.3
|
|
28
28
|
|
|
29
29
|
.. image:: https://perso.telecom-paristech.fr/bonald/logo_sknetwork.png
|
|
30
30
|
:align: right
|
|
@@ -118,6 +118,22 @@ the `Journal of Machine Learning Research <https://jmlr.org>`_:
|
|
|
118
118
|
History
|
|
119
119
|
=======
|
|
120
120
|
|
|
121
|
+
0.32.1 (2024-04-02)
|
|
122
|
+
-------------------
|
|
123
|
+
|
|
124
|
+
* Fix documentation
|
|
125
|
+
* Fix wheel upload
|
|
126
|
+
|
|
127
|
+
0.32.0 (2024-03-29)
|
|
128
|
+
-------------------
|
|
129
|
+
|
|
130
|
+
* Add Leiden clustering algorithm
|
|
131
|
+
* Add k-center clustering algorithm
|
|
132
|
+
* Add functions to detect and break cycles
|
|
133
|
+
* Add damping factor in diffusion
|
|
134
|
+
* Fix F1 scores
|
|
135
|
+
* Remove hierarchical Louvain embedding
|
|
136
|
+
* Get clustering coefficient for directed graphs
|
|
121
137
|
|
|
122
138
|
0.31.0 (2023-05-22)
|
|
123
139
|
-------------------
|
|
@@ -1,54 +1,56 @@
|
|
|
1
|
-
scikit_network-0.
|
|
2
|
-
scikit_network-0.
|
|
3
|
-
scikit_network-0.
|
|
4
|
-
scikit_network-0.
|
|
5
|
-
scikit_network-0.
|
|
6
|
-
scikit_network-0.
|
|
1
|
+
scikit_network-0.32.1.dist-info/RECORD,,
|
|
2
|
+
scikit_network-0.32.1.dist-info/LICENSE,sha256=zKbJMpbSKgGEUaNr_fKgvJrvw_3W4gnJs5XdLCK5Sxo,1622
|
|
3
|
+
scikit_network-0.32.1.dist-info/WHEEL,sha256=YryPFYalc7zt-wi82wLNxE5k4S4dtsQOnz0S1sKWvLs,110
|
|
4
|
+
scikit_network-0.32.1.dist-info/AUTHORS.rst,sha256=OZUa1KqaPu_waik7LZVTdyXcvmQWkD3M3HBDVGEtkG0,924
|
|
5
|
+
scikit_network-0.32.1.dist-info/top_level.txt,sha256=fkwspWQ9B3csqb5ENEOoVciRY6XftnMuz4MvTDQeSsg,10
|
|
6
|
+
scikit_network-0.32.1.dist-info/METADATA,sha256=9bZ9qVhnKisHTj6oMLI6AyDg6uHJReQGXGVFbA8Du_E,14392
|
|
7
7
|
sknetwork/log.py,sha256=ORInAVh_cWIfxwaFWSblSRxwT-jG05XPRnYTTAHSKy4,443
|
|
8
|
-
sknetwork/__init__.py,sha256=
|
|
8
|
+
sknetwork/__init__.py,sha256=nClqZuN1bFjz8awU3Qpm8dd3s4apgBBW40r84eAmItg,533
|
|
9
9
|
sknetwork/test_log.py,sha256=V4t6Ggi_fh8px5Iq7CDLlJvbXfz24macQ43Ss0tPb5I,319
|
|
10
10
|
sknetwork/test_base.py,sha256=PB_kJ7cNvhBXmlL-KzyLu2hf6mG7b1OQY759aYplW4k,912
|
|
11
11
|
sknetwork/sknetwork.py,sha256=VYoI-gwqwBKPx84cA0KnYDRofrgIXs8xtASD2nu5fE0,44
|
|
12
12
|
sknetwork/base.py,sha256=XJJ6MicVcSiQBWQ9fYlmUJYkXq0PRldQzExhZKuaFBo,1951
|
|
13
|
-
sknetwork/classification/metrics.py,sha256=
|
|
13
|
+
sknetwork/classification/metrics.py,sha256=kn6rkcn6r9jOsF7_bhP4SX20hrgydiA2UfCTdM12dKA,6802
|
|
14
14
|
sknetwork/classification/vote.pyx,sha256=Bbf74XCPH8uYDP-SrXRaA7k6Ax2x-wDzpbHMeg9le7A,1584
|
|
15
|
-
sknetwork/classification/diffusion.py,sha256=
|
|
15
|
+
sknetwork/classification/diffusion.py,sha256=zE3_TRi05GgQU9TqMSuMKieVR1srnZONnpGLCUrnHWQ,5537
|
|
16
16
|
sknetwork/classification/__init__.py,sha256=yVv7wSuUfNLxeNBF-AhWCJys3C-XatPtMzi1wyp9Bz4,475
|
|
17
|
-
sknetwork/classification/base_rank.py,sha256=
|
|
18
|
-
sknetwork/classification/propagation.py,sha256=
|
|
19
|
-
sknetwork/classification/vote.cpython-310-darwin.so,sha256=
|
|
20
|
-
sknetwork/classification/pagerank.py,sha256=
|
|
21
|
-
sknetwork/classification/base.py,sha256=
|
|
22
|
-
sknetwork/classification/knn.py,sha256=
|
|
17
|
+
sknetwork/classification/base_rank.py,sha256=RGElYD6PuP4nhnenNnzpOiBojs49Afg5ahjBFEi566I,4522
|
|
18
|
+
sknetwork/classification/propagation.py,sha256=TqTNqnuZjelX3A7Ghw3M6k8u9fOh-Ag_eBh6FN0f5gI,5754
|
|
19
|
+
sknetwork/classification/vote.cpython-310-darwin.so,sha256=eIOKHTSDVF5E76wIC6YF_jsi-_LbXljXy6ey89YsWoo,221303
|
|
20
|
+
sknetwork/classification/pagerank.py,sha256=CBUeCqZisr6s5lh3VXYWA6rbiPdLyNzuSMbjazy80eA,2586
|
|
21
|
+
sknetwork/classification/base.py,sha256=WS-QHh4553Dr1VwJqjggSqO6hHFIAs50oPah_L23eFo,4290
|
|
22
|
+
sknetwork/classification/knn.py,sha256=7tiXPNOzRLPCAoELXWtqXdnPUIIDqtGdku3r1KGiE8Q,5306
|
|
23
23
|
sknetwork/classification/tests/test_metrics.py,sha256=eBs-5uAEz2s8gukMyfhQ07GSFoyvxtsslLuc6VgUxBU,2303
|
|
24
24
|
sknetwork/classification/tests/__init__.py,sha256=sy9uRiPhYG2i7uqM3P07-VUf4UcZEHeOoH9BvKCpU3s,31
|
|
25
25
|
sknetwork/classification/tests/test_pagerank.py,sha256=5IJpYqnz31cWT0iXjTdo1xE8Kfj3YTK0cSZnnTlyJBs,620
|
|
26
|
-
sknetwork/classification/tests/test_diffusion.py,sha256=
|
|
26
|
+
sknetwork/classification/tests/test_diffusion.py,sha256=tp9qNYBcaI9T1HCC6bqMpG_-eM-na-fGNeGDzMZTu2A,3183
|
|
27
27
|
sknetwork/classification/tests/test_knn.py,sha256=sl5kxsaca3GUTvfdx6B9BRJ1SAdoDvxFOg9VyoA20IU,784
|
|
28
28
|
sknetwork/classification/tests/test_API.py,sha256=FA1d0NQz3vaNVVeFbhEljPe0fD_ryRwVP4G1hdv-u_s,1124
|
|
29
29
|
sknetwork/classification/tests/test_propagation.py,sha256=m0Jyq59k3taoikyBxcZGILzG7dWQV3SGE45MPm0RPao,850
|
|
30
|
-
sknetwork/visualization/dendrograms.py,sha256=
|
|
31
|
-
sknetwork/visualization/__init__.py,sha256=
|
|
32
|
-
sknetwork/visualization/graphs.py,sha256=
|
|
30
|
+
sknetwork/visualization/dendrograms.py,sha256=m4FbBfvJUW_gXccZWF8OWxAsbhsEcKa1fXNNCp_y4MA,9901
|
|
31
|
+
sknetwork/visualization/__init__.py,sha256=8rLiR13WHSWLsEVTTL6lzOZms0LZf-ZujBqOI5VnKxk,216
|
|
32
|
+
sknetwork/visualization/graphs.py,sha256=7iNHW3NJ7kxLw2y3SoEY_rmyCfmxLPmi0tCJ2dkS3q0,41175
|
|
33
33
|
sknetwork/visualization/colors.py,sha256=DjcXt9aMgLan7bRg7TZI8m_8SLWQOZ-g2HoguB1-3qA,2509
|
|
34
|
-
sknetwork/visualization/tests/test_graphs.py,sha256=
|
|
34
|
+
sknetwork/visualization/tests/test_graphs.py,sha256=g2YPJn9m8wD-UHZ_BL37xuJqE7ygOx3EztKLVVqphYk,9421
|
|
35
35
|
sknetwork/visualization/tests/__init__.py,sha256=yOVrqUD9UuI_HdYuqRP5PS7QhS-pO4RE_Ls5PLiIC_w,30
|
|
36
|
-
sknetwork/visualization/tests/test_dendrograms.py,sha256=
|
|
37
|
-
sknetwork/topology/minheap.cpython-310-darwin.so,sha256=
|
|
36
|
+
sknetwork/visualization/tests/test_dendrograms.py,sha256=UuS3VZ5XnV1u5BtW-QKbFv0wavllQpbgtsOIe5XvTlg,2466
|
|
37
|
+
sknetwork/topology/minheap.cpython-310-darwin.so,sha256=Tfkxu91HqM1o281yQ-JaJnUf4Nv5VxQuMHUO1ONrCmA,204122
|
|
38
38
|
sknetwork/topology/cliques.pyx,sha256=BuezL9-zJOicL1zffkpcf8uIEgqhik6dgK_agXX4gaU,4510
|
|
39
39
|
sknetwork/topology/minheap.pyx,sha256=iFWpXPYSAmWjYphYByAM6auUj1XHly6QovZvuy2Lpyc,3310
|
|
40
40
|
sknetwork/topology/weisfeiler_lehman_core.pyx,sha256=fi0rRrXHVZuIQYzPDcPCamCRQLKquchjV3N9dNuQ1Pk,3034
|
|
41
|
-
sknetwork/topology/__init__.py,sha256=
|
|
41
|
+
sknetwork/topology/__init__.py,sha256=T2W2cWwcUdhfA86VuZAZqksbrgct4hiyp0HuizEnLg4,534
|
|
42
|
+
sknetwork/topology/cycles.py,sha256=EV2UMDktEGdJxEmAZyyjBMttJ6DqYvvfZ6mqwIQqFu0,9003
|
|
42
43
|
sknetwork/topology/weisfeiler_lehman.py,sha256=ACJDAmZbwDrZAvO-LsHnRaef-8KX7esM1LxVUglXtLw,4308
|
|
43
|
-
sknetwork/topology/triangles.cpython-310-darwin.so,sha256=
|
|
44
|
+
sknetwork/topology/triangles.cpython-310-darwin.so,sha256=3cPb61UVVL5zC0tgRB_KI7snR7fZ2_fLF5FlaC9iBJg,108668
|
|
44
45
|
sknetwork/topology/minheap.pxd,sha256=Y_oRh8H-sNZYAWv0XM9T-ZLzYBhb5TrBM4VjlH-ZqPQ,564
|
|
45
|
-
sknetwork/topology/structure.py,sha256=
|
|
46
|
-
sknetwork/topology/triangles.pyx,sha256=
|
|
47
|
-
sknetwork/topology/weisfeiler_lehman_core.cpython-310-darwin.so,sha256=
|
|
46
|
+
sknetwork/topology/structure.py,sha256=CDfN7SL70wTHm2HPfqd7ncsZEaV1SQO3tJKYl1CdtNI,7285
|
|
47
|
+
sknetwork/topology/triangles.pyx,sha256=JOkA9k0CQTsT7zdPaEoW7-PdHYuoXHsB0XSuPKFLJSI,4349
|
|
48
|
+
sknetwork/topology/weisfeiler_lehman_core.cpython-310-darwin.so,sha256=dFtQN6Tiym3rIVbKcnu-McDmd0emGpVWzBk4h-mEW8M,222185
|
|
48
49
|
sknetwork/topology/core.pyx,sha256=HwGbC84p9F9fkEw8ouNNMQtlYrAoEWhQS5hU9Cf1h94,2465
|
|
49
|
-
sknetwork/topology/cliques.cpython-310-darwin.so,sha256=
|
|
50
|
-
sknetwork/topology/core.cpython-310-darwin.so,sha256=
|
|
51
|
-
sknetwork/topology/tests/
|
|
50
|
+
sknetwork/topology/cliques.cpython-310-darwin.so,sha256=BMlPTCW7l4C9WOJQ5-ptZx9zz2npHbBHnRwlKyEEbG4,259354
|
|
51
|
+
sknetwork/topology/core.cpython-310-darwin.so,sha256=9wlebgww3rR26OyEVyAyHKA88Qh1Ni5uqCo45jUUWgg,218055
|
|
52
|
+
sknetwork/topology/tests/test_cycles.py,sha256=KZzMKS5ILfC_J0Fj5MFlEOL7Z9nOnlRfo4TnGdXEPWY,3150
|
|
53
|
+
sknetwork/topology/tests/test_structure.py,sha256=CzcZ1LxV-mI_buxz6LcTeCy3h5ofMLfOu2HUHwNSMi8,3948
|
|
52
54
|
sknetwork/topology/tests/test_wl.py,sha256=EJY_4xTi_-qzFsqZJkgnwLteoakdkpRAczzdMCGeXe0,2218
|
|
53
55
|
sknetwork/topology/tests/test_core.py,sha256=Zh9IYHGfqDqIlLycucLzqZbHvYmU-IB-J03-jlikPcI,551
|
|
54
56
|
sknetwork/topology/tests/__init__.py,sha256=9lKrPX4BnSJbK-VlDi9TsmAgDwqF3H423KhJ1u1Uaos,25
|
|
@@ -59,104 +61,108 @@ sknetwork/ranking/__init__.py,sha256=UeYw8y0HFoBnPziqnVYXSt8jqFtkDgkCCMPhYTEIaF0
|
|
|
59
61
|
sknetwork/ranking/closeness.py,sha256=pETMD8uaXfADZhmzVaH4YIGX57S2vvhzVInONaAwBUM,2840
|
|
60
62
|
sknetwork/ranking/katz.py,sha256=uPyXkEL73_6MS4dP5XTSVSIrD5h5QJipVTVEa0L_y48,2535
|
|
61
63
|
sknetwork/ranking/hits.py,sha256=L39a9Ze3ITUbikmNhA_Lx-V5s_RQr0XnNkOsIgG8m98,2761
|
|
62
|
-
sknetwork/ranking/pagerank.py,sha256=
|
|
63
|
-
sknetwork/ranking/betweenness.cpython-310-darwin.so,sha256=
|
|
64
|
-
sknetwork/ranking/base.py,sha256=
|
|
64
|
+
sknetwork/ranking/pagerank.py,sha256=Qt2SOUoLO76JVDnT4-x-b-hah9IlaHECsYNu45AnpY8,4749
|
|
65
|
+
sknetwork/ranking/betweenness.cpython-310-darwin.so,sha256=u9fHtR0uCgGcEJKvw-noiQQrJqf0vGW_uPQogWsZ2xE,130158
|
|
66
|
+
sknetwork/ranking/base.py,sha256=Jo9LBK3TfXiYdxYqSmfeVC8O2D6fA5L-SRzQh3eqtnA,1512
|
|
65
67
|
sknetwork/ranking/betweenness.pyx,sha256=Pq9EqOHV0P8TDN_w9siP3h8HyechaAErysNwz0JT0ow,3087
|
|
66
68
|
sknetwork/ranking/tests/test_postprocess.py,sha256=jPLJKJYEltFpY2uct0JyJEkD1haOyNU8h_1KwiLMgZM,703
|
|
67
69
|
sknetwork/ranking/tests/test_closeness.py,sha256=ttBC8L_J1YDLCWhTIPhSFxu8jWuOWl_vupHFFaA_NP8,823
|
|
68
70
|
sknetwork/ranking/tests/__init__.py,sha256=ZVL3kCN-qV5ThJU58iaMvJKSIkZ7ke7liLtLwI4TCHY,24
|
|
69
|
-
sknetwork/ranking/tests/test_pagerank.py,sha256=
|
|
70
|
-
sknetwork/ranking/tests/test_API.py,sha256=
|
|
71
|
-
sknetwork/ranking/tests/test_betweenness.py,sha256=
|
|
71
|
+
sknetwork/ranking/tests/test_pagerank.py,sha256=5WHev0-d5nTOg6AEzIZyCmWSieTO3YNLNO2kB6RTYWE,2243
|
|
72
|
+
sknetwork/ranking/tests/test_API.py,sha256=PZ4Q5X1WT1HSAojZX72fUm4o9Y0PwocewJEoC1pfgMo,1003
|
|
73
|
+
sknetwork/ranking/tests/test_betweenness.py,sha256=8XA1ycLQQ7-Cm3CBfkcSDQOvD6xagAIP1--mPe9VFzo,1135
|
|
72
74
|
sknetwork/ranking/tests/test_hits.py,sha256=zStzrWZ-pv2Nsd-pB282FgW3KAn1TyKjz_l85tJaPJ0,491
|
|
73
75
|
sknetwork/linalg/diteration.pyx,sha256=gk9W6SwIxXgmjQujXWBUIoM_OwevjE3jTzFrIEkGnWI,1384
|
|
74
|
-
sknetwork/linalg/__init__.py,sha256=
|
|
75
|
-
sknetwork/linalg/diteration.cpython-310-darwin.so,sha256=
|
|
76
|
+
sknetwork/linalg/__init__.py,sha256=awBDY2wWiO40L5eED3H8K1BM8qtHz7aQRv1p3PcSK94,533
|
|
77
|
+
sknetwork/linalg/diteration.cpython-310-darwin.so,sha256=IMLvQF4weSWuoxgLdaHUVNGTVTSw3bpFznQ8j5koc-U,216973
|
|
76
78
|
sknetwork/linalg/laplacian.py,sha256=_gQr8YLqMUtK_IMNgvJoQX7-uODVlvCVmc-oTsgw7MA,401
|
|
77
79
|
sknetwork/linalg/eig_solver.py,sha256=yq_prP5p1jbALby69wkzzH0vYKc1btmRQoiVUtTh-eA,2700
|
|
78
80
|
sknetwork/linalg/push.pyx,sha256=caxCZa5h9zsHhxJgDBaaetqpB0wUbFLdOUwHwj0q_t0,2358
|
|
79
|
-
sknetwork/linalg/ppr_solver.py,sha256=
|
|
81
|
+
sknetwork/linalg/ppr_solver.py,sha256=mQkCnik-vvv_oFa9n1vtMzxgvi78qW-QQONdcmC9CXA,6533
|
|
80
82
|
sknetwork/linalg/sparse_lowrank.py,sha256=LUhbqa01p51SYhoIb2Dmx2b9fMc-iOu69CAVHscR2Xs,5028
|
|
81
83
|
sknetwork/linalg/basics.py,sha256=8AFph_1G5SZP_24jrIv6qIWooO0UMglL4jMgx3ZdYIQ,1142
|
|
82
|
-
sknetwork/linalg/
|
|
83
|
-
sknetwork/linalg/
|
|
84
|
-
sknetwork/linalg/push.cpython-310-darwin.so,sha256=
|
|
84
|
+
sknetwork/linalg/normalizer.py,sha256=kOFDPPdiGqG-KcWNiRwbS_y_nmw5fTKYTvuj_x8yBd0,2473
|
|
85
|
+
sknetwork/linalg/operators.py,sha256=fxitao4UYW4Hq7B258T_cAq2H3R2FN1-mwdy138w8fE,7432
|
|
86
|
+
sknetwork/linalg/push.cpython-310-darwin.so,sha256=kvcXhCGExAkSJcFe-jkK5W9ro6DcYjHOOJ1MpSfY93Q,237703
|
|
85
87
|
sknetwork/linalg/polynome.py,sha256=_dP9Nu_6XCV0-WEQJ7E5nG6pxZWMtbj-LREu0vtxeWk,2125
|
|
86
88
|
sknetwork/linalg/svd_solver.py,sha256=vhcXwCsOar0cYDPZo7IF_ulRDsGGvZzePIeSpSCVgLk,2681
|
|
87
89
|
sknetwork/linalg/tests/test_svd.py,sha256=eLRmSiHt8uWzknImZtRSZmJC8OX0YDgUt9-8PePc3OA,1285
|
|
88
|
-
sknetwork/linalg/tests/test_operators.py,sha256=
|
|
90
|
+
sknetwork/linalg/tests/test_operators.py,sha256=l_pBF7JZhjUSNfTReDX-lN2nA7HU7mkz7dznJ8I6lrY,2919
|
|
89
91
|
sknetwork/linalg/tests/__init__.py,sha256=l6yw2Ls1ndhVVcSYc059kAjQ2-VoDGZXxnBaglFZ4zo,23
|
|
90
92
|
sknetwork/linalg/tests/test_sparse_lowrank.py,sha256=LEDo6DChembm3xQ-vjeqqZi0ugWx7piucR9_LdDecrI,2276
|
|
91
93
|
sknetwork/linalg/tests/test_polynome.py,sha256=VYru9RlUIIN6dKNOiitSElPQqIxWI7mqx3dR5zd9Nv0,977
|
|
92
|
-
sknetwork/linalg/tests/test_ppr.py,sha256=
|
|
94
|
+
sknetwork/linalg/tests/test_ppr.py,sha256=Bh1n7W3We2N8u1RIWPyE5QQGE7esnNoUOLLRCL8Zye4,2093
|
|
93
95
|
sknetwork/linalg/tests/test_laplacian.py,sha256=B6UhJOmYUdNlXwNoxLLtb--nv9mx96Orl-W1Vl6PLyM,434
|
|
94
96
|
sknetwork/linalg/tests/test_eig.py,sha256=lUAgo4UfWuuSG5DhSk5SIT7ToLDgPG-5JCgmOe_M7Vw,1504
|
|
95
|
-
sknetwork/linalg/tests/test_normalization.py,sha256=
|
|
97
|
+
sknetwork/linalg/tests/test_normalization.py,sha256=nASuMYxKcsWj3gk9DF5uPKYOw93oJ-UQUWi99Fw3kmE,887
|
|
96
98
|
sknetwork/hierarchy/metrics.py,sha256=_wYGKx_VDE_sfbg-uUEFMhOjSLFqzC8rFHjJo1hdVL8,8046
|
|
97
|
-
sknetwork/hierarchy/paris.pyx,sha256=
|
|
98
|
-
sknetwork/hierarchy/paris.cpython-310-darwin.so,sha256=
|
|
99
|
-
sknetwork/hierarchy/postprocess.py,sha256=
|
|
99
|
+
sknetwork/hierarchy/paris.pyx,sha256=10Fu048FPklcgYiLmMKWpRW87UY04ubU0NpjESTOsLA,11683
|
|
100
|
+
sknetwork/hierarchy/paris.cpython-310-darwin.so,sha256=S9x-p2uWicrPt_mll7IZUvYY3oRGHUj353FIXAq2oTA,302728
|
|
101
|
+
sknetwork/hierarchy/postprocess.py,sha256=d1Fll3eqDIjiMf1c5nGuKF6I0fN93elnglkp59LARGU,12072
|
|
100
102
|
sknetwork/hierarchy/__init__.py,sha256=YgE2eqnwS8Q2NWP9pNY-M1bpdxRn5-C-CdykydNW7iM,412
|
|
101
|
-
sknetwork/hierarchy/louvain_hierarchy.py,sha256=
|
|
102
|
-
sknetwork/hierarchy/base.py,sha256=
|
|
103
|
+
sknetwork/hierarchy/louvain_hierarchy.py,sha256=YfwhhEe1eL7DBbs0t1-a-vdzFB2xA5LXh0VT9OL-jus,9558
|
|
104
|
+
sknetwork/hierarchy/base.py,sha256=MoxBiSsEJOq77YmXj_bpf4vUiPLSpQn8fnUX7YIqyd8,2693
|
|
103
105
|
sknetwork/hierarchy/tests/test_postprocess.py,sha256=OSrWE0gT0AcPI4LKmUL-Blfg5ErxnjS3d4rPNnA63_Y,2209
|
|
104
106
|
sknetwork/hierarchy/tests/test_metrics.py,sha256=UydXtXgGud9MgTKT4l_j7BplKToO2cQKuoGvkBPirAw,3160
|
|
105
107
|
sknetwork/hierarchy/tests/__init__.py,sha256=l2HHDiDLpoTQlwzh1mtCyp6bS8RxBdJK2DP1FGiQJMY,26
|
|
106
|
-
sknetwork/hierarchy/tests/test_algos.py,sha256=
|
|
108
|
+
sknetwork/hierarchy/tests/test_algos.py,sha256=xMt2xzAYEm6MuK-8OKOqBwZS89aJspX2tr7T6QMHz6E,1361
|
|
107
109
|
sknetwork/hierarchy/tests/test_API.py,sha256=tLF-jLsfM2OFqbyVHK1o9jXVW_1PbTkMcxkAXuGjMO8,720
|
|
108
|
-
sknetwork/path/distances.py,sha256=
|
|
110
|
+
sknetwork/path/distances.py,sha256=8NJeL14UpGudTFCgQJaNDOXs2-aSHLCl5LHXexF_xuQ,3568
|
|
109
111
|
sknetwork/path/dag.py,sha256=Se5LSgQi-RwA-nXbJ1l_upjKw_MNIckeT_dh3TYWl6w,1668
|
|
110
|
-
sknetwork/path/shortest_path.py,sha256=
|
|
112
|
+
sknetwork/path/shortest_path.py,sha256=_trQS__X71HQOOBXu0QTlzfOgb2ydoy-KooIKjIkpvs,2450
|
|
111
113
|
sknetwork/path/__init__.py,sha256=OQ7dWwlncIIsPo5kQu2akUhk_m73vQuF17LaH0siqo4,222
|
|
112
114
|
sknetwork/path/search.py,sha256=__63FqXFqhNTSyTGYj4yYx8ZDoew0_uCHHWhJlrIRoA,776
|
|
113
115
|
sknetwork/path/tests/test_dag.py,sha256=EYyghTXbHRr1Ia-8KoXoyumIFD_6q6bZx5DDcaa-ODQ,938
|
|
114
|
-
sknetwork/path/tests/test_search.py,sha256=
|
|
116
|
+
sknetwork/path/tests/test_search.py,sha256=mStK4ZiN1hVdZr8Q9R78AFBouuA9RIhnQ4nwGrfCjCY,1199
|
|
115
117
|
sknetwork/path/tests/test_shortest_path.py,sha256=Uwq4CzzjnMV6VsTlzgKnn_GwqUr2Cc0kZTgFtv_UisQ,1382
|
|
116
118
|
sknetwork/path/tests/__init__.py,sha256=_COAjci7RJ_XtBDGwy5aOgZ9dPSQH3j7d6qMlLHs55o,28
|
|
117
|
-
sknetwork/path/tests/test_distances.py,sha256=
|
|
118
|
-
sknetwork/embedding/random_projection.py,sha256=
|
|
119
|
-
sknetwork/embedding/__init__.py,sha256=
|
|
119
|
+
sknetwork/path/tests/test_distances.py,sha256=zItygI9cLMrQonLhOubvorElU5qaZumFfjMethx4rDw,2695
|
|
120
|
+
sknetwork/embedding/random_projection.py,sha256=NuJoPHYLjdb8dUdKOwGr7Q6lGZBSPbwmMuuY6CRzgoI,5002
|
|
121
|
+
sknetwork/embedding/__init__.py,sha256=ASeieiOc46EuKMUArW3kt_WJbsLxUzz0BVYycmag5Pw,410
|
|
120
122
|
sknetwork/embedding/svd.py,sha256=0q6a2EwnbXGxzsDpmQu0HUS_9e_VwA0lMKqes2e-77I,14734
|
|
121
|
-
sknetwork/embedding/force_atlas.py,sha256=
|
|
123
|
+
sknetwork/embedding/force_atlas.py,sha256=amYr0E08F8TDoIxjPx3lx35JFwEP41jc4KKed1PQeZs,7452
|
|
122
124
|
sknetwork/embedding/spring.py,sha256=5fyHQzmIp8gY9DdI-DFvMc37mjMb64bs22ZZZ9YFDXM,7151
|
|
123
|
-
sknetwork/embedding/
|
|
124
|
-
sknetwork/embedding/
|
|
125
|
-
sknetwork/embedding/
|
|
126
|
-
sknetwork/embedding/base.py,sha256=r9n04fEY0nq2Fw5wls1z5zjgVJI2QVji5c08FtBjlvk,2761
|
|
127
|
-
sknetwork/embedding/tests/test_louvain_hierarchy.py,sha256=ahSjrgvScYulAk-IZ7KGysvasJSB4UPRGfIRV2ivWIE,734
|
|
125
|
+
sknetwork/embedding/spectral.py,sha256=ds91hH6JFBsfLcTS8QEz-gP5tZUcrrGqjfnL-xMIdU0,5548
|
|
126
|
+
sknetwork/embedding/louvain_embedding.py,sha256=QYKxrTNLEm69PS7D0YR_k3diZQKBt6PT1T6N3xPGrMU,6950
|
|
127
|
+
sknetwork/embedding/base.py,sha256=D-UkpCOTw_PAjs1YFyq7jdrn3Akx4yjl5nxN2iMnd0Q,2590
|
|
128
128
|
sknetwork/embedding/tests/test_spring.py,sha256=tanArc4vstNZ36CLr7S8uEVdXX0iP2K9UWKQLTcsPsQ,1643
|
|
129
|
-
sknetwork/embedding/tests/test_svd.py,sha256=
|
|
130
|
-
sknetwork/embedding/tests/test_louvain_embedding.py,sha256=
|
|
129
|
+
sknetwork/embedding/tests/test_svd.py,sha256=Yg9qgSdPPZR4n_DYN5bXZMJLIEz1tny1rirsPL8ejQc,1195
|
|
130
|
+
sknetwork/embedding/tests/test_louvain_embedding.py,sha256=GtHU8vt4X8nNLLVol08Ot4NgbMcDzQEvWcm7qWbN_BA,825
|
|
131
131
|
sknetwork/embedding/tests/__init__.py,sha256=QkDQtTJReK7Ldp0Y4f5-tbTdcp224r1AF7jU26alSgQ,26
|
|
132
|
-
sknetwork/embedding/tests/test_API.py,sha256=
|
|
132
|
+
sknetwork/embedding/tests/test_API.py,sha256=2c0O8S0u0hF23iys7QLHJJOz2W79rHMeEO2OMDQbglk,1489
|
|
133
133
|
sknetwork/embedding/tests/test_force_atlas.py,sha256=-YM4HSF5Nvpm8e4SoCHiA2o7yAkm0h_ys7GRaJ1wloI,1120
|
|
134
134
|
sknetwork/embedding/tests/test_random_projection.py,sha256=2bUOCw66tUKP775pGPd5STj0UmRuwvBtI5CgY8HeHKI,1193
|
|
135
|
-
sknetwork/embedding/tests/test_spectral.py,sha256=
|
|
135
|
+
sknetwork/embedding/tests/test_spectral.py,sha256=CH-F8fM3cYoxhjpob1m7wZV-tEr8XFD6Lxa_bFsLv3A,3897
|
|
136
|
+
sknetwork/clustering/leiden_core.pyx,sha256=7HGdeX6iMnSs52Px44-__kN9JhHueaQUvCmrkIGTalg,4300
|
|
136
137
|
sknetwork/clustering/metrics.py,sha256=VJPgmB1OvxA0SOaIQIGyJDUP1cgWFElnfdVaQ2krYrg,3060
|
|
137
|
-
sknetwork/clustering/
|
|
138
|
-
sknetwork/clustering/
|
|
139
|
-
sknetwork/clustering/
|
|
140
|
-
sknetwork/clustering/
|
|
141
|
-
sknetwork/clustering/
|
|
142
|
-
sknetwork/clustering/
|
|
143
|
-
sknetwork/clustering/
|
|
138
|
+
sknetwork/clustering/leiden.py,sha256=w0oUbQLR7zCMy4wXgDa7eN2K488jjGuTdOcgWG6Eb9A,9680
|
|
139
|
+
sknetwork/clustering/leiden_core.cpython-310-darwin.so,sha256=aUQed2lvbbVfJHo5j3pRhfyVMBF0ZOWhpsVoVOLPTWY,261470
|
|
140
|
+
sknetwork/clustering/postprocess.py,sha256=4hx5VTQmqS2Ld2P2kvXoyvVanXVg3bMA619IHS2jWHM,2039
|
|
141
|
+
sknetwork/clustering/__init__.py,sha256=Ab-rmioxlaMoghrzd1RMr-L4zyrqIM8XznqrjBPGE28,435
|
|
142
|
+
sknetwork/clustering/kcenters.py,sha256=RFEx35vPUm9a4mzCbDwv-PmePCsdQwbuKAeaRizBMxY,8689
|
|
143
|
+
sknetwork/clustering/louvain.py,sha256=1mGcmy_Fd97V6bDmZb2Aa4JziCusru-gFHv5Vdxfm_0,10791
|
|
144
|
+
sknetwork/clustering/propagation_clustering.py,sha256=ABZZtyojkrXfzsMwEcxqphzHgFC5q8sECOyanvK9D3o,3781
|
|
145
|
+
sknetwork/clustering/louvain_core.pyx,sha256=pMqt7WukTkBOpjofmiXMYHqRX69mkquEMapDdoskiQM,4089
|
|
146
|
+
sknetwork/clustering/base.py,sha256=dCF4K3nbKY24kzFeDAy7Fp-b9jDBzEoG3jj1ozuu_W8,5932
|
|
147
|
+
sknetwork/clustering/louvain_core.cpython-310-darwin.so,sha256=c-jt_fjjfNPRMGuCpkqeNux0BWOnOaGGjpbsTXXUNW0,260415
|
|
144
148
|
sknetwork/clustering/tests/test_postprocess.py,sha256=WSmAlqB-6Nw3eoL3NaOyNlpPr7GVnNnllkPVdyE9rXI,1378
|
|
149
|
+
sknetwork/clustering/tests/test_kcenters.py,sha256=3euzkt79tPZul5rP_HuJZHXydUdqT-Xk5N01qWOuaks,3477
|
|
145
150
|
sknetwork/clustering/tests/test_metrics.py,sha256=fbVYg2s8DXQdiYHUNuVjFMtEJg4od1Vej25mgHhGDu0,1818
|
|
146
151
|
sknetwork/clustering/tests/__init__.py,sha256=Ta0XKY7pklRvHyUY3Jlow3A2V4REa5geZG74xPz80Tc,27
|
|
147
|
-
sknetwork/clustering/tests/
|
|
148
|
-
sknetwork/clustering/tests/
|
|
149
|
-
sknetwork/
|
|
152
|
+
sknetwork/clustering/tests/test_leiden.py,sha256=3KSXvxUP9H4tCJQXUfWt-45-ltyD0FrVgYjXDvRN-yQ,1155
|
|
153
|
+
sknetwork/clustering/tests/test_louvain.py,sha256=6eQPoKodZLBafNgpX1_zBzPzGY5w7QKzWsLuoEVZEaE,4678
|
|
154
|
+
sknetwork/clustering/tests/test_API.py,sha256=Eez17EngcirVHVVoybClXS5314_Yz54JFzXldubEdgg,1528
|
|
155
|
+
sknetwork/linkpred/nn.py,sha256=tY-qYlp0j9WCvdoHkZ9EKzCD_GlDu7tQpKD7-aC20rE,4030
|
|
150
156
|
sknetwork/linkpred/__init__.py,sha256=pFtM52OhDK69ceeiRyH1MDse0EbD8fqyhOsWWih47gM,72
|
|
151
|
-
sknetwork/linkpred/base.py,sha256=
|
|
157
|
+
sknetwork/linkpred/base.py,sha256=aXgWqajDYjDE-YQcooI6j0qEByJxHQiQtSjmFiID3Qk,995
|
|
152
158
|
sknetwork/linkpred/tests/__init__.py,sha256=05sK8Ihh9Gi2_uobPC_ErMVE4KOt0761NzzV_vJh15U,32
|
|
153
159
|
sknetwork/linkpred/tests/test_nn.py,sha256=T79txY2DlPgnI4JqzC88EcwCobJiM9P9v_5_ZvBTDeU,983
|
|
154
160
|
sknetwork/utils/values.py,sha256=UK6wck_frtPz0Q6hRugpUMNg6AARcBQ0_MIlG5CyAkc,2510
|
|
155
161
|
sknetwork/utils/check.py,sha256=tNOelam8GGdVjMzmk-7otNTyFBgJNKwq1z-zWmHOb9Y,12940
|
|
156
162
|
sknetwork/utils/neighbors.py,sha256=XNqwPM_PPpf_x-YhjEMVZJDxmazrVw9Eky3hNv9IGz0,3351
|
|
157
163
|
sknetwork/utils/__init__.py,sha256=FX-906qqZsXt9Q2nZdd3JT4rM0Aj39bc2O0wDpp_q-0,329
|
|
158
|
-
sknetwork/utils/format.py,sha256
|
|
159
|
-
sknetwork/utils/membership.py,sha256=
|
|
164
|
+
sknetwork/utils/format.py,sha256=qAa5jmp_fkQBlVL4LW14N7rrMPNk3yMApNFLxREPuiU,8766
|
|
165
|
+
sknetwork/utils/membership.py,sha256=dG2xJTWEjRcxyKTs5A7DFyNhO50-7UKpBIaWFfmyH_M,2162
|
|
160
166
|
sknetwork/utils/tfidf.py,sha256=C1qZCwZSwypi-C_II9D7lkfyxsOFefiDopTO3pBEwkc,956
|
|
161
167
|
sknetwork/utils/tests/test_membership.py,sha256=y4BiaCHUw5c1dJPOSJA6vgkBQlPxQ2bepL7hDV1es5U,748
|
|
162
168
|
sknetwork/utils/tests/__init__.py,sha256=y7PVVv2Wiz1msA5jqKOuB5BbB4UzCmDZ-pml9hIQyjo,22
|
|
@@ -165,43 +171,43 @@ sknetwork/utils/tests/test_values.py,sha256=BswuHPma0xCxr4gVkrkfPdMaIW6gw6ylCd5M
|
|
|
165
171
|
sknetwork/utils/tests/test_check.py,sha256=WOLQ7J4eM4YHsSxyBNU5yPquq-0dB5FyD_tttZ1RgsQ,6764
|
|
166
172
|
sknetwork/utils/tests/test_neighbors.py,sha256=vF697D0cTfx4Limcmbre5JkJcLi1rUX0tS_JviX11Zg,1426
|
|
167
173
|
sknetwork/utils/tests/test_format.py,sha256=xSvz_IbxNnei8IrEysIOi8YpX_a6edxVE41g_lSx1mk,2245
|
|
168
|
-
sknetwork/gnn/base_layer.py,sha256=
|
|
174
|
+
sknetwork/gnn/base_layer.py,sha256=o5CbTVXY7Y1_TyNEMkp7P2va2HLLIq_MgnOxZ7PGQmg,3948
|
|
169
175
|
sknetwork/gnn/base_activation.py,sha256=XogZDdhl3QDyADvWJhMTGSnVYsKPI3PDHPu89yPL1VI,2306
|
|
170
176
|
sknetwork/gnn/__init__.py,sha256=m2lkDJoJZocJ18scpArsUHuzePZ8Q-ue7D3yXQ5H_RM,519
|
|
171
|
-
sknetwork/gnn/loss.py,sha256=
|
|
177
|
+
sknetwork/gnn/loss.py,sha256=P0un3iqbnFLrBbYODznVAoU_J2qAZuqHAPLiae0LCtI,5162
|
|
172
178
|
sknetwork/gnn/activation.py,sha256=D7o4FdbDMrBa2PQrWrvplCf14QOSzZ67d9eWN9bHY-M,3560
|
|
173
179
|
sknetwork/gnn/neighbor_sampler.py,sha256=TXdMRFwiT8sOdl6-S-flQZ5Rjrx1hwTzFqqiR_8PHTQ,1864
|
|
174
|
-
sknetwork/gnn/utils.py,sha256=
|
|
175
|
-
sknetwork/gnn/gnn_classifier.py,sha256=
|
|
176
|
-
sknetwork/gnn/layer.py,sha256=
|
|
177
|
-
sknetwork/gnn/optimizer.py,sha256=
|
|
180
|
+
sknetwork/gnn/utils.py,sha256=A0kuBe29Eg90cEzRAgw4YmnShnzoq6ai_-01IBAf63g,4349
|
|
181
|
+
sknetwork/gnn/gnn_classifier.py,sha256=wSZQXjRu9ou9cEqcOXPD4gY_vKOYeC8iWXj6j1-uFrM,12613
|
|
182
|
+
sknetwork/gnn/layer.py,sha256=i0XiAutNal9ImAGqMtSLVEq_QiqZoGAlAWwlSGrNY8Q,5526
|
|
183
|
+
sknetwork/gnn/optimizer.py,sha256=vsCgfPoJtYMWREnR4tBsfPb0Ed-rHR0poBr-75lE57s,5782
|
|
178
184
|
sknetwork/gnn/base.py,sha256=QZ_pNi2-edAUpu-2C93DWfooS_sHulO6HL6vK108lhc,5708
|
|
179
185
|
sknetwork/gnn/tests/test_optimizer.py,sha256=4NvHQf66cFKy500kA68IBVv_-_pf75Hqdbq2odhJMr4,1780
|
|
180
186
|
sknetwork/gnn/tests/test_utils.py,sha256=ExTZqAMT3joYU1RSQ-_d1YipysgnkLKePe7ZHuMoHeY,1843
|
|
181
|
-
sknetwork/gnn/tests/test_gnn_classifier.py,sha256=
|
|
187
|
+
sknetwork/gnn/tests/test_gnn_classifier.py,sha256=QRjXGJK2ghHtsGc9O-FwlKzG53IHocrWZuKTAVSFjFw,5743
|
|
182
188
|
sknetwork/gnn/tests/test_activation.py,sha256=HZdBaJ8P8LBJ-3_Typc8Qkvsho9gNSy1-CANEz8rQ-Q,2487
|
|
183
189
|
sknetwork/gnn/tests/test_layers.py,sha256=apPJGgMddw_-Qiw0OsTDL3cmMJ8GTMC08dLTmiYEWW8,3176
|
|
184
190
|
sknetwork/gnn/tests/__init__.py,sha256=SvFOB5nn_yN-JCaYFAtzesL0zU0OihQp0s0dOP1-MKE,20
|
|
185
191
|
sknetwork/gnn/tests/test_neigh_sampler.py,sha256=zc_6G3JhZvKrFLJAk2UJSOHZwN7sGojC8bXTCbmaUx4,698
|
|
186
|
-
sknetwork/gnn/tests/test_base_layer.py,sha256=
|
|
192
|
+
sknetwork/gnn/tests/test_base_layer.py,sha256=1PXvS3338vu-fI77ZnGgHfY20zkPRv_GcZKxLQmyj7I,1381
|
|
187
193
|
sknetwork/gnn/tests/test_loss.py,sha256=W5DA6FRd-OppeRKFgj2gtLqNvjkXkCQPmV6lg3ENu-c,1045
|
|
188
194
|
sknetwork/gnn/tests/test_base.py,sha256=HVsz5zABud8ZlrIJIFuAKP6N7mu2ClrTaleZbPhGOR0,3393
|
|
189
|
-
sknetwork/regression/diffusion.py,sha256=
|
|
195
|
+
sknetwork/regression/diffusion.py,sha256=dV-uPGEaBLpI_sY6pl52rkKeSDQV9MZsQfSo1frYKbc,7845
|
|
190
196
|
sknetwork/regression/__init__.py,sha256=nRlbcR8bA2Lz-OmLPMIPhBzgDCol8oSA19qL3IninXA,141
|
|
191
|
-
sknetwork/regression/base.py,sha256=
|
|
197
|
+
sknetwork/regression/base.py,sha256=KIsVpnbACRH4h5W3ifMJOTlZNuztGbQP1QbZKj5aj_0,1496
|
|
192
198
|
sknetwork/regression/tests/__init__.py,sha256=BT8kCCMN_pv7znhIR5GSQ_XxU5brmrCYDwm4QJNRCV0,27
|
|
193
|
-
sknetwork/regression/tests/test_diffusion.py,sha256
|
|
199
|
+
sknetwork/regression/tests/test_diffusion.py,sha256=-QBRgES_BF-QIgFevozLt9YXmGxJ6vxgLeYVZe92Wn8,2061
|
|
194
200
|
sknetwork/regression/tests/test_API.py,sha256=7fQulvKzF9yEBlLie7fL5G1ZdyiG4DAFZQZ4Lix96qs,1024
|
|
195
201
|
sknetwork/data/models.py,sha256=QyC_5ft7lkYzp3smmv54fHnyMUs88TYUq2FBU_KStMs,13156
|
|
196
202
|
sknetwork/data/test_graphs.py,sha256=OM6-7CiBN4UEAQUtE_2k5e5I72zDBL3r5fj_C2JXzNw,2484
|
|
197
203
|
sknetwork/data/timeout.py,sha256=kwHOLZFnOTrRhiEjtcwATYhsXbf5e8zV1OCoEKuG8Zg,1047
|
|
198
204
|
sknetwork/data/__init__.py,sha256=ejVS9hqX1Jf912UAazfaqIsNlppXCahEVDBv2IFdRUM,259
|
|
199
205
|
sknetwork/data/toy_graphs.py,sha256=2Cy7EABhYKPtjtfrW71Drz51A3mSuGu7G0P24tYiwHY,25035
|
|
200
|
-
sknetwork/data/parse.py,sha256=
|
|
201
|
-
sknetwork/data/load.py,sha256=
|
|
206
|
+
sknetwork/data/parse.py,sha256=bRawtsCpm0CNgxjZ9CqpR_8nRJnW0ac561GoIlMOq1Y,26897
|
|
207
|
+
sknetwork/data/load.py,sha256=gC61jqFdyhPXc4-vazK85UdB4hnFQFjH9f1xpQ7JScI,14360
|
|
202
208
|
sknetwork/data/base.py,sha256=jeCwL-1O21CNkX1F9_eX4gl_BVNbeYabq_DSZr6ukB8,630
|
|
203
209
|
sknetwork/data/tests/test_test_graphs.py,sha256=dVRds-3P8JVnwfAp32fGif3zhocfPK0p2rgcYwJWsUQ,849
|
|
204
|
-
sknetwork/data/tests/test_parse.py,sha256=
|
|
210
|
+
sknetwork/data/tests/test_parse.py,sha256=JOTFNWr77ZxKUKjw8TSbN-2dk-6YwmqN2OcrNkh7JVc,12717
|
|
205
211
|
sknetwork/data/tests/__init__.py,sha256=FSfkSYRKjDqIuEiEZ39Otve50qSxi7QObNnNrHHPx5s,19
|
|
206
212
|
sknetwork/data/tests/test_toy_graphs.py,sha256=kxOb7QpXGi8O7Kb6RmWoRUbAoyllM_-SXCRcYoH8B00,2137
|
|
207
213
|
sknetwork/data/tests/test_models.py,sha256=oP-X_k0vbSB4CwlV4GQVVBAQ9uI_8frFicde5yhVYAc,1915
|
sknetwork/__init__.py
CHANGED
sknetwork/classification/base.py
CHANGED
|
@@ -38,7 +38,7 @@ class BaseClassifier(Algorithm, ABC):
|
|
|
38
38
|
self.probs_row_ = None
|
|
39
39
|
self.probs_col_ = None
|
|
40
40
|
|
|
41
|
-
def predict(self, columns=False) -> np.ndarray:
|
|
41
|
+
def predict(self, columns: bool = False) -> np.ndarray:
|
|
42
42
|
"""Return the labels predicted by the algorithm.
|
|
43
43
|
|
|
44
44
|
Parameters
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Created
|
|
4
|
+
Created in March 2020
|
|
5
5
|
@author: Nathan de Lara <nathan.delara@polytechnique.org>
|
|
6
6
|
"""
|
|
7
7
|
from functools import partial
|
|
@@ -12,7 +12,7 @@ import numpy as np
|
|
|
12
12
|
from scipy import sparse
|
|
13
13
|
|
|
14
14
|
from sknetwork.classification.base import BaseClassifier
|
|
15
|
-
from sknetwork.linalg.
|
|
15
|
+
from sknetwork.linalg.normalizer import normalize
|
|
16
16
|
from sknetwork.ranking.base import BaseRanking
|
|
17
17
|
from sknetwork.utils.check import check_labels, check_n_jobs
|
|
18
18
|
from sknetwork.utils.format import get_adjacency_values
|
|
@@ -114,7 +114,7 @@ class RankClassifier(BaseClassifier):
|
|
|
114
114
|
seeds_labels = seeds_labels.astype(int)
|
|
115
115
|
labels_unique, n_classes = check_labels(seeds_labels)
|
|
116
116
|
seeds_all = self._process_labels(seeds_labels)
|
|
117
|
-
local_function = partial(self.algorithm.
|
|
117
|
+
local_function = partial(self.algorithm.fit_predict, adjacency)
|
|
118
118
|
with Pool(self.n_jobs) as pool:
|
|
119
119
|
scores = np.array(pool.map(local_function, seeds_all))
|
|
120
120
|
scores = scores.T
|
|
@@ -11,7 +11,7 @@ from scipy import sparse
|
|
|
11
11
|
|
|
12
12
|
from sknetwork.classification.base import BaseClassifier
|
|
13
13
|
from sknetwork.path.distances import get_distances
|
|
14
|
-
from sknetwork.linalg.
|
|
14
|
+
from sknetwork.linalg.normalizer import normalize
|
|
15
15
|
from sknetwork.utils.format import get_adjacency_values
|
|
16
16
|
from sknetwork.utils.membership import get_membership
|
|
17
17
|
from sknetwork.utils.neighbors import get_degrees
|
|
@@ -38,11 +38,14 @@ class DiffusionClassifier(BaseClassifier):
|
|
|
38
38
|
Labels of nodes.
|
|
39
39
|
probs_ : sparse.csr_matrix, shape (n_row, n_labels)
|
|
40
40
|
Probability distribution over labels.
|
|
41
|
-
labels_row_
|
|
42
|
-
Labels of rows
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
labels_row_ : np.ndarray
|
|
42
|
+
Labels of rows, for bipartite graphs.
|
|
43
|
+
labels_col_ : np.ndarray
|
|
44
|
+
Labels of columns, for bipartite graphs.
|
|
45
|
+
probs_row_ : sparse.csr_matrix, shape (n_row, n_labels)
|
|
46
|
+
Probability distributions over labels of rows, for bipartite graphs.
|
|
47
|
+
probs_col_ : sparse.csr_matrix, shape (n_col, n_labels)
|
|
48
|
+
Probability distributions over labels of columns, for bipartite graphs.
|
|
46
49
|
Example
|
|
47
50
|
-------
|
|
48
51
|
>>> from sknetwork.data import karate_club
|
|
@@ -78,13 +81,15 @@ class DiffusionClassifier(BaseClassifier):
|
|
|
78
81
|
|
|
79
82
|
Parameters
|
|
80
83
|
----------
|
|
81
|
-
input_matrix :
|
|
84
|
+
input_matrix : sparse.csr_matrix, np.ndarray
|
|
82
85
|
Adjacency matrix or biadjacency matrix of the graph.
|
|
83
|
-
labels :
|
|
86
|
+
labels : dict, np.ndarray
|
|
84
87
|
Known labels (dictionary or vector of int). Negative values ignored.
|
|
85
|
-
labels_row,
|
|
86
|
-
Labels of rows
|
|
87
|
-
|
|
88
|
+
labels_row : dict, np.ndarray
|
|
89
|
+
Labels of rows for bipartite graphs. Negative values ignored.
|
|
90
|
+
labels_col : dict, np.ndarray
|
|
91
|
+
Labels of columns for bipartite graphs. Negative values ignored.
|
|
92
|
+
force_bipartite : bool
|
|
88
93
|
If ``True``, consider the input matrix as a biadjacency matrix (default = ``False``).
|
|
89
94
|
|
|
90
95
|
Returns
|
|
@@ -98,7 +103,10 @@ class DiffusionClassifier(BaseClassifier):
|
|
|
98
103
|
labels = values.astype(int)
|
|
99
104
|
if (labels < 0).all():
|
|
100
105
|
raise ValueError('At least one node must be given a non-negative label.')
|
|
101
|
-
|
|
106
|
+
labels_reindex = labels.copy()
|
|
107
|
+
labels_unique, inverse = np.unique(labels[labels >= 0], return_inverse=True)
|
|
108
|
+
labels_reindex[labels >= 0] = inverse
|
|
109
|
+
temperatures = get_membership(labels_reindex).toarray()
|
|
102
110
|
temperatures_seeds = temperatures[labels >= 0]
|
|
103
111
|
temperatures[labels < 0] = 0.5
|
|
104
112
|
diffusion = normalize(adjacency)
|
|
@@ -107,7 +115,7 @@ class DiffusionClassifier(BaseClassifier):
|
|
|
107
115
|
temperatures[labels >= 0] = temperatures_seeds
|
|
108
116
|
if self.centering:
|
|
109
117
|
temperatures -= temperatures.mean(axis=0)
|
|
110
|
-
labels_ = temperatures.argmax(axis=1)
|
|
118
|
+
labels_ = labels_unique[temperatures.argmax(axis=1)]
|
|
111
119
|
|
|
112
120
|
# softmax
|
|
113
121
|
if self.centering:
|
sknetwork/classification/knn.py
CHANGED
|
@@ -12,7 +12,7 @@ from scipy import sparse
|
|
|
12
12
|
|
|
13
13
|
from sknetwork.classification.base import BaseClassifier
|
|
14
14
|
from sknetwork.embedding.base import BaseEmbedding
|
|
15
|
-
from sknetwork.linalg.
|
|
15
|
+
from sknetwork.linalg.normalizer import get_norms, normalize
|
|
16
16
|
from sknetwork.utils.check import check_n_neighbors
|
|
17
17
|
from sknetwork.utils.format import get_adjacency_values
|
|
18
18
|
|
|
@@ -22,12 +22,12 @@ class NNClassifier(BaseClassifier):
|
|
|
22
22
|
|
|
23
23
|
Parameters
|
|
24
24
|
----------
|
|
25
|
-
n_neighbors :
|
|
25
|
+
n_neighbors : int
|
|
26
26
|
Number of nearest neighbors .
|
|
27
|
-
embedding_method :
|
|
27
|
+
embedding_method : :class:`BaseEmbedding`
|
|
28
28
|
Embedding method used to represent nodes in vector space.
|
|
29
29
|
If ``None`` (default), use identity.
|
|
30
|
-
normalize :
|
|
30
|
+
normalize : bool
|
|
31
31
|
If ``True``, apply normalization so that all vectors have norm 1 in the embedding space.
|
|
32
32
|
|
|
33
33
|
Attributes
|
|
@@ -36,10 +36,14 @@ class NNClassifier(BaseClassifier):
|
|
|
36
36
|
Labels of nodes.
|
|
37
37
|
probs_ : sparse.csr_matrix, shape (n_row, n_labels)
|
|
38
38
|
Probability distribution over labels.
|
|
39
|
-
labels_row_
|
|
40
|
-
Labels of rows
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
labels_row_ : np.ndarray
|
|
40
|
+
Labels of rows, for bipartite graphs.
|
|
41
|
+
labels_col_ : np.ndarray
|
|
42
|
+
Labels of columns, for bipartite graphs.
|
|
43
|
+
probs_row_ : sparse.csr_matrix, shape (n_row, n_labels)
|
|
44
|
+
Probability distributions over labels of rows, for bipartite graphs.
|
|
45
|
+
probs_col_ : sparse.csr_matrix, shape (n_col, n_labels)
|
|
46
|
+
Probability distributions over labels of columns, for bipartite graphs.
|
|
43
47
|
|
|
44
48
|
Example
|
|
45
49
|
-------
|
|
@@ -99,12 +103,14 @@ class NNClassifier(BaseClassifier):
|
|
|
99
103
|
|
|
100
104
|
Parameters
|
|
101
105
|
----------
|
|
102
|
-
input_matrix :
|
|
106
|
+
input_matrix : sparse.csr_matrix, np.ndarray
|
|
103
107
|
Adjacency matrix or biadjacency matrix of the graph.
|
|
104
|
-
labels :
|
|
105
|
-
Known labels
|
|
106
|
-
labels_row,
|
|
107
|
-
Known labels of rows
|
|
108
|
+
labels : np.ndarray, dict
|
|
109
|
+
Known labels. Negative values ignored.
|
|
110
|
+
labels_row : np.ndarray, dict
|
|
111
|
+
Known labels of rows, for bipartite graphs.
|
|
112
|
+
labels_col : np.ndarray, dict
|
|
113
|
+
Known labels of columns, for bipartite graphs.
|
|
108
114
|
|
|
109
115
|
Returns
|
|
110
116
|
-------
|
|
@@ -158,7 +158,7 @@ def get_f1_scores(labels_true: np.ndarray, labels_pred: np.ndarray, return_preci
|
|
|
158
158
|
mask = counts_pred > 0
|
|
159
159
|
precisions[mask] = counts_correct[mask] / counts_pred[mask]
|
|
160
160
|
f1_scores = np.zeros(n_labels)
|
|
161
|
-
mask = (
|
|
161
|
+
mask = (precisions > 0) & (recalls > 0)
|
|
162
162
|
f1_scores[mask] = 2 / (1 / precisions[mask] + 1 / recalls[mask])
|
|
163
163
|
if return_precision_recall:
|
|
164
164
|
return f1_scores, precisions, recalls
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Created
|
|
4
|
+
Created in March 2020
|
|
5
5
|
@author: Nathan de Lara <nathan.delara@polytechnique.org>
|
|
6
6
|
"""
|
|
7
7
|
from typing import Optional
|
|
@@ -17,9 +17,9 @@ class PageRankClassifier(RankClassifier):
|
|
|
17
17
|
|
|
18
18
|
Parameters
|
|
19
19
|
----------
|
|
20
|
-
damping_factor:
|
|
20
|
+
damping_factor: float
|
|
21
21
|
Probability to continue the random walk.
|
|
22
|
-
solver :
|
|
22
|
+
solver : str
|
|
23
23
|
Which solver to use: 'piteration', 'diteration', 'bicgstab', 'lanczos'.
|
|
24
24
|
n_iter : int
|
|
25
25
|
Number of iterations for some solvers such as ``'piteration'`` or ``'diteration'``.
|
|
@@ -29,13 +29,17 @@ class PageRankClassifier(RankClassifier):
|
|
|
29
29
|
Attributes
|
|
30
30
|
----------
|
|
31
31
|
labels_ : np.ndarray, shape (n_labels,)
|
|
32
|
-
|
|
32
|
+
Labels of nodes.
|
|
33
33
|
probs_ : sparse.csr_matrix, shape (n_row, n_labels)
|
|
34
34
|
Probability distribution over labels.
|
|
35
|
-
labels_row_
|
|
36
|
-
Labels of rows
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
labels_row_ : np.ndarray
|
|
36
|
+
Labels of rows, for bipartite graphs.
|
|
37
|
+
labels_col_ : np.ndarray
|
|
38
|
+
Labels of columns, for bipartite graphs.
|
|
39
|
+
probs_row_ : sparse.csr_matrix, shape (n_row, n_labels)
|
|
40
|
+
Probability distributions over labels of rows, for bipartite graphs.
|
|
41
|
+
probs_col_ : sparse.csr_matrix, shape (n_col, n_labels)
|
|
42
|
+
Probability distributions over labels of columns, for bipartite graphs.
|
|
39
43
|
|
|
40
44
|
Example
|
|
41
45
|
-------
|