public Object clone () { return shallowClone(); }
public Object clone () { return shallowClone(); }
public Object clone () { return shallowClone(); }
public InstanceList shallowClone () { InstanceList[] newLists = new InstanceList[this.lists.length]; for (int i = 0; i < this.lists.length; i++) { newLists[i] = this.lists[i].shallowClone (); } return new MultiInstanceList (newLists); }
public InstanceList shallowClone () { InstanceList[] newLists = new InstanceList[this.lists.length]; for (int i = 0; i < this.lists.length; i++) { newLists[i] = this.lists[i].shallowClone (); } return new MultiInstanceList (newLists); }
public InstanceList shallowClone () { InstanceList[] newLists = new InstanceList[this.lists.length]; for (int i = 0; i < this.lists.length; i++) { newLists[i] = this.lists[i].shallowClone (); } return new MultiInstanceList (newLists); }
/** * @param _nfolds * number of folds to split InstanceList into * @param seed * seed for random number used to split InstanceList */ public DocumentCrossValidationIterator(InstanceList ilist, int _nfolds, int seed) { assert (_nfolds > 0) : "nfolds: " + nfolds; this.nfolds = _nfolds; this.index = 0; this.pipe = ilist.pipe; // group instances by pubmed id instanceArticles = create(); Iterator<Instance> iit = ilist.shallowClone().iterator(); while (iit.hasNext()) { Instance instance = iit.next(); int pmId = parseInt(instance.name.toString().split("__")[0]); instanceArticles.put(pmId, instance); } folds = split(new java.util.Random(seed), _nfolds); }
/** * Shuffles the elements of this list among several smaller lists. * @param proportions A list of numbers (not necessarily summing to 1) which, * when normalized, correspond to the proportion of elements in each returned * sublist. This method (and all the split methods) do not transfer the Instance * weights to the resulting InstanceLists. * @param r The source of randomness to use in shuffling. * @return one <code>InstanceList</code> for each element of <code>proportions</code> */ public InstanceList[] split (java.util.Random r, double[] proportions) { InstanceList shuffled = this.shallowClone(); shuffled.shuffle (r); return shuffled.splitInOrder(proportions); }
/** * Shuffles the elements of this list among several smaller lists. * @param proportions A list of numbers (not necessarily summing to 1) which, * when normalized, correspond to the proportion of elements in each returned * sublist. This method (and all the split methods) do not transfer the Instance * weights to the resulting InstanceLists. * @param r The source of randomness to use in shuffling. * @return one <code>InstanceList</code> for each element of <code>proportions</code> */ public InstanceList[] split (java.util.Random r, double[] proportions) { InstanceList shuffled = this.shallowClone(); shuffled.shuffle (r); return shuffled.splitInOrder(proportions); }
/** * Shuffles the elements of this list among several smaller lists. * @param proportions A list of numbers (not necessarily summing to 1) which, * when normalized, correspond to the proportion of elements in each returned * sublist. This method (and all the split methods) do not transfer the Instance * weights to the resulting InstanceLists. * @param r The source of randomness to use in shuffling. * @return one <code>InstanceList</code> for each element of <code>proportions</code> */ public InstanceList[] split (java.util.Random r, double[] proportions) { InstanceList shuffled = this.shallowClone(); shuffled.shuffle (r); return shuffled.splitInOrder(proportions); }
/** * Returns the next training/testing split. * @return A pair of lists, where <code>InstanceList[0]</code> is the larger split (training) * and <code>InstanceList[1]</code> is the smaller split (testing) */ public InstanceList[] nextSplit () { InstanceList[] ret = new InstanceList[2]; ret[0] = new InstanceList (pipe); for (int i=0; i < folds.length; i++) { if (i==index) continue; Iterator<Instance> iter = folds[i].iterator(); while (iter.hasNext()) ret[0].add (iter.next()); } ret[1] = folds[index].shallowClone(); index++; return ret; }
/** * Returns the next training/testing split. * * @return A pair of lists, where <code>InstanceList[0]</code> is the larger * split (training) and <code>InstanceList[1]</code> is the smaller * split (testing) */ public InstanceList[] nextSplit() { InstanceList[] ret = new InstanceList[2]; ret[0] = new InstanceList(pipe); for (int i = 0; i < folds.length; i++) { if (i == index) continue; Iterator<Instance> iter = folds[i].iterator(); while (iter.hasNext()) ret[0].add(iter.next()); } ret[1] = folds[index].shallowClone(); index++; return ret; }
/** * Returns the next training/testing split. * @return A pair of lists, where <code>InstanceList[0]</code> is the larger split (training) * and <code>InstanceList[1]</code> is the smaller split (testing) */ public InstanceList[] nextSplit () { InstanceList[] ret = new InstanceList[2]; ret[0] = new InstanceList (pipe); for (int i=0; i < folds.length; i++) { if (i==index) continue; Iterator<Instance> iter = folds[i].iterator(); while (iter.hasNext()) ret[0].add (iter.next()); } ret[1] = folds[index].shallowClone(); index++; return ret; }
/** * Returns the next training/testing split. * @return A pair of lists, where <code>InstanceList[0]</code> is the larger split (training) * and <code>InstanceList[1]</code> is the smaller split (testing) */ public InstanceList[] nextSplit () { InstanceList[] ret = new InstanceList[2]; ret[0] = new InstanceList (pipe); for (int i=0; i < folds.length; i++) { if (i==index) continue; Iterator<Instance> iter = folds[i].iterator(); while (iter.hasNext()) ret[0].add (iter.next()); } ret[1] = folds[index].shallowClone(); index++; return ret; }
Randoms r) ilist = documents.shallowClone(); numTypes = ilist.getDataAlphabet().size (); int numDocs = ilist.size();
Randoms r) ilist = documents.shallowClone(); numTypes = ilist.getDataAlphabet().size (); int numDocs = ilist.size();
Randoms r) ilist = documents.shallowClone(); numTypes = ilist.getDataAlphabet().size (); int numDocs = ilist.size();