當前位置: 首頁>>代碼示例>>Java>>正文


Java Instance類代碼示例

本文整理匯總了Java中weka.core.Instance的典型用法代碼示例。如果您正苦於以下問題:Java Instance類的具體用法?Java Instance怎麽用?Java Instance使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Instance類屬於weka.core包,在下文中一共展示了Instance類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: main

import weka.core.Instance; //導入依賴的package包/類
public static void main(String[] args) {
    try {
        BookDecisionTree decisionTree = new BookDecisionTree("books.arff");
        J48 tree = decisionTree.performTraining();
        System.out.println(tree.toString());
        
        Instance testInstance = decisionTree.
                getTestInstance("Leather", "yes", "historical");
        int result = (int) tree.classifyInstance(testInstance);
        String results = decisionTree.trainingData.attribute(3).value(result);
        System.out.println(
                "Test with: " + testInstance + "  Result: " + results);

        testInstance = decisionTree.
                getTestInstance("Paperback", "no", "historical");
        result = (int) tree.classifyInstance(testInstance);
        results = decisionTree.trainingData.attribute(3).value(result);
        System.out.println(
                "Test with: " + testInstance + "  Result: " + results);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
 
開發者ID:PacktPublishing,項目名稱:Machine-Learning-End-to-Endguide-for-Java-developers,代碼行數:24,代碼來源:BookDecisionTree.java

示例2: instancesToDMatrix

import weka.core.Instance; //導入依賴的package包/類
public static DMatrix instancesToDMatrix(Instances instances) throws XGBoostError {
    long[] rowHeaders = new long[instances.size()+1];
    rowHeaders[0]=0;
    List<Float> dataList = new ArrayList<>();
    List<Integer> colList = new ArrayList<>();
    float[] labels = new float[instances.size()];

    for(int i=0; i<instances.size(); i++) {
        Instance instance = instances.get(i);
        rowHeaders[i] = dataList.size();
        processInstance(instance, dataList, colList);
        labels[i] = (float) instance.classValue();
    }
    rowHeaders[rowHeaders.length - 1] = dataList.size();
    int colNum = instances.numAttributes()-1;
    DMatrix dMatrix = createDMatrix(rowHeaders, dataList, colList, colNum);

    dMatrix.setLabel(labels);
    return dMatrix;

}
 
開發者ID:SigDelta,項目名稱:weka-xgboost,代碼行數:22,代碼來源:DMatrixLoader.java

示例3: instanceToDenseDMatrix

import weka.core.Instance; //導入依賴的package包/類
public static DMatrix instanceToDenseDMatrix(Instance instance) throws XGBoostError {
    Attribute classAttribute = instance.classAttribute();
    int classAttrIndex = classAttribute.index();

    int colNum = instance.numAttributes()-1;
    int rowNum = 1;

    float[] data = new float[colNum*rowNum];

    Enumeration<Attribute> attributeEnumeration = instance.enumerateAttributes();
    int dataIndex = 0;
    while (attributeEnumeration.hasMoreElements()) {
        Attribute attribute = attributeEnumeration.nextElement();
        int attrIndex = attribute.index();
        if(attrIndex == classAttrIndex){
            continue;
        }
        data[dataIndex]= (float) instance.value(attribute);
        dataIndex++;
    }

    return new DMatrix(data, rowNum, colNum);
}
 
開發者ID:SigDelta,項目名稱:weka-xgboost,代碼行數:24,代碼來源:DMatrixLoader.java

示例4: predictExamples

import weka.core.Instance; //導入依賴的package包/類
@TimeThis(task="prediction")
protected void predictExamples(ProcessingContext<Corpus> ctx, Classifier classifier, IdentifiedInstances<Element> devSet, Corpus corpus) throws Exception {
	ElementClassifierResolvedObjects resObj = getResolvedObjects();
	RelationDefinition relationDefinition = resObj.getRelationDefinition();
	Evaluator examples = resObj.getExamples();
	String predictedClassFeatureKey = getPredictedClassFeatureKey();
	TargetStream evaluationFile = getEvaluationFile();
	boolean withId = evaluationFile != null;
	String[] classes = getClasses(devSet);
	getLogger(ctx).info("predicting class for each example");
       EvaluationContext evalCtx = new EvaluationContext(getLogger(ctx));
	for (Element example : Iterators.loop(getExamples(corpus, examples, evalCtx))) {
		Instance inst = relationDefinition.addExample(devSet, evalCtx, example, withId, withId);
		double prediction = classifier.classifyInstance(inst);
		example.addFeature(predictedClassFeatureKey, classes[(int) prediction]);
		if (!withId)
			devSet.delete();
	}
}
 
開發者ID:Bibliome,項目名稱:alvisnlp,代碼行數:20,代碼來源:WekaPredict.java

示例5: fetchNext

import weka.core.Instance; //導入依賴的package包/類
@Override
  protected Tuple fetchNext() throws DbException, TransactionAbortedException {
// Block, adding all of the child tuples to the buffer.
while (child.hasNext()){
	buffer.add(child.next());
}

  	// Do the impute, if we have not already.
      if (imputedInstances == null){
      	doImpute();
      }
      
      // We've imputed values, so we can actually return them now.
      if (nextTupleIndex < buffer.size()){
          Tuple original = buffer.get(nextTupleIndex);
          Instance inst = imputedInstances.get(nextTupleIndex);
          Tuple imputed = new Tuple(original);
          mergeInstanceIntoTuple(inst, imputed);
          nextTupleIndex++;
          
          return imputed;
      } else {
          return null;
      }
  }
 
開發者ID:mitdbg,項目名稱:imputedb,代碼行數:26,代碼來源:ImputeRegressionTree.java

示例6: Main

import weka.core.Instance; //導入依賴的package包/類
public Main() {
    try {
        BufferedReader datafile;
        datafile = readDataFile("camping.txt");
        Instances data = new Instances(datafile);
        data.setClassIndex(data.numAttributes() - 1);

        Instances trainingData = new Instances(data, 0, 14);
        Instances testingData = new Instances(data, 14, 5);
        Evaluation evaluation = new Evaluation(trainingData);

        SMO smo = new SMO();
        smo.buildClassifier(data);

        evaluation.evaluateModel(smo, testingData);
        System.out.println(evaluation.toSummaryString());

        // Test instance 
        Instance instance = new DenseInstance(3);
        instance.setValue(data.attribute("age"), 78);
        instance.setValue(data.attribute("income"), 125700);
        instance.setValue(data.attribute("camps"), 1);            
        instance.setDataset(data);
        System.out.println("The instance: " + instance);
        System.out.println(smo.classifyInstance(instance));
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
 
開發者ID:PacktPublishing,項目名稱:Machine-Learning-End-to-Endguide-for-Java-developers,代碼行數:30,代碼來源:Main-SVG.java

示例7: isClassTheMajortiy

import weka.core.Instance; //導入依賴的package包/類
private boolean isClassTheMajortiy(ArrayList<Instance> instances, double classification){
	
	List<Instance> instancesList = new ArrayList<>(instances);
	TreeMap<Double, Double> classificationProbability = new TreeMap<>();
	Attribute classAttribute = instances.get(0).classAttribute();
	
	for (double i = 0; i < classAttribute.numValues(); i++) {
		int matchedClassCount = 0;
		
		for (Instance instance : instancesList) {
			if(instance.classValue() == i){
				matchedClassCount++;
			}
		}
		
		classificationProbability.put(((double) matchedClassCount / (double) instancesList.size()), i);
	}
	
	return (classificationProbability.lastEntry().getValue() == classification);
}
 
開發者ID:thienle2401,項目名稱:G-eRules,代碼行數:21,代碼來源:GeRules.java

示例8: createInstance

import weka.core.Instance; //導入依賴的package包/類
public Instance createInstance(List<String> featureNames, I key) {
	double[] vals = new double[featureNames.size()];
	for (int i = 0; i < featureNames.size(); i++) {
		Feature<Object> f = this.featureValues.get(key).get(featureNames.get(i));
		if (f != null)
			vals[i] = f.getDoubleValue();
		else {
			Class<Object> type = features.get(featureNames.get(i));
			if (type.equals(Double.class) || type.equals(Float.class) || type.equals(Integer.class))
				vals[i] = Double.NaN;
			if (type.equals(Boolean.class) || type.equals(String.class))
				vals[i] = 0;
		}
	}
	return new DenseInstance(1.0, vals);
}
 
開發者ID:UKPLab,項目名稱:ijcnlp2017-cmaps,代碼行數:17,代碼來源:FeatureContainer.java

示例9: testTransactionLookup

import weka.core.Instance; //導入依賴的package包/類
/**
     * testTransactionLookup
     */
    @Test
    public void testTransactionLookup() throws Exception {
        int txn_id_idx = FeatureExtractor.TXNID_ATTRIBUTE_IDX;
        assertEquals(workload.getTransactionCount(), data.numInstances());
        List<TransactionTrace> txns = new ArrayList<TransactionTrace>(workload.getTransactions());
//        System.err.println(StringUtil.join("\n", txns));
//        System.err.println();
        for (int i = 0, cnt = data.numInstances(); i < cnt; i++) {
            Instance inst = data.instance(i);
            assertNotNull(inst);
            
            String value = inst.stringValue(txn_id_idx);
//            System.err.println("VALUE:    " + value);
            Long txn_id = Long.valueOf(value);
            assertNotNull(txn_id);
            
            TransactionTrace txn_trace = workload.getTransaction(txn_id);
            TransactionTrace expected = txns.get(i);
//            System.err.println("EXPECTED: " + expected.getTransactionId());
//            System.err.println("FOUND:    " + txn_id);
            
            assertNotNull(String.format("[%05d] Failed to txn #%d", i, txn_id), txn_trace);
            assertEquals(expected.getTransactionId(), txn_trace.getTransactionId());
        } // FOR
    }
 
開發者ID:s-store,項目名稱:sstore-soft,代碼行數:29,代碼來源:TestFeatureExtractor.java

示例10: testCreateMarkovAttributeSetFilter

import weka.core.Instance; //導入依賴的package包/類
/**
     * testCreateMarkovAttributeSetFilter
     */
    @Test
    public void testCreateMarkovAttributeSetFilter() throws Exception {
        // Test that we can create a filter from an MarkovAttributeSet
        MarkovAttributeSet aset = new MarkovAttributeSet(data, FeatureUtil.getFeatureKeyPrefix(ParamArrayLengthFeature.class));
        assertEquals(CatalogUtil.getArrayProcParameters(catalog_proc).size(), aset.size());
        
        Filter filter = aset.createFilter(data);
        Instances newData = Filter.useFilter(data, filter);
        for (int i = 0, cnt = newData.numInstances(); i < cnt; i++) {
            Instance processed = newData.instance(i);
//            System.err.println(processed);
            assertEquals(aset.size(), processed.numAttributes());
        } // WHILE
        assertEquals(data.numInstances(), newData.numInstances());
//        System.err.println("MarkovAttributeSet: " + aset);
        
    }
 
開發者ID:s-store,項目名稱:sstore-soft,代碼行數:21,代碼來源:TestFeatureClusterer.java

示例11: instanceToTuple

import weka.core.Instance; //導入依賴的package包/類
/**
 * Create a new Tuple by extracting the values from the Instance inst and using the TupleDesc td
 * @param inst Instance
 * @param td TupleDesc
 * @return new Tuple
 */
public static Tuple instanceToTuple(Instance inst, TupleDesc td){
    Tuple t = new Tuple(td);
    for (int i=0; i<td.numFields(); i++){
        double value = inst.value(i);
        Type type = td.getFieldType(i);
        Field field = null;
        if (type.equals(Type.INT_TYPE)){
            field = new IntField((int) value);
        } else if (type.equals(Type.DOUBLE_TYPE)){
            field = new DoubleField(value);
        } else if (type.equals(Type.STRING_TYPE)){
            throw new UnsupportedOperationException();
            // field = new StringField(value);
        }
        
        t.setField(i, field);
    }

    return t;
}
 
開發者ID:mitdbg,項目名稱:imputedb,代碼行數:27,代碼來源:WekaUtil.java

示例12: classifySentence

import weka.core.Instance; //導入依賴的package包/類
public SentenceType classifySentence(Sentence sentence) {
	SpeechActsClassifier.Features features = speechActsClassifier.classifyFeatures(sentence);

	Instance inst = new DenseInstance(6);
	inst.setDataset(dataSet);

	inst.setValue(0, features.getSentenceLength());
	inst.setValue(1, features.getNumberOfNouns());
	inst.setValue(2, (features.isEndingInNounOrAdjective() ? 1 : 0));
	inst.setValue(3, (features.isBeginningInVerb() ? 1 : 0));
	inst.setValue(4, features.getCountOfWhMarkers());
	inst.setValue(5, Utils.missingValue());

	try {
		return SentenceType.valueOf(classifier.classifyInstance(inst));
	} catch (Exception e) {
		throw new RuntimeException("Can't classify");
	}
}
 
開發者ID:igr,項目名稱:parlo,代碼行數:20,代碼來源:SentenceClassifier.java

示例13: classifyQuestion

import weka.core.Instance; //導入依賴的package包/類
public QuestionType classifyQuestion(Sentence sentence) {
	if (!sentence.isQuestion()) {
		return QuestionType.NA;
	}

	QuestionTypeClassifier.Features features = questionTypeClassifier.classifyFeatures(sentence);

	Instance inst = new DenseInstance(5);
	inst.setDataset(dataSet);

	inst.setValue(0, features.getWhWord());
	inst.setValue(1, features.getWhWordPos());
	inst.setValue(2, features.getPosOfNext());
	inst.setValue(3, features.getRootPos());
	inst.setValue(4, Utils.missingValue());

	try {
		int ndx = (int) classifier.classifyInstance(inst);
		 return QuestionType.valueOf(ndx);
	} catch (Exception e) {
		throw new RuntimeException("Not classified");
	}
}
 
開發者ID:igr,項目名稱:parlo,代碼行數:24,代碼來源:QuestionClassifier.java

示例14: getTopNegativeWekaFeaturesInReport

import weka.core.Instance; //導入依賴的package包/類
protected List<FeatureWeight> getTopNegativeWekaFeaturesInReport(
		Instance reportInstance, HashMap<String, Integer> featureIndexMap,
		String[][] featureWeightTable, int topKwords) throws Exception {
	List<FeatureWeight> topNegativeFeatureList = new ArrayList<>();
	int iFeature = 0;
	double weight;
	FeatureWeight featureWeight;
	while(topNegativeFeatureList.size() < topKwords &&
			iFeature < featureIndexMap.size()) {
		weight = Double.parseDouble(featureWeightTable[iFeature][1]); 
		if(weight < 0 &&
				reportInstance.value(featureIndexMap.get(featureWeightTable[iFeature][0]) + 1) == 1) { // reportID is the first att in reportInstance
			featureWeight = new FeatureWeight();
			featureWeight.setTerm(featureWeightTable[iFeature][0]);
			featureWeight.setWeight(weight);
			topNegativeFeatureList.add(featureWeight);
		}
		iFeature++;
	}
	return topNegativeFeatureList;
}
 
開發者ID:NLPReViz,項目名稱:emr-nlp-server,代碼行數:22,代碼來源:Report_Controller.java

示例15: getTopPositiveWekaFeaturesInReport

import weka.core.Instance; //導入依賴的package包/類
protected List<FeatureWeight> getTopPositiveWekaFeaturesInReport(Instance reportInstance,
		HashMap<String, Integer> featureIndexMap, String[][] featureWeightTable, int topKwords) throws Exception {
	List<FeatureWeight> topPositiveFeatureList = new ArrayList<>();
	int iFeature = 0;
	double weight;
	FeatureWeight featureWeight;
	while(topPositiveFeatureList.size() < topKwords &&
			iFeature < featureIndexMap.size()) {
		weight = Double.parseDouble(featureWeightTable[iFeature][1]); 
		if(weight > 0 &&
				reportInstance.value(featureIndexMap.get(featureWeightTable[iFeature][0]) + 1) == 1) { // reportID is the first att in reportInstance
			featureWeight = new FeatureWeight();
			featureWeight.setTerm(featureWeightTable[iFeature][0]);
			featureWeight.setWeight(weight);
			topPositiveFeatureList.add(featureWeight);
		}
		iFeature++;
	}
	return topPositiveFeatureList;
}
 
開發者ID:NLPReViz,項目名稱:emr-nlp-server,代碼行數:21,代碼來源:Report_Controller.java


注:本文中的weka.core.Instance類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。