]> granicus.if.org Git - liblinear/commitdiff
use __all__ in Python interfaces to make sure only useful things are visible to the...
authorYu-Chin <guestwalk@gmail.com>
Fri, 25 Jul 2014 15:37:50 +0000 (23:37 +0800)
committerYu-Chin <guestwalk@gmail.com>
Sun, 19 Oct 2014 19:35:15 +0000 (03:35 +0800)
python/liblinear.py
python/liblinearutil.py

index 584687f0d416976d08748d289737e2351c7e34a4..ac06a33d420fb8d5ef7cfd1ea87098f64b3e2bc8 100644 (file)
@@ -5,6 +5,12 @@ from ctypes.util import find_library
 from os import path
 import sys
 
+__all__ = ['liblinear', 'feature_node', 'gen_feature_nodearray', 'problem',
+           'parameter', 'model', 'toPyModel', 'L2R_LR', 'L2R_L2LOSS_SVC_DUAL',
+           'L2R_L2LOSS_SVC', 'L2R_L1LOSS_SVC_DUAL', 'MCSVM_CS', 
+           'L1R_L2LOSS_SVC', 'L1R_LR', 'L2R_LR_DUAL', 'L2R_L2LOSS_SVR', 
+           'L2R_L2LOSS_SVR_DUAL', 'L2R_L1LOSS_SVR_DUAL', 'print_null']
+
 try:
        dirname = path.dirname(path.abspath(__file__))
        if sys.platform == 'win32':
@@ -20,13 +26,17 @@ except:
        else:
                raise Exception('LIBLINEAR library not found.')
 
-# Construct constants
-SOLVER_TYPE = ['L2R_LR', 'L2R_L2LOSS_SVC_DUAL', 'L2R_L2LOSS_SVC', 'L2R_L1LOSS_SVC_DUAL',\
-               'MCSVM_CS', 'L1R_L2LOSS_SVC', 'L1R_LR', 'L2R_LR_DUAL', \
-               None, None, None, \
-               'L2R_L2LOSS_SVR', 'L2R_L2LOSS_SVR_DUAL', 'L2R_L1LOSS_SVR_DUAL']
-for i, s in enumerate(SOLVER_TYPE): 
-       if s is not None: exec("%s = %d" % (s , i))
+L2R_LR = 0
+L2R_L2LOSS_SVC_DUAL = 1 
+L2R_L2LOSS_SVC = 2 
+L2R_L1LOSS_SVC_DUAL = 3
+MCSVM_CS = 4 
+L1R_L2LOSS_SVC = 5 
+L1R_LR = 6 
+L2R_LR_DUAL = 7  
+L2R_L2LOSS_SVR = 11
+L2R_L2LOSS_SVR_DUAL = 12
+L2R_L1LOSS_SVR_DUAL = 13
 
 PRINT_STRING_FUN = CFUNCTYPE(None, c_char_p)
 def print_null(s): 
index d63e088df16099d928c023f14ba275c7d60cf13d..626489bd2caf64790f08f8f28a6dd782029553cf 100644 (file)
@@ -3,6 +3,11 @@
 import os, sys
 sys.path = [os.path.dirname(os.path.abspath(__file__))] + sys.path 
 from liblinear import *
+from ctypes import c_double
+
+__all__ = ['svm_read_problem', 'load_model', 'save_model', 'evaluations',
+           'train', 'predict']
+
 
 def svm_read_problem(data_file_name):
        """