Murata Laboratory - Tokyo Institute of Technology.
MotifWalk is a novel network embedding algorithm that not only encode the notion of proximity between nodes in a network, but also its local structure. By utilizing the local structures known as motif, we have successfully developed MotifWalk to learn meaningful dense vector representation of nodes in a complex network. MotifWalk is also fast and scalable. MotifWalk is written in Python and use TensorFlow framework for computation tasks.
This repository is used to store research log and source code of MotifWalk.
- research: Stores research log, figures, other graph embedding algorithms' source code.
- src: MotifWalk source code.
- data: Store processed and raw dataset used in the research.
- docs: Documentation.
- build: Builds for different platforms.
- bin: Some prebuilt versions.
MotifWalk is developed using Python 3.5.2. Additional packages:
- NetworkX 1.11
- Tensorflow 0.10.0rc0
- Sklearn & Scipy 0.18.1
- Numpy 1.11.2
- Pickle compatible formats:
['1.0', '1.1', '1.2', '1.3', '2.0', '3.0', '4.0']
The dataset is stored as a pickle with .data
extension. The dataset is a
dictionary with keys (e.g. 'NXGraph' or 'Labels') and corresponding values.
The graph data is stored as NetworkX graph (directed and undirected). The labels
are stored as numpy list (single label) or list of list matrix (multiple labels).
Some dataset also has features vector for each node, this feature vector is stored
as a compressed sparse row matrix. In all dataset, the node ids are integers and
it corresponse to the indices of the first axis of features matrices and labels.
Read docs for more information. Here I only provide a quick example code for starting MotifWalk.