Description as a Tweet:

We created a general purpose library for doing arbitrary large dimension reduction using space filling curves. It also works the other way (1D to ND).

Inspiration:

I did dimensionality reduction techniques for data visualization over the summer and it took a really long time, I wondered why people don't use continuous space filling curves to do locality preserving visualization/clustering.

What it does:

It takes in an arbitrary amount of high dimensional data and returns a one/two/three dimensional representation on a space filling curve. It can also take one/two/three dimensional data and project it up in dimensions.

How we built it:

We spent a lot of time researching the concept and then implemented a proof of concept as well as possible in the time frame.

Technologies we used:

  • Python
  • AI/Machine Learning

Challenges we ran into:

Time constraints and some of my team didn't know how to program in python/use version control.

Accomplishments we're proud of:

Actually completing the project in a way that returns meaningful results.

What we've learned:

Gray Codes, Space-filing codes, Bit interleaving, Big/Little Endianess, and how to collaborate on team projects

What's next:

Making it faster (implementing it in C with bit shifting instead of slow POC string operations), allowing negative values, making it prettier.

Built with:

We made an early stage implementation in python using plotly, numpy, and pandas. (also sklearn for example datasets).

Prizes we're going for:

  • Best Software Hack
  • Best AI/ML Hack
  • Best Beginner Software Hack
  • Best Space App

Prizes Won

Best AI/ML Hack

Team Members

Yuval Shechter
Nikita Singh
Miranda Zhang
Kyler Schulz

Table Number

Table 12