Skip to content

ricefield/cs161sp12-linkpred

Repository files navigation

Setup:
- install redis DB, ruby, python (we used python 2.7.2)
- for perceptron: install numpy for python
- for libSVM: go to libsvm/python and run "make" [requires g++]
- copy libsvm/ to "/usr/libsvm/"

Running the pipeline:
1. run the Redis database
>> redis-server
2. migrate the files to Redis
>> ruby redis_adapter.rb
  - currently hard-coded to work on "graph-07-04-2011" and "graph-07-11-2011", must be changed inline for other snapshots
3. run the extractor code
>> ./extractor.py "snapshot1_name" "snapshot2_name" "output_prefix" [-v]
  - note that this expects file names as strings, not the file itself. Omit the ".txt"
  - output_name is the prefix you want to give your output files. The extractor appends _[train/test]_[s/p] to distinguish between training and testing sets, and between SVM and perceptron format
  - this takes a long time, and the optional -v flag prints the number of edges extracted
4a. run the analysis code for libSVM
>> ./analyze_libsvm.py "training_filename" "test_filename" "output_filename"
  - again, this expects file names as strings, and not the file itself as an argument
  - the output files from analyze_libsvm are of the format used for libsvm here
4b. run the analysis code for perceptron
>> python perceptron_test.py
  - may require you to first go to the python-perceptron folder, as well as moving the training and testing files to the python-perceptron/data folder
5. run the evalation file
>> ./eval.py < data
  - "data" is the output file of either the perceptron or libSVM code, and here is the actual file

About

semester project for cs161 spring 2012 - google+ link prediction

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •