Changeset 8745:26698a5131a6 in orange


Ignore:
Timestamp:
08/23/11 17:41:19 (3 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
5fe1d9d02e8e383a9278f4d3aba1b8904ebb00eb
Message:

Don't register the toC50 file loader, it overrides the c4.5 save function (it also never actually worked ?).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/Orange/data/io.py

    r8137 r8745  
    151151        f.write('%s\n'%x[-1]) 
    152152 
    153 def toC50(filename,table): 
     153def toC50(filename, table, try_numericize=0): 
    154154    """Save class:`Orange.data.Table` to file in C50 format""" 
    155155    t = table 
    156156    # export names 
    157     f = open('%s.names' % filename,'w') 
     157#    basename = os.path.basename(filename) 
     158    filename_prefix, ext = os.path.splitext(filename) 
     159    f = open('%s.names' % filename_prefix, 'w') 
    158160    f.write('%s.\n\n' % t.domain.class_var.name) 
    159161    # attributes 
     
    163165        real = 1 
    164166        # try if real 
    165         if i.varType == 1 and try_numericize: 
    166             # try if all values numeric 
    167             for j in i.values: 
    168                 try: 
    169                     x = float(j) 
    170                 except: 
    171                     real = 0 # failed 
    172                     break 
     167        if i.varType == Orange.core.VarTypes.Discrete: 
     168            if try_numericize: 
     169                # try if all values numeric 
     170                for j in i.values: 
     171                    try: 
     172                        x = float(j) 
     173                    except Exception: 
     174                        real = 0 # failed 
     175                        break 
     176            else: 
     177                real = 0 
    173178        if real==1: 
    174             f.write('%s: continuous.\n'%i.name) 
    175         else: 
    176             f.write('%s: '%i.name) 
     179            f.write('%s: continuous.\n' % i.name) 
     180        else: 
     181            f.write('%s: ' % i.name) 
    177182            x = [] 
    178183            for j in i.values: 
    179                 x.append('%s'%j) 
     184                x.append('%s' % j) 
    180185            for j in x[:-1]: 
    181                 f.write('%s,'%j) 
    182             f.write('%s.\n'%x[-1]) 
     186                f.write('%s,' % j) 
     187            f.write('%s.\n' % x[-1]) 
    183188    # examples 
    184189    f.close() 
    185190     
    186     f = open('%s.data'%n,'w') 
     191    f = open('%s.data' % filename_prefix, 'w') 
    187192    for j in t: 
    188193        x = [] 
    189194        for i in range(len(ats)): 
    190             x.append('%s'%j[i]) 
     195            x.append('%s' % j[i]) 
    191196        for i in x[:-1]: 
    192             f.write('%s,'%i) 
    193         f.write('%s\n'%x[-1]) 
     197            f.write('%s,' % i) 
     198        f.write('%s\n' % x[-1]) 
    194199 
    195200def toR(filename,t): 
     
    289294registerFileType("R", None, toR, ".R") 
    290295registerFileType("Weka", loadARFF, toARFF, ".arff") 
    291 registerFileType("C50", None, toC50, [".names", ".data", ".test"]) 
     296#registerFileType("C50", None, toC50, [".names", ".data", ".test"]) 
    292297registerFileType("libSVM", loadLibSVM, toLibSVM, ".svm") 
Note: See TracChangeset for help on using the changeset viewer.