summaryrefslogtreecommitdiff
path: root/README
blob: d9db63f4e119d2531da4a1b14bf3d7c2b9ce378e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
RankSVM Training, validating, & predicting
==========================================

Acknowledgement:
Logging is provided by easylogging++
up-to-date site: https://github.com/easylogging/easyloggingpp

Requirements:
CMAKE,
GCC(C++) or any c++11 compatible compiler,
boost libraries(program_options),
Eigen3.

How to build(Release):
1.copy the source files to an empty directory
2.mkdir Release
3.cd Release
# In the Release directory
4.cmake -DCMAKE_BUILD_TYPE=Release ..
# Change the Release to Debug for Debug build
5.make

How to build it under windows(un-tested)
1.Install & configure: Eigen3 & boost
2.use cmake or VS

What if I want to:
1.add a program option:
    in train.cpp or split.cpp
        add description to desc.add_options()
        add control flow in main()
2.add a new training model:
    create a new model .h file in ./model
    add a .cpp
    create a new class inherit from RSVM
    provide member functions:   string getName()
                                int train(RidList &D)
                                int predict(RidList &D,vector<double> &res)
    add a new option when reading model file(RSVM::loadModel)
3.support new data format(dataProvider.h)?
    currently only support .rid; almost impossible to change
4.support new data source?
    checkout fileDataProvider.h
    multiplex in main()