Changeset 3712:255c5b3713df in orange


Ignore:
Timestamp:
05/29/07 14:13:00 (7 years ago)
Author:
blaz <blaz.zupan@…>
Branch:
default
Convert:
0554b0f2b5d8bc6d1b748b62a66386714242c541
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/orngRegression.py

    r3710 r3712  
    158158    def __call__(self, data, y=None, x=None, nc=None, weight=None): 
    159159        if y == None: 
    160             try: 
    161                 y = [data.domain.classVar] 
    162             except: 
     160            if data.domain.classVar == None: 
    163161                import warnings 
    164162                warnings.warn("PLS requires either specification of response variables or a data domain with a class") 
    165163                return None 
     164            else: 
     165                y = [data.domain.classVar] 
    166166        if x == None: 
    167167            print y 
     
    192192        XMean = numpy.mean(X, axis = 0) 
    193193        XStd = numpy.std(X, axis = 0)  
    194         X,Y = standardize(X), standardize(Y) 
     194        X, Y = standardize(X), standardize(Y) 
    195195 
    196196        P = numpy.empty((mx,nc)) 
     
    200200        B = numpy.zeros((nc,nc)) 
    201201        W = numpy.empty((mx,nc)) 
    202         E,F = X,Y 
     202        E, F = X, Y 
    203203     
    204204        # main algorithm 
     
    232232        Y = Y*numpy.std(Y, axis = 0)+ YMean 
    233233        BPls = dot(dot(numpy.linalg.pinv(P.T),B),C.T)     
    234         return PLSRegression(domain=dataX.domain, BPls=BPls, YMean=YMean, YStd=YStd, XMean=XMean, XStd=XStd, name=self.name) 
     234        return PLSRegression(x=x, y=y, BPls=BPls, YMean=YMean, YStd=YStd, XMean=XMean, XStd=XStd, W=W, name=self.name) 
    235235 
    236236class PLSRegression: 
     
    239239 
    240240    def __call__(self, example, result_type=orange.GetValue): 
    241         ex = orange.Example(self.domain, example) 
     241        ex = orange.Example(self.x, example) 
    242242        ex = numpy.array(ex.native()) 
    243243        ex = (ex - self.XMean) / self.XStd 
Note: See TracChangeset for help on using the changeset viewer.