Ignore:
Timestamp:
08/05/14 10:00:41 (10 years ago)
Author:
sherbold
Message:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrossPare/src/de/ugoe/cs/cpdp/loader/CSVDataLoader.java

    r2 r4  
    88import weka.core.DenseInstance; 
    99import weka.core.Instances; 
    10 import de.ugoe.cs.cpdp.loader.AbstractFolderLoader.SingleVersionLoader; 
    1110import de.ugoe.cs.util.FileTools; 
    1211 
    1312/** 
    14  * Loads the instances for a software version from a CSV file of the // TODO dataset citation 
    15  * data set.  
     13 * Loads the instances for a software version from a CSV file of the PROMISE 
     14 * data set mined by Jurezko and Madeyski. 
     15 *  
    1616 * @author Steffen Herbold 
    1717 */ 
    1818class CSVDataLoader implements SingleVersionLoader { 
    19          
    20         /** 
    21          * Loads the instances. 
    22          * @param file handle to the file of the instances 
    23          * @return the instances 
     19 
     20        /* 
     21         * (non-Javadoc) 
     22         *  
     23         * @see 
     24         * de.ugoe.cs.cpdp.loader.AbstractFolderLoader.SingleVersionLoader#load( 
     25         * java.io.File) 
    2426         */ 
    2527        @Override 
     
    3133                        throw new RuntimeException(e); 
    3234                } 
    33                  
     35 
    3436                // configure Instances 
    3537                final ArrayList<Attribute> atts = new ArrayList<Attribute>(); 
    36                  
    37                 String[] lineSplit = lines[0].split(",");                
    38                 for( int j=0 ; j<lineSplit.length-4 ; j++ ) { 
    39                         atts.add(new Attribute(lineSplit[j+3])); 
     38 
     39                String[] lineSplit = lines[0].split(","); 
     40                for (int j = 0; j < lineSplit.length - 4; j++) { 
     41                        atts.add(new Attribute(lineSplit[j + 3])); 
    4042                } 
    4143                final ArrayList<String> classAttVals = new ArrayList<String>(); 
     
    4446                final Attribute classAtt = new Attribute("bug", classAttVals); 
    4547                atts.add(classAtt); 
    46                  
     48 
    4749                final Instances data = new Instances(file.getName(), atts, 0); 
    4850                data.setClass(classAtt); 
    49                  
     51 
    5052                // fetch data 
    51                 for( int i=1 ; i<lines.length ; i++ ) { 
     53                for (int i = 1; i < lines.length; i++) { 
    5254                        lineSplit = lines[i].split(","); 
    53                         double[] values = new double[lineSplit.length-3]; 
    54                         for( int j=0 ; j<values.length-1 ; j++ ) { 
    55                                 values[j] = Double.parseDouble(lineSplit[j+3].trim()); 
     55                        double[] values = new double[lineSplit.length - 3]; 
     56                        for (int j = 0; j < values.length - 1; j++) { 
     57                                values[j] = Double.parseDouble(lineSplit[j + 3].trim()); 
    5658                        } 
    57                         values[values.length-1] = lineSplit[lineSplit.length-1].trim().equals("0") ? 0 : 1; 
     59                        values[values.length - 1] = lineSplit[lineSplit.length - 1].trim() 
     60                                        .equals("0") ? 0 : 1; 
    5861                        data.add(new DenseInstance(1.0, values)); 
    5962                } 
    60                  
     63 
    6164                return data; 
    6265        } 
    63          
     66 
     67        /* 
     68         * (non-Javadoc) 
     69         *  
     70         * @see de.ugoe.cs.cpdp.loader.AbstractFolderLoader.SingleVersionLoader# 
     71         * filenameFilter(java.lang.String) 
     72         */ 
    6473        @Override 
    6574        public boolean filenameFilter(String filename) { 
Note: See TracChangeset for help on using the changeset viewer.