Example usage for weka.core.converters CSVLoader setNominalLabelSpecs

List of usage examples for weka.core.converters CSVLoader setNominalLabelSpecs

Introduction

In this page you can find the example usage for weka.core.converters CSVLoader setNominalLabelSpecs.

Prototype

public void setNominalLabelSpecs(Object[] specs) 

Source Link

Document

Set label specifications for nominal attributes.

Usage

From source file:sentinets.Prediction.java

License:Open Source License

public int setInstances(String inputFile) {
    //String[] nominalVals =  {"42:positive,neutral,negative"};
    String[] nominalVals = { CLASSINDEX + ":" + StringUtils.join(classNames, ",") };
    original = null;/*from  w w  w.ja va  2s  .c o  m*/
    try {
        System.out.println("[In Prediction] Loading instances. ");
        CSVLoader csvSource = new CSVLoader();
        csvSource.setSource(new File(inputFile));
        csvSource.setFieldSeparator("\t");
        csvSource.setNominalAttributes(CLASSINDEX + "");
        csvSource.setStringAttributes(stringAttr);
        csvSource.setNominalLabelSpecs(nominalVals);
        original = csvSource.getDataSet();
        unlabled = original;
        classProbIndex = original.numAttributes() - 1;
        //System.out.println(unlabled.toSummaryString());
        Remove r = new Remove();
        //r.setAttributeIndices("3-4,6,10-12,14");
        if (classifierType == MODELTYPE.SENTIMENT || classifierType == MODELTYPE.SENTIMENT_WORD
                || classifierType == MODELTYPE.CUSTOM) {
            if (showProbability) {
                /*
                Add afilter;
                afilter = new Add();
                afilter.setAttributeName("last");
                afilter.setAttributeName("prediction_prob");
                afilter.setInputFormat(original);
                original = Filter.useFilter(original, afilter);
                classProbIndex = original.numAttributes()-1;*/
            }
            if (classifierType == MODELTYPE.SENTIMENT) {
                r.setAttributeIndices("3,4,6,8,10-12,14,42,43,45-last");
                System.out.println("Filtering instances for SENTIMENT");
            } else if (classifierType == MODELTYPE.SENTIMENT_WORD || classifierType == MODELTYPE.CUSTOM) {
                r.setAttributeIndices(removeAttr);
                System.out.println("Filtering instances for SENTIMENT WORD");
            }
        }
        //r.setAttributeIndices("3-4,6,10-12,14,40-41,43-last");
        r.setInputFormat(unlabled);
        unlabled = Remove.useFilter(unlabled, r);
        //System.out.println(unlabled.toSummaryString());
        r = new Remove();
        //System.out.println(unlabled.toSummaryString());

    } catch (FileNotFoundException e) {
        e.printStackTrace();
        return 1;
    } catch (IOException e) {
        e.printStackTrace();
        return 2;
    } catch (Exception e) {
        e.printStackTrace();
        return 3;
    }
    int cIdx = unlabled.numAttributes() - 1;
    unlabled.setClassIndex(cIdx);
    System.out.println(
            "Class Attribute is: " + unlabled.classAttribute() + " at index: " + unlabled.classIndex());
    return 0;
}

From source file:sentinets.SentiNets.java

License:Open Source License

public void setInstances(String inputFile) {
    String[] nominalVals = { "15:e,p", "16:s,na_ns" };
    original = null;/*from   ww w  .jav a 2s .co m*/
    try {
        CSVLoader csvSource = new CSVLoader();
        csvSource.setSource(new File(inputFile));
        csvSource.setFieldSeparator("\t");
        csvSource.setNominalAttributes("15-16");
        csvSource.setStringAttributes("3,4,6,8,10-12,14");
        csvSource.setNominalLabelSpecs(nominalVals);
        original = csvSource.getDataSet();
        unlabled = original;
        //System.out.println(unlabled.toSummaryString());
        Remove r = new Remove();
        r.setAttributeIndices("3-4,6,10-12,14");
        r.setInputFormat(unlabled);
        unlabled = Remove.useFilter(unlabled, r);
        //System.out.println(unlabled.toSummaryString());
        r = new Remove();
        if (classifierType == E_P) {
            System.out.println("Filtering instances for E_P");
            r.setAttributeIndices("9");
            r.setInputFormat(unlabled);
            unlabled = Remove.useFilter(unlabled, r);
        } else if (classifierType == S_NS) {
            System.out.println("Filtering instances for S_NS");
            r.setAttributeIndices("8");
            r.setInputFormat(unlabled);
            unlabled = Remove.useFilter(unlabled, r);
        }
        //System.out.println(unlabled.toSummaryString());

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    int cIdx = unlabled.numAttributes() - 1;
    unlabled.setClassIndex(cIdx);
}

From source file:sentinets.TrainModel.java

License:Open Source License

public void setInstances(String inputFile) {
    String[] nominalVals = { "42:positive,negative,neutral" };
    ins = null;/*from w  w w  . jav a2s  .  co m*/
    try {
        CSVLoader csvSource = new CSVLoader();
        csvSource.setSource(new File(inputFile));
        csvSource.setFieldSeparator("\t");
        csvSource.setNominalAttributes("15-16");
        csvSource.setStringAttributes("3,4,6,8,10-12,14");
        csvSource.setNominalLabelSpecs(nominalVals);
        ins = csvSource.getDataSet();
        Remove r = new Remove();
        r.setAttributeIndices("3-4,6,8,10-12,14,40-41");
        r.setInputFormat(ins);
        ins = Remove.useFilter(ins, r);
        //System.out.println(unlabled.toSummaryString());
        r = new Remove();
        System.out.println(ins.toSummaryString());

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    int cIdx = ins.numAttributes() - 1;
    ins.setClassIndex(cIdx);
}