Add boost python, and predictor wrapper
[trackerpp.git] / python / predictor.py
1 from sklearn.linear_model import LogisticRegression
2 try:
3     import cPickle as pickle
4 except:
5     import pickle
6
7
8 predictors = None
9
10 def init(fname = './model.pkl'):
11     global predictors
12     f = open(fname, 'rb')
13     predictors = pickle.load(f)
14     f.close()
15
16 def dump():
17     global predictors
18     for i in predictors:
19         print i
20         print i.coef_
21
22
23 def predict(index, features):
24     pp = predictors[index]
25     true_class = int(pp.classes_[1] == 1)
26     prob = pp.predict_proba([features])[0, true_class]
27     return prob
28
29
30 if __name__ == '__main__':
31     init('./model.pkl')
32     dump()
33     feature=[1,1,1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,1,1,  2,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2]
34     print predict(len(predictors) - 1, feature)
35