spectralGraphTopology
Learning Graphs from Data via Spectral Constraints for k-component, bipartite, and k-component bipartite graphs
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: ieee.org, acm.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.9%) to scientific vocabulary
Last synced: 11 months ago
·
JSON representation
Repository
Learning Graphs from Data via Spectral Constraints for k-component, bipartite, and k-component bipartite graphs
Basic Info
- Host: GitHub
- Owner: dppalomar
- License: gpl-3.0
- Default Branch: master
- Homepage: https://CRAN.R-project.org/package=spectralGraphTopology
- Size: 136 MB
Statistics
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of convexfi/spectralGraphTopology
Created over 3 years ago
· Last pushed almost 4 years ago
https://github.com/dppalomar/spectralGraphTopology/blob/master/
spectralGraphTopology ===================== [](https://app.codecov.io/gh/mirca/spectralGraphTopology) [](https://cran.r-project.org/package=spectralGraphTopology) [](https://cran.r-project.org/package=spectralGraphTopology)  [](http://www.rcpp.org/)**spectralGraphTopology** provides estimators to learn k-component, bipartite, and k-component bipartite graphs from data by imposing spectral constraints on the eigenvalues and eigenvectors of the Laplacian and adjacency matrices. Those estimators leverage spectral properties of the graphical models as a prior information which turn out to play key roles in unsupervised machine learning tasks such as clustering. **Documentation**: [**https://mirca.github.io/spectralGraphTopology**](https://mirca.github.io/spectralGraphTopology/). Installation ------------ From inside an R session, type: ``` r > install.packages("spectralGraphTopology") ``` Alternatively, you can install the development version from GitHub: ``` r > devtools::install_github("dppalomar/spectralGraphTopology") ``` #### Microsoft Windows On MS Windows environments, make sure to install the most recent version of `Rtools`. #### macOS **spectralGraphTopology** depends on [`RcppArmadillo`](https://github.com/RcppCore/RcppArmadillo) which requires [`gfortran`](https://CRAN.R-project.org/bin/macosx/tools/). Usage: clustering ----------------- We illustrate the usage of the package with simulated data, as follows: ``` r library(spectralGraphTopology) library(clusterSim) library(igraph) set.seed(42) # generate graph and data n <- 50 # number of nodes per cluster twomoon <- clusterSim::shapes.two.moon(n) # generate data points k <- 2 # number of components # estimate underlying graph S <- crossprod(t(twomoon$data)) graph <- learn_k_component_graph(S, k = k, beta = .25, verbose = FALSE, abstol = 1e-3) # plot # build network net <- igraph::graph_from_adjacency_matrix(graph$adjacency, mode = "undirected", weighted = TRUE) # colorify nodes and edges colors <- c("#706FD3", "#FF5252") V(net)$cluster <- twomoon$clusters E(net)$color <- apply(as.data.frame(get.edgelist(net)), 1, function(x) ifelse(V(net)$cluster[x[1]] == V(net)$cluster[x[2]], colors[V(net)$cluster[x[1]]], '#000000')) V(net)$color <- colors[twomoon$clusters] # plot nodes plot(net, layout = twomoon$data, vertex.label = NA, vertex.size = 3) ```
Contributing ------------ We welcome all sorts of contributions. Please feel free to open an issue to report a bug or discuss a feature request. Citation -------- If you made use of this software please consider citing: - J. V. de Miranda Cardoso, D. P. Palomar (2019). spectralGraphTopology: Learning Graphs from Data via Spectral Constraints. https://CRAN.R-project.org/package=spectralGraphTopology - S. Kumar, J. Ying, J. V. de Miranda Cardoso, and D. P. Palomar (2020). [A unified framework for structured graph learning via spectral constraints](https://www.jmlr.org/papers/v21/19-276.html). Journal of Machine Learning Research (21), pages 1-60. - S. Kumar, J. Ying, J. V. de Miranda Cardoso, D. P. Palomar (2019). [Structured graph learning via Laplacian spectral constraints](https://papers.nips.cc/paper/9339-structured-graph-learning-via-laplacian-spectral-constraints.pdf). Advances in Neural Information Processing Systems. In addition, consider citing the following bibliography according to their implementation: | **function** | **reference** | |---------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `cluster_k_component_graph` | N., Feiping, W., Xiaoqian, J., Michael I., and H., Heng. (2016). [The Constrained Laplacian Rank Algorithm for Graph-based Clustering](https://dl.acm.org/doi/10.5555/3016100.3016174), AAAI16. | | `learn_laplacian_gle_mm` | Licheng Zhao, Yiwei Wang, Sandeep Kumar, and Daniel P. Palomar, [Optimization Algorithms for Graph Laplacian Estimation via ADMM and MM](https://palomar.home.ece.ust.hk/papers/2019/ZhaoWangKumarPalomar-TSP2019.pdf), IEEE Trans. on Signal Processing, vol.67, no. 16, pp.4231-4244, Aug.2019 | | `learn_laplacian_gle_admm` | Licheng Zhao, Yiwei Wang, Sandeep Kumar, and Daniel P. Palomar, [Optimization Algorithms for Graph Laplacian Estimation via ADMM and MM](https://palomar.home.ece.ust.hk/papers/2019/ZhaoWangKumarPalomar-TSP2019.pdf), IEEE Trans. on Signal Processing, vol.67, no. 16, pp.4231-4244, Aug.2019 | | `learn_combinatorial_graph_laplacian` | H. E. Egilmez, E. Pavez and A. Ortega, [Graph learning from data under Laplacian and structural constraints](https://ieeexplore.ieee.org/document/7979524), Journal of Selected Topics in Signal Processing, vol.11, no. 6, pp.825-841, Sept.2017 | Links ----- Package: [CRAN](https://CRAN.R-project.org/package=spectralGraphTopology) and [GitHub](https://github.com/dppalomar/spectralGraphTopology) README file: [GitHub-readme](https://github.com/dppalomar/spectralGraphTopology/blob/master/README.md) Vignette: [GitHub-html-vignette](https://raw.githack.com/dppalomar/spectralGraphTopology/master/vignettes/SpectralGraphTopology.html), [CRAN-html-vignette](https://cran.r-project.org/package=spectralGraphTopology/vignettes/SpectralGraphTopology.html), [NeurIPS19 Promotional slides](https://docs.google.com/viewer?url=https://github.com/dppalomar/spectralGraphTopology/raw/master/vignettes/NeurIPS19-promo-slides.pdf), [NeurIPS19 Promotional video](https://www.youtube.com/watch?v=klAqFvyQx7k)
Owner
- Name: Daniel P. Palomar
- Login: dppalomar
- Kind: user
- Location: Clear Water Bay, Hong Kong
- Company: Hong Kong Univ. of Sci&Tech (HKUST)
- Website: https://www.danielppalomar.com/
- Repositories: 11
- Profile: https://github.com/dppalomar
Professor of Optimization, Hong Kong University of Science and Technology (HKUST)
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| mirca | j****a@g****m | 516 |
| Daniel P. Palomar | d****r@g****m | 31 |
| sandeep0kr | s****r@g****m | 1 |
Issues and Pull Requests
Last synced: over 2 years ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 762 last-month
- Total docker downloads: 20,358
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 6
- Total maintainers: 1
cran.r-project.org: spectralGraphTopology
Learning Graphs from Data via Spectral Constraints
- Homepage: https://github.com/dppalomar/spectralGraphTopology
- Documentation: http://cran.r-project.org/web/packages/spectralGraphTopology/spectralGraphTopology.pdf
- License: GPL-3
- Status: removed
-
Latest release: 0.2.3
published over 4 years ago
Rankings
Docker downloads count: 12.6%
Downloads: 20.4%
Dependent repos count: 24.0%
Average: 24.1%
Forks count: 27.8%
Dependent packages count: 28.8%
Stargazers count: 30.9%
Maintainers (1)
Last synced:
over 1 year ago

Contributing
------------
We welcome all sorts of contributions. Please feel free to open an issue
to report a bug or discuss a feature request.
Citation
--------
If you made use of this software please consider citing:
- J. V. de Miranda Cardoso, D. P. Palomar (2019).
spectralGraphTopology: Learning Graphs from Data via Spectral
Constraints.