Ignore:
Timestamp:
07/28/17 12:11:37 (7 years ago)
Author:
sherbold
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrossPareConfigurationBuilder/src/de/ugoe/cs/crosspare/ConfigurationBuilder.java

    r143 r144  
    11package de.ugoe.cs.crosspare; 
    22 
     3import java.io.File; 
    34import java.io.FileWriter; 
    45import java.io.IOException; 
     
    89public class ConfigurationBuilder { 
    910     
    10     private static enum Dataset {MDP, JURECZKO, FILTERJURECZKO, AEEEM, RELINK, NETGENE, SELECTEDJURECZKO, AEEEM_LDHH, AEEEM_WCHU, AEEEM_LDHHWCHU, SMARTSHARK_ALL, SMARTSHARK_AST, SMARTSHARK_SM} 
     11    private static enum Dataset { 
     12        MDP, 
     13        MDP_EFFNORM, 
     14        MDP_EFFLOGNORM, 
     15        JURECZKO, 
     16        FILTERJURECZKO, 
     17        SELECTEDJURECZKO, 
     18        JURECZKO_NUMERIC, 
     19        JURECZKO_EFFNORM, 
     20        JURECZKO_EFFLOGNORM, 
     21        JURECZKO_EFFNORM_NUMERIC, 
     22        JURECZKO_EFFLOGNORM_NUMERIC, 
     23        JURECZKO_NUMERIC_DUPLICATE, 
     24        JURECZKO_NUMERIC_WEIGHTS, 
     25        AEEEM, 
     26        AEEEM_LDHH, 
     27        AEEEM_WCHU, 
     28        AEEEM_LDHHWCHU, 
     29        AEEEM_NUMERIC, 
     30        AEEEM_LDHH_NUMERIC, 
     31        AEEEM_WCHU_NUMERIC, 
     32        AEEEM_LDHHWCHU_NUMERIC, 
     33        AEEEM_LDHHWCHU_EFFNORM, 
     34        AEEEM_LDHHWCHU_EFFLOGNORM, 
     35        AEEEM_LDHHWCHU_EFFNORM_NUMERIC, 
     36        AEEEM_LDHHWCHU_EFFLOGNORM_NUMERIC, 
     37        AEEEM_LDHHWCHU_NUMERIC_DUPLICATE, 
     38        AEEEM_LDHHWCHU_NUMERIC_WEIGHTS, 
     39        RELINK, 
     40        RELINK_EFFNORM, 
     41        RELINK_EFFLOGNORM, 
     42        NETGENE, 
     43        NETGENE_NUMERIC, 
     44        NETGENE_NUMERIC_DUPLICATE, 
     45        NETGENE_NUMERIC_WEIGHTS, 
     46        SMARTSHARK_ALL, 
     47        SMARTSHARK_AST, 
     48        SMARTSHARK_SM, 
     49        SMARTSHARK_ALL_NUMERIC 
     50    } 
    1151     
    1252    private static final String storageFolder = "config/"; 
     
    4888     
    4989    public static void writeFile(String approach, Dataset dataset) { 
    50         try(FileWriter writer = new FileWriter(storageFolder + dataset.toString() + "-" + approach + ".xml");) { 
     90        File file = new File(storageFolder + dataset.toString() + "/"+  dataset.toString() + "-" + approach + ".xml"); 
     91        file.getParentFile().mkdirs(); 
     92        try(FileWriter writer = new FileWriter(file);) { 
     93            writer.append((String) ConfigurationBuilder.class.getMethod(approach, Dataset.class).invoke(null, dataset)); 
     94            writer.flush(); 
     95        } 
     96        catch (IOException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) { 
     97            e.printStackTrace(); 
     98        } 
     99         
     100        file = new File(storageFolder + "ALL/"+  dataset.toString() + "-" + approach + ".xml"); 
     101        file.getParentFile().mkdirs(); 
     102        try(FileWriter writer = new FileWriter(file);) { 
    51103            writer.append((String) ConfigurationBuilder.class.getMethod(approach, Dataset.class).invoke(null, dataset)); 
    52104            writer.flush(); 
     
    110162                configFile.append(" <loader name=\"NasaARFFFolderLoader\" datalocation=\"benchmark/data/MDP\" relative=\"false\"/>\n"); 
    111163                break; 
     164            case MDP_EFFNORM: 
     165                configFile.append(" <loader name=\"NasaARFFFolderLoader\" datalocation=\"benchmark/data/MDP\" relative=\"false\"/>\n"); 
     166                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n"); 
     167                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"LOC_EXECUTABLE\"/>\n"); 
     168                break; 
     169            case MDP_EFFLOGNORM: 
     170                configFile.append(" <loader name=\"NasaARFFFolderLoader\" datalocation=\"benchmark/data/MDP\" relative=\"false\"/>\n"); 
     171                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n"); 
     172                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"LOC_EXECUTABLE\"/>\n"); 
     173                break; 
    112174            case JURECZKO: 
    113175                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\"/>\n"); 
     176                break; 
     177            case JURECZKO_NUMERIC: 
     178                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     179                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
    114180                break; 
    115181            case FILTERJURECZKO: 
     
    118184                configFile.append(" <versionfilter name=\"UnbalancedFilter\" param=\"0.05\" />\n"); 
    119185                break; 
     186            case SELECTEDJURECZKO: 
     187                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/SELECTEDJURECZKO\" relative=\"false\"/>\n"); 
     188                break; 
     189            case JURECZKO_EFFNORM: 
     190                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\"/>\n"); 
     191                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n"); 
     192                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"loc\"/>\n"); 
     193                break; 
     194            case JURECZKO_EFFLOGNORM: 
     195                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\"/>\n"); 
     196                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n"); 
     197                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"loc\"/>\n"); 
     198                break; 
     199            case JURECZKO_EFFNORM_NUMERIC: 
     200                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     201                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     202                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n"); 
     203                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"loc\"/>\n"); 
     204                break; 
     205            case JURECZKO_EFFLOGNORM_NUMERIC: 
     206                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     207                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     208                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n"); 
     209                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"loc\"/>\n"); 
     210                break; 
     211            case JURECZKO_NUMERIC_DUPLICATE: 
     212                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     213                configFile.append(" <setwisepreprocessor name=\"CreateBugDuplicates\" param=\"\" />\n"); 
     214                break; 
     215            case JURECZKO_NUMERIC_WEIGHTS: 
     216                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     217                configFile.append(" <setwisepreprocessor name=\"WeightByNumBugs\" param=\"\" />\n"); 
     218                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     219                break; 
    120220            case AEEEM: 
    121221                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM\" relative=\"false\"/>\n"); 
     
    130230                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_WCHU\" relative=\"false\"/>\n"); 
    131231                break; 
     232            case AEEEM_NUMERIC: 
     233                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     234                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     235                break; 
     236            case AEEEM_LDHH_NUMERIC: 
     237                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHH\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     238                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     239                break; 
     240            case AEEEM_LDHHWCHU_NUMERIC: 
     241                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     242                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     243                break; 
     244            case AEEEM_WCHU_NUMERIC: 
     245                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_WCHU\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     246                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     247                break; 
     248            case AEEEM_LDHHWCHU_EFFNORM: 
     249                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\"/>\n"); 
     250                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n"); 
     251                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"numberOfLinesOfCode\"/>\n"); 
     252                break; 
     253            case AEEEM_LDHHWCHU_EFFLOGNORM: 
     254                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\"/>\n"); 
     255                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n"); 
     256                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"numberOfLinesOfCode\"/>\n"); 
     257                break; 
     258            case AEEEM_LDHHWCHU_EFFNORM_NUMERIC: 
     259                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     260                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     261                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n"); 
     262                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"numberOfLinesOfCode\"/>\n"); 
     263                break; 
     264            case AEEEM_LDHHWCHU_EFFLOGNORM_NUMERIC: 
     265                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     266                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     267                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n"); 
     268                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"numberOfLinesOfCode\"/>\n"); 
     269                break; 
     270            case AEEEM_LDHHWCHU_NUMERIC_DUPLICATE: 
     271                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     272                configFile.append(" <setwisepreprocessor name=\"CreateBugDuplicates\" param=\"\" />\n"); 
     273                break; 
     274            case AEEEM_LDHHWCHU_NUMERIC_WEIGHTS: 
     275                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     276                configFile.append(" <setwisepreprocessor name=\"WeightByNumBugs\" param=\"\" />\n"); 
     277                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     278                break; 
    132279            case RELINK: 
    133280                configFile.append(" <loader name=\"RelinkFolderLoader\" datalocation=\"benchmark/data/RELINK\" relative=\"false\"/>\n"); 
    134281                break; 
     282            case RELINK_EFFNORM: 
     283                configFile.append(" <loader name=\"RelinkFolderLoader\" datalocation=\"benchmark/data/RELINK\" relative=\"false\"/>\n"); 
     284                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n"); 
     285                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"CountLineCodeExe\"/>\n"); 
     286                break; 
     287            case RELINK_EFFLOGNORM: 
     288                configFile.append(" <loader name=\"RelinkFolderLoader\" datalocation=\"benchmark/data/RELINK\" relative=\"false\"/>\n"); 
     289                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n"); 
     290                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"CountLineCodeExe\"/>\n"); 
     291                break; 
    135292            case NETGENE: 
    136293                configFile.append(" <loader name=\"NetgeneFolderLoader\" datalocation=\"benchmark/data/NETGENE\" relative=\"false\"/>\n"); 
    137294                break; 
    138             case SELECTEDJURECZKO: 
    139                 configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/SELECTEDJURECZKO\" relative=\"false\"/>\n"); 
     295            case NETGENE_NUMERIC: 
     296                configFile.append(" <loader name=\"NetgeneFolderLoader\" datalocation=\"benchmark/data/NETGENE\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     297                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     298                break; 
     299            case NETGENE_NUMERIC_DUPLICATE: 
     300                configFile.append(" <loader name=\"NetgeneFolderLoader\" datalocation=\"benchmark/data/NETGENE\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     301                configFile.append(" <setwisepreprocessor name=\"CreateBugDuplicates\" param=\"\" />\n"); 
     302                break; 
     303            case NETGENE_NUMERIC_WEIGHTS: 
     304                configFile.append(" <loader name=\"NetgeneFolderLoader\" datalocation=\"benchmark/data/NETGENE\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     305                configFile.append(" <setwisepreprocessor name=\"WeightByNumBugs\" param=\"\" />\n"); 
     306                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
    140307                break; 
    141308            case SMARTSHARK_ALL: 
     
    156323                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"ReferenceType LambdaExpression Member TypeArgument ThrowStatement ArraySelector Declaration ClassCreator ForStatement SwitchStatement InnerClassCreator Literal TypeParameter VoidClassReference WhileStatement EnhancedForControl This Statement ForControl BinaryOperation MethodReference SuperMemberReference EnumBody FormalParameter EnumConstantDeclaration Expression PackageDeclaration VariableDeclarator AssertStatement Documented node_count DoStatement InterfaceDeclaration ReturnStatement Cast ExplicitConstructorInvocation EnumDeclaration SynchronizedStatement AnnotationMethod SwitchStatementCase MemberReference TypeDeclaration ArrayInitializer CatchClauseParameter CatchClause VariableDeclaration TryStatement Annotation TryResource MethodInvocation BasicType ElementArrayValue InferredFormalParameter IfStatement SuperConstructorInvocation BreakStatement AnnotationDeclaration FieldDeclaration Assignment ContinueStatement Import Primary BlockStatement ClassDeclaration TernaryExpression ClassReference CompilationUnit ConstantDeclaration LocalVariableDeclaration MethodDeclaration ConstructorDeclaration ElementValuePair ArrayCreator Invocation StatementExpression SuperMethodInvocation\"/>\n"); 
    157324                break; 
     325            case SMARTSHARK_ALL_NUMERIC: 
     326                configFile.append(" <loader name=\"JsonFolderLoader\" datalocation=\"exp-smartshark/data\" relative=\"false\" classtype=\"numeric\"/>\n"); 
     327                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n"); 
     328                configFile.append(" <versionfilter name=\"MinInstanceNumberFilter\" param=\"100\" />\n"); 
     329                configFile.append(" <versionfilter name=\"UnbalancedFilter\" param=\"0.05\" />\n"); 
     330                break; 
    158331            default: 
    159332                throw new InvalidParameterException("Unknown data set: " + dataset.toString()); 
     
    378551        dataset(configFile, dataset); 
    379552        trainers(configFile); 
    380          
    381         int numNeighbors; 
    382         switch (dataset) 
    383         { 
    384             case AEEEM: 
    385             case AEEEM_LDHH: 
    386             case AEEEM_WCHU: 
    387             case AEEEM_LDHHWCHU: 
    388                 numNeighbors = 2; 
    389                 break; 
    390             case MDP: 
    391                 numNeighbors = 5; 
    392                 break; 
    393             case JURECZKO: 
    394                 numNeighbors = 30; 
    395                 break; 
    396             case FILTERJURECZKO: 
    397                 numNeighbors = 20; 
    398                 break; 
    399             case RELINK: 
    400                 numNeighbors = 1; 
    401                 break; 
    402             case NETGENE: 
    403                 numNeighbors = 1; 
    404                 break; 
    405             case SELECTEDJURECZKO: 
    406                 numNeighbors = 4; 
    407                 break; 
    408             case SMARTSHARK_ALL: 
    409             case SMARTSHARK_AST: 
    410             case SMARTSHARK_SM: 
    411                 // TODO check num neighbors 
    412             default: 
    413                 numNeighbors = 10; 
    414                 break; 
    415         } 
    416          
    417         configFile.append(" <setwisepreprocessor name=\"Normalization\" param=\"\" />\n"); 
    418         configFile.append(" <setwiseselector name=\"SetWiseKNNSelection\" param=\""+ numNeighbors +"\" />\n"); 
    419         configFile.append(" <postprocessor name=\"BiasedWeights\" param=\"0.5\" />\n"); 
    420         configFile.append(" <eval name=\"NormalWekaEvaluation\" param=\"\" />\n"); 
    421          
    422         postamble(configFile); 
    423         return configFile.toString(); 
    424     } 
    425      
    426     public static String ZHe13(Dataset dataset) { 
    427         StringBuilder configFile = new StringBuilder(); 
    428         preamble(configFile); 
    429         dataset(configFile, dataset); 
    430         trainersBagging(configFile); 
    431553         
    432554        int numNeighbors; 
     
    437559            case AEEEM_LDHHWCHU: 
    438560            case AEEEM_WCHU: 
     561            case AEEEM_NUMERIC: 
     562            case AEEEM_LDHH_NUMERIC: 
     563            case AEEEM_LDHHWCHU_NUMERIC: 
     564            case AEEEM_WCHU_NUMERIC: 
     565            case AEEEM_LDHHWCHU_EFFNORM: 
     566            case AEEEM_LDHHWCHU_EFFLOGNORM: 
     567            case AEEEM_LDHHWCHU_EFFNORM_NUMERIC: 
     568            case AEEEM_LDHHWCHU_EFFLOGNORM_NUMERIC: 
     569            case AEEEM_LDHHWCHU_NUMERIC_DUPLICATE: 
     570            case AEEEM_LDHHWCHU_NUMERIC_WEIGHTS: 
     571                numNeighbors = 2; 
     572                break; 
     573            case MDP: 
     574            case MDP_EFFNORM: 
     575            case MDP_EFFLOGNORM: 
     576                numNeighbors = 5; 
     577                break; 
     578            case JURECZKO: 
     579            case JURECZKO_NUMERIC: 
     580            case JURECZKO_EFFNORM: 
     581            case JURECZKO_EFFLOGNORM: 
     582            case JURECZKO_EFFNORM_NUMERIC: 
     583            case JURECZKO_EFFLOGNORM_NUMERIC: 
     584            case JURECZKO_NUMERIC_DUPLICATE: 
     585            case JURECZKO_NUMERIC_WEIGHTS: 
     586                numNeighbors = 30; 
     587                break; 
     588            case FILTERJURECZKO: 
     589                numNeighbors = 20; 
     590                break; 
     591            case RELINK: 
     592            case RELINK_EFFNORM: 
     593            case RELINK_EFFLOGNORM: 
    439594                numNeighbors = 1; 
    440595                break; 
    441             case MDP: 
    442                 numNeighbors = 4; 
    443                 break; 
    444             case JURECZKO: 
    445                 numNeighbors = 16; 
    446                 break; 
    447             case FILTERJURECZKO: 
    448                 numNeighbors = 13; 
    449                 break; 
    450             case RELINK: 
    451                 numNeighbors = 1; 
    452                 break; 
    453596            case NETGENE: 
     597            case NETGENE_NUMERIC: 
     598            case NETGENE_NUMERIC_DUPLICATE: 
     599            case NETGENE_NUMERIC_WEIGHTS: 
    454600                numNeighbors = 1; 
    455601                break; 
     
    460606            case SMARTSHARK_AST: 
    461607            case SMARTSHARK_SM: 
     608            case SMARTSHARK_ALL_NUMERIC: 
     609                // TODO check num neighbors 
     610            default: 
     611                numNeighbors = 10; 
     612                break; 
     613        } 
     614         
     615        configFile.append(" <setwisepreprocessor name=\"Normalization\" param=\"\" />\n"); 
     616        configFile.append(" <setwiseselector name=\"SetWiseKNNSelection\" param=\""+ numNeighbors +"\" />\n"); 
     617        configFile.append(" <postprocessor name=\"BiasedWeights\" param=\"0.5\" />\n"); 
     618        configFile.append(" <eval name=\"NormalWekaEvaluation\" param=\"\" />\n"); 
     619         
     620        postamble(configFile); 
     621        return configFile.toString(); 
     622    } 
     623     
     624    public static String ZHe13(Dataset dataset) { 
     625        StringBuilder configFile = new StringBuilder(); 
     626        preamble(configFile); 
     627        dataset(configFile, dataset); 
     628        trainersBagging(configFile); 
     629         
     630        int numNeighbors; 
     631        switch (dataset) 
     632        { 
     633            case AEEEM: 
     634            case AEEEM_LDHH: 
     635            case AEEEM_LDHHWCHU: 
     636            case AEEEM_WCHU: 
     637            case AEEEM_NUMERIC: 
     638            case AEEEM_LDHH_NUMERIC: 
     639            case AEEEM_LDHHWCHU_NUMERIC: 
     640            case AEEEM_WCHU_NUMERIC: 
     641            case AEEEM_LDHHWCHU_EFFNORM: 
     642            case AEEEM_LDHHWCHU_EFFLOGNORM: 
     643            case AEEEM_LDHHWCHU_EFFNORM_NUMERIC: 
     644            case AEEEM_LDHHWCHU_EFFLOGNORM_NUMERIC: 
     645                numNeighbors = 1; 
     646                break; 
     647            case MDP: 
     648            case MDP_EFFNORM: 
     649            case MDP_EFFLOGNORM: 
     650                numNeighbors = 4; 
     651                break; 
     652            case JURECZKO: 
     653            case JURECZKO_NUMERIC: 
     654            case JURECZKO_EFFNORM: 
     655            case JURECZKO_EFFLOGNORM: 
     656            case JURECZKO_EFFNORM_NUMERIC: 
     657            case JURECZKO_EFFLOGNORM_NUMERIC: 
     658                numNeighbors = 16; 
     659                break; 
     660            case FILTERJURECZKO: 
     661                numNeighbors = 13; 
     662                break; 
     663            case RELINK: 
     664            case RELINK_EFFNORM: 
     665            case RELINK_EFFLOGNORM: 
     666                numNeighbors = 1; 
     667                break; 
     668            case NETGENE: 
     669            case NETGENE_NUMERIC: 
     670                numNeighbors = 1; 
     671                break; 
     672            case SELECTEDJURECZKO: 
     673                numNeighbors = 4; 
     674                break; 
     675            case SMARTSHARK_ALL: 
     676            case SMARTSHARK_AST: 
     677            case SMARTSHARK_SM: 
     678            case SMARTSHARK_ALL_NUMERIC: 
    462679                // TODO check num neighbors 
    463680            default: 
Note: See TracChangeset for help on using the changeset viewer.