/** * Define an output column. * @param col The output column. */ public void defineOutput(ColumnDefinition col) { this.helper.getOutputColumns().add(col); }
/** * {@inheritDoc} */ @Override public String suggestModelArchitecture(VersatileMLDataSet dataset) { int inputColumns = dataset.getNormHelper().getInputColumns().size(); int outputColumns = dataset.getNormHelper().getOutputColumns().size(); int hiddenCount = (int) ((double)(inputColumns+outputColumns) * 1.5); StringBuilder result = new StringBuilder(); result.append("?->gaussian(c="); result.append(hiddenCount); result.append(")->?"); return result.toString(); }
/** * {@inheritDoc} */ @Override public int determineOutputCount(VersatileMLDataSet dataset) { return dataset.getNormHelper().getOutputColumns().get(0).getClasses().size(); } }
/** * {@inheritDoc} */ @Override public String suggestModelArchitecture(VersatileMLDataSet dataset) { int inputColumns = dataset.getNormHelper().getInputColumns().size(); int outputColumns = dataset.getNormHelper().getOutputColumns().size(); int hiddenCount = (int) ((double)(inputColumns+outputColumns) * 1.5); StringBuilder result = new StringBuilder(); result.append("?:B->TANH->"); result.append(hiddenCount); result.append(":B->TANH->?"); return result.toString(); }
/** * {@inheritDoc} */ @Override public String suggestModelArchitecture(VersatileMLDataSet dataset) { int outputColumns = dataset.getNormHelper().getOutputColumns().size(); if( outputColumns>1 ) { throw new EncogError("SVM does not support multiple output columns."); } ColumnType ct = dataset.getNormHelper().getOutputColumns().get(0).getDataType(); StringBuilder result = new StringBuilder(); result.append("?->"); if( ct==ColumnType.nominal ) { result.append("C"); } else { result.append("R"); } result.append("->?"); return result.toString(); }
/** * Calculate the error for the given method and dataset. * @param method The method to use. * @param data The data to use. * @return The error. */ public double calculateError(MLMethod method, MLDataSet data) { if (this.dataset.getNormHelper().getOutputColumns().size() == 1) { ColumnDefinition cd = this.dataset.getNormHelper() .getOutputColumns().get(0); if (cd.getDataType() == ColumnType.nominal) { return EncogUtility.calculateClassificationError( (MLClassification) method, data); } } return EncogUtility.calculateRegressionError((MLRegression) method, data); }
/** * {@inheritDoc} */ @Override public NormalizationStrategy suggestNormalizationStrategy(VersatileMLDataSet dataset, String architecture) { int outputColumns = dataset.getNormHelper().getOutputColumns().size(); ColumnType ct = dataset.getNormHelper().getOutputColumns().get(0).getDataType(); BasicNormalizationStrategy result = new BasicNormalizationStrategy(); result.assignInputNormalizer(ColumnType.continuous,new RangeNormalizer(0,1)); result.assignInputNormalizer(ColumnType.nominal,new OneOfNNormalizer(0,1)); result.assignInputNormalizer(ColumnType.ordinal,new OneOfNNormalizer(0,1)); result.assignOutputNormalizer(ColumnType.continuous,new RangeNormalizer(0,1)); result.assignOutputNormalizer(ColumnType.nominal,new OneOfNNormalizer(0,1)); result.assignOutputNormalizer(ColumnType.ordinal,new OneOfNNormalizer(0,1)); return result; }
/** * {@inheritDoc} */ @Override public NormalizationStrategy suggestNormalizationStrategy(VersatileMLDataSet dataset, String architecture) { int outputColumns = dataset.getNormHelper().getOutputColumns().size(); if( outputColumns>1 ) { throw new EncogError("PNN does not support multiple output columns."); } ColumnType ct = dataset.getNormHelper().getOutputColumns().get(0).getDataType(); BasicNormalizationStrategy result = new BasicNormalizationStrategy(); result.assignInputNormalizer(ColumnType.continuous,new RangeNormalizer(0,1)); result.assignInputNormalizer(ColumnType.nominal,new OneOfNNormalizer(0,1)); result.assignInputNormalizer(ColumnType.ordinal,new OneOfNNormalizer(0,1)); result.assignOutputNormalizer(ColumnType.continuous,new RangeNormalizer(0,1)); result.assignOutputNormalizer(ColumnType.nominal,new IndexedNormalizer()); result.assignOutputNormalizer(ColumnType.ordinal,new OneOfNNormalizer(0,1)); return result; }
/** * {@inheritDoc} */ @Override public NormalizationStrategy suggestNormalizationStrategy(VersatileMLDataSet dataset, String architecture) { int outputColumns = dataset.getNormHelper().getOutputColumns().size(); if( outputColumns>1 ) { throw new EncogError("SVM does not support multiple output columns."); } ColumnType ct = dataset.getNormHelper().getOutputColumns().get(0).getDataType(); BasicNormalizationStrategy result = new BasicNormalizationStrategy(); result.assignInputNormalizer(ColumnType.continuous,new RangeNormalizer(0,1)); result.assignInputNormalizer(ColumnType.nominal,new OneOfNNormalizer(0,1)); result.assignInputNormalizer(ColumnType.ordinal,new OneOfNNormalizer(0,1)); result.assignOutputNormalizer(ColumnType.continuous,new RangeNormalizer(0,1)); result.assignOutputNormalizer(ColumnType.nominal,new IndexedNormalizer()); result.assignOutputNormalizer(ColumnType.ordinal,new OneOfNNormalizer(0,1)); return result; }
for (ColumnDefinition colDef : this.helper.getOutputColumns()) { int index = findIndex(colDef); String value = line[index];