@Override protected SimpleTypeInformation<? super V> convertedType(SimpleTypeInformation<V> in) { initializeOutputType(in); return in; }
@Override protected SimpleTypeInformation<? super V> convertedType(SimpleTypeInformation<V> in) { initializeOutputType(in); return in; }
/** * Returns the linear equation system for printing purposes. If normalization * is null the linear equation system is returned, otherwise the linear * equation system will be transformed according to the normalization. * * @param normalization the normalization, can be null * @return the linear equation system for printing purposes * @throws NonNumericFeaturesException if the linear equation system is not * compatible with values initialized during normalization */ public LinearEquationSystem getNormalizedLinearEquationSystem(Normalization<?> normalization) throws NonNumericFeaturesException { if(normalization != null) { LinearEquationSystem lq = normalization.transform(linearEquationSystem); lq.solveByTotalPivotSearch(); return lq; } else { return linearEquationSystem; } }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != median.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + median.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = restore(d, featureVector.doubleValue(d)); } return factory.newNumberVector(values); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != maxima.length || featureVector.getDimensionality() != minima.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + maxima.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = featureVector.doubleValue(d) * factor(d) + minima[d]; } return factory.newNumberVector(values); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != mean.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + mean.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = restore(d, featureVector.doubleValue(d)); } return factory.newNumberVector(values); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != mean.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + mean.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = restore(d, featureVector.doubleValue(d)); } return factory.newNumberVector(values); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != median.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + median.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = restore(d, featureVector.doubleValue(d)); } return factory.newNumberVector(values); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != maxima.length || featureVector.getDimensionality() != minima.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + maxima.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = featureVector.doubleValue(d) * factor(d) + minima[d]; } return factory.newNumberVector(values); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != mean.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + mean.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = restore(d, featureVector.doubleValue(d)); } return factory.newNumberVector(values); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != mean.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + mean.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = restore(d, featureVector.doubleValue(d)); } return factory.newNumberVector(values); }
/** * Returns the linear equation system for printing purposes. If normalization * is null the linear equation system is returned, otherwise the linear * equation system will be transformed according to the normalization. * * @param normalization the normalization, can be null * @return the linear equation system for printing purposes * @throws NonNumericFeaturesException if the linear equation system is not * compatible with values initialized during normalization */ public LinearEquationSystem getNormalizedLinearEquationSystem(Normalization<?> normalization) throws NonNumericFeaturesException { if(normalization != null) { LinearEquationSystem lq = normalization.transform(linearEquationSystem); lq.solveByTotalPivotSearch(); return lq; } else { return linearEquationSystem; } }
@Override protected void initializeOutputType(SimpleTypeInformation<V> type) { super.initializeOutputType(type); multiplicity = ((VectorTypeInformation<?>) type).getMultiplicity(); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() == median.length) { double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = restore(d, featureVector.doubleValue(d)); } return factory.newNumberVector(values); } else { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + median.length); } }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != maxima.length || featureVector.getDimensionality() != minima.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + maxima.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = featureVector.doubleValue(d) * factor(d) + minima[d]; } return factory.newNumberVector(values); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != mean.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + mean.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = restore(d, featureVector.doubleValue(d)); } return factory.newNumberVector(values); }
@Override public V restore(V featureVector) throws NonNumericFeaturesException { if(featureVector.getDimensionality() != mean.length) { throw new NonNumericFeaturesException("Attributes cannot be resized: current dimensionality: " + featureVector.getDimensionality() + " former dimensionality: " + mean.length); } double[] values = new double[featureVector.getDimensionality()]; for(int d = 0; d < featureVector.getDimensionality(); d++) { values[d] = restore(d, featureVector.doubleValue(d)); } return factory.newNumberVector(values); }
@Override protected void initializeOutputType(SimpleTypeInformation<V> type) { super.initializeOutputType(type); multiplicity = ((VectorTypeInformation<?>) type).getMultiplicity(); }