Comments (4)
I don't have a vision for this. Kepler-Mapper was created as just a personal learning project, but it kind of blew up in popularity.
I'd absolutely love to see the introduction of those 3 ideas. Especially multi-scale mapping (and generating barcodes) would have my interest.
Getting Kepler-mapper onto Pypi and better testing sounds really great. The project deserves a better programmer for this.
I'll give you full edit capabilities, so you can push and pull like you please.
from kepler-mapper.
As full co-author, maybe we should have a look updating/removing things like the Disclaimer? Anything else we should look at?
Aside: I'll write documentation and examples for everything. I'll work on the output (have a mode for paper-friendly output, custom color functions).
I'm preparing a proper spec for a ML algorithm based on Mapper: Treat the nodes of a random set of networks (random scales, random functions, random clusterings) as leaf nodes in a decision tree, then combine these in an ensemble with a weighted average (something like a Topological Random Forest). I already notice the current API not being adequate for this (for one, it misses transforming unseen data into a network node). But it is a very interesting algorithm, because it works with both supervised and unsupervised lenses and can beat very powerful models (since a single lens can be a MLP or XGBoost). In the end: Training another set of models on the "leaf node" representations works even better, so it may better classify as a data preprocessing technique.
I locally tried Vietoris-Rips complexes instead of a cubical covering, but my implementation is extremely slow (and I lack the formal maths education required to effectively work with these things), so there is a risk I may not be able to follow what you are doing (you seem to be a more experienced programmer and mathematician). As long as you realize this, it is not a problem.
from kepler-mapper.
I think the disclaimer is fine. I'll keep my eyes out for anything to change.
First off, I am stoked about this implementation. I love that it implements the scikit-learn interface, and because of that it is a great platform build up. I am a graduate student studying Mapper currently. I'd rather not build a new competing tool and instead focus on strengthening the tools that are available. I think this would be the best place to implement mapper advances so they are accessible
Paper friendly output of the graph output? That sounds awesome! Have you used Jinja2 before? It might be helpful to use a template engine for the html.
I'm not sure if I'm following how the new ML algorithm would work. I'm interested in learning more. Is there a preliminary writeup?
It looks like you have a much better grasp of numpy, scikit-learn and industry usecases than I do, so it will be a learning process for me too. 💯
My immediate goals are to cut up the main map
method into a few extra helper objects that provide more customizability:
- Cover: an abstraction of the covering scheme. This would implement a method
find_entries
that returns all entries that is in a particular element. Currently, kepler-mapper only supports cubes. Multiscale mapper would require more nuanced control of the cover. - Nerve builder: an abstraction of building the nerve of the clusters. Currently, only edges are built. To implement multi-nerve mapper or include higher dimensional simplices, more control over this concept is necessary.
Would either of these objects help the ML algorithm you're thinking of?
I'm going to submit a new issue for my work on 'packagizing' kepler-mapper. A merge would force some cascading changes to documentation and examples, so feedback would be greatly appreciated!
Thank you,
from kepler-mapper.
I'll add the previous version of km.py to the depricated directory, because I forgot about a valuable use-case of KeplerMapper: Use for teaching. Very short, simple, well-documented code (without current concessions for speed/optimization/modularity) can help students understand the mapper algorithm better.
from kepler-mapper.
Related Issues (20)
- try different min_intersections from the visualization
- not able to understand this HOT 1
- Class methods are not being rendered by autosummary
- Examples, gallery not included in readthedocs build HOT 2
- idea: rewrite main readme and release file to .rst, import into docs HOT 5
- Bug: min_cluster_samples should not be set to a non-integer HOT 4
- plotlyviz expects 1d color values, but gets 2d instead HOT 1
- Outdated Documentation HOT 1
- `test_cubes_overlap` may be faulty HOT 2
- Idea - Convert networkx graph object or a graph in edge list format to a Mapper object HOT 8
- Doc toc restructure proposal (minor) HOT 4
- Shadowed test fails to run
- Min-Max confusion in projection statistic in cluster details
- making html files generated by visualize self-contained
- plotlyviz error
- Losing data
- Please refer to igraph instead of python-igraph HOT 2
- Directly producing color values for each node
- Overlapping bins in the HTML visualization.
- Issue with generating visuals in mapper HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kepler-mapper.