Ignore:
Timestamp:
03/12/13 17:02:59 (13 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Added 'multinomial_treatment' parameter to LIBLINEAR derived learners.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/classification/logreg.py

    r11063 r11397  
    22from Orange.utils import deprecated_keywords, deprecated_members 
    33from Orange.data import preprocess 
     4from Orange.data.continuization import DomainContinuizer 
    45import decimal 
    56import math 
     
    10231024""" 
    10241025 
    1025 from Orange.data import preprocess 
     1026 
    10261027class LibLinearLogRegLearner(Orange.core.LinearLearner): 
    10271028    """A logistic regression learner from `LIBLINEAR`_. 
    1028      
     1029 
    10291030    Supports L2 regularized learning. 
    1030      
     1031 
    10311032    .. _`LIBLINEAR`: http://www.csie.ntu.edu.tw/~cjlin/liblinear/ 
    1032       
     1033 
    10331034    """ 
    10341035 
     
    10401041 
    10411042    def __init__(self, solver_type=L2R_LR, C=1.0, eps=0.01, normalization=True, 
    1042             bias=-1.0, **kwargs): 
     1043            bias=-1.0, multinomial_treatment=DomainContinuizer.NValues, 
     1044            **kwargs): 
    10431045        """ 
    1044         :param solver_type: One of the following class constants:  
     1046        :param solver_type: One of the following class constants: 
    10451047            ``L2_LR``, ``L2_LR_DUAL``, ``L1R_LR``. 
    1046          
    1047         :param C: Regularization parameter (default 1.0). Higher values of C mean  
    1048             less regularization (C is a coefficient for the loss function). 
     1048 
     1049        :param C: Regularization parameter (default 1.0). Higher values of 
     1050            C mean less regularization (C is a coefficient for the loss 
     1051            function). 
    10491052        :type C: float 
    1050          
     1053 
    10511054        :param eps: Stopping criteria (default 0.01) 
    10521055        :type eps: float 
    1053          
     1056 
    10541057        :param normalization: Normalize the input data prior to learning 
    10551058            (default True) 
     
    10581061        :param bias: If positive, use it as a bias (default -1). 
    10591062        :type bias: float 
    1060          
     1063 
     1064        :param multinomial_treatment: Defines how to handle multinomial 
     1065            features for learning. It can be one of the 
     1066            :class:`~.DomainContinuizer` `multinomial_treatment` 
     1067            constants (default: `DomainContinuizer.NValues`). 
     1068 
     1069        :type multinomial_treatment: int 
     1070 
     1071        .. versionadded:: 2.6.1 
     1072            Added `multinomial_treatment` 
     1073 
    10611074        """ 
    10621075        self.solver_type = solver_type 
     
    10651078        self.normalization = normalization 
    10661079        self.bias = bias 
     1080        self.multinomial_treatment = multinomial_treatment 
    10671081 
    10681082        for name, value in kwargs.items(): 
     
    10741088 
    10751089        if data.domain.has_discrete_attributes(False) or self.normalization: 
    1076             dc = Orange.data.continuization.DomainContinuizer() 
    1077             dc.multinomial_treatment = dc.NValues 
     1090            dc = DomainContinuizer() 
     1091            dc.multinomial_treatment = self.multinomial_treatment 
    10781092            dc.class_treatment = dc.Ignore 
    10791093            dc.continuous_treatment = \ 
    10801094                    dc.NormalizeByVariance if self.normalization else dc.Leave 
    1081             c_domain = dc(data)  
     1095            c_domain = dc(data) 
    10821096            data = data.translate(c_domain) 
    10831097        return super(LibLinearLogRegLearner, self).__call__(data, weight_id) 
Note: See TracChangeset for help on using the changeset viewer.