What is this project?
Project title: Taffic Patterns in New York City
Team members: Richard Sowers, Derek Yager, Vaibhav Karve, Marzieh Abolhelm.
What does this code do?
- It factorizes a matrix D into two smaller matrices W and H such that:
- D, W, H all have non-negative entries
- Column sum of W is 1 for each column
- H is sparse
- It applies matrix factorization to study traffic patterns of taxi-travel in New York City.
Minimal requirements for running this code?
- System requirements:
- Python3
- Jupyter Notebook
- Files needed:
In order to run this code, you will need a copy of the
util
folder and its contents. The notebooks at the top level./
can be run independently of each other.
How is this repository organized?
- ./ (Home directory: Files listed in order of increasing complexity)
- NMF.ipynb
- verifier.ipynb
- CNMF.ipynb
- SCNMF.ipynb
- sparsity.ipynb
- utils/ (Contains all utilities and class definitions)
- NonNegProjector.py
- Objective.py
- EndChecker.py
- RandomMagnitude.py
Importing into Jupyter Notebook
For example we can import everything in EndChecker.py
to a notebook by adding a line as such:
from util.EndChecker import *