use of org.apache.commons.math.random.RandomDataImpl in project knime-core by knime.
the class RFSubsetColumnSampleStrategy method getColumnSampleForTreeNode.
/**
* {@inheritDoc}
*/
@Override
public ColumnSample getColumnSampleForTreeNode(final TreeNodeSignature treeNodeSignature) {
short[] signature = treeNodeSignature.getSignaturePath();
JDKRandomGenerator generator = new JDKRandomGenerator();
generator.setSeed(m_seed);
int[] newSeed = new int[signature.length];
for (int i = 0; i < signature.length; i++) {
for (int p = 0; p <= signature[i]; p++) {
newSeed[i] = generator.nextInt();
}
}
generator.setSeed(newSeed);
int totalColCount = m_data.getColumns().length;
RandomData rd = new RandomDataImpl(generator);
int[] includes = rd.nextPermutation(totalColCount, m_subsetSize);
Arrays.sort(includes);
return new SubsetColumnSample(m_data, includes);
}
Aggregations