@Override protected void registered(API_VERSION ver) { super.registered(ver); Argument c = find("ignored_cols"); Argument r = find("response"); int ci = _arguments.indexOf(c); int ri = _arguments.indexOf(r); _arguments.set(ri, c); _arguments.set(ci, r); ((FrameKeyMultiVec) c).setResponse((FrameClassVec) r); }
@Override protected void init() { super.init(); // Check if it make sense to build a model if (source.numRows()==0) throw new IllegalArgumentException("Cannot build a model on empty dataset!"); // Does not alter the Response to an Enum column if Classification is // asked for: instead use the classification flag to decide between // classification or regression. Vec[] vecs = source.vecs(); for( int i = cols.length - 1; i >= 0; i-- ) if( vecs[cols[i]] == response ) cols = Utils.remove(cols,i); final boolean has_constant_response = response.isEnum() ? response.domain().length <= 1 : response.min() == response.max(); if (has_constant_response) throw new IllegalArgumentException("Constant response column!"); }