Visualization project using algorithms


#1

I’m working on a school project that has to do with data visualization. I’m trying to explore visualization more on using algorithms like Markov to affect the visualization. I’ve just recently learned how to use meteor and was wondering if there were meteor projects out there i could check out as a reference.

Also been looking into machine learning and doing python exercise and was wondering if its possible to use python in meteor or kind of export python codes from Notebook into a javascript file. Is this even possible ? Basically i’m trying to use machine learning in meteor so i don’t know if this is asking to much. I’m about now just wrapping my head with basic programming like HTML,CSS and Javascript thanks to meteor which has a been a good educational experience.

Also if there are javascript algorithms i can use, do i put them in a json file format and under the client folder?


#2

Good beginnings, very ambitious!

First, my background is in math, cs and biology - I understand what you are saying. I worked on hidden markov models, neural networks and vector machines.

For visualisations, I really like the library D3 https://d3js.org/. D3 can do some really cool stuff. It can almost do everything you dream of, and some more. It is easy to begin with, but advanced stuff has steep learning curves. There are other libraries too. It plays very well with the Meteor-React ecosystem. An example is here, http://sandbox.kāla.com/bodhi-concept-visualised. Code for this is here. Remember, when you begin, this will not be as powerful as R.

As far as algorithms are considered, I don’t think that there are any ‘easy’ solutions out there. Google has a very good Machine Learning API-esq service/product. Check it out here. Using it you can easily do stuff like predictions or study language

If you are writing stuff of your own in python, it is possible but it will take some work. You can run practically anything on the server through meteor, including python. Here is a sample,

Meteor.methods({

  myAlgorithm: function() {
    const inTheFuture = new Future();
    exec(`python3 pythonScript.py with some ${parameters}`, function (error, stdout, stderr) {
      new Fiber(function() {
        inTheFuture.return('I just ran an algorithm');
      }).run();
    });
    return inTheFuture.wait();
  },

});

You can call this like any other method from the client, pass some variables to it, or store data in MongoDB (or wherever), have python read stuff from Mongo, run the algorithm, write the result somewhere. Then, you can just read that result and visualise it however you want.

So, what you are thinking of is possible but it’s a fair bit of work. If you are just starting out with HTML, CSS and JS, I would say that what you are trying is a little bit ambitious. I would also say, keep these aims in sight and be prepared so spend quite a lot of time writing code.

Best of luck!

If there’s anything you build, please share.


#3

I understand, any suggestion on meteor projects that deal with mongodb, at least a project where i could learn nifty meteor tricks on mongodb and use that as learning practise


#4

algorithms are so cool though :slight_smile:


#5

https://www.meteor.com/tutorials