本文整理汇总了Java中water.fvec.Frame.numCols方法的典型用法代码示例。如果您正苦于以下问题:Java Frame.numCols方法的具体用法?Java Frame.numCols怎么用?Java Frame.numCols使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类water.fvec.Frame
的用法示例。
在下文中一共展示了Frame.numCols方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: init
import water.fvec.Frame; //导入方法依赖的package包/类
/** Initialize the ModelBuilder, validating all arguments and preparing the
* training frame. This call is expected to be overridden in the subclasses
* and each subclass will start with "super.init();".
*
* Validate K, max_iterations and the number of rows. */
@Override public void init(boolean expensive) {
super.init(expensive);
if( _parms._max_iterations < 0 || _parms._max_iterations > 1e6) error("_max_iterations", " max_iterations must be between 0 and 1e6");
if( _train == null ) return;
if( _parms._init == Initialization.User && _parms._user_points == null )
error("_user_y","Must specify initial cluster centers");
if( null != _parms._user_points ){ // Check dimensions of user-specified centers
Frame user_points = _parms._user_points.get();
if( user_points.numCols() != _train.numCols() - numSpecialCols()) {
error("_user_y","The user-specified points must have the same number of columns (" + (_train.numCols() - numSpecialCols()) + ") as the training observations");
} else if( user_points.numRows() != _parms._k)
error("_user_y","The number of rows in the user-specified points is not equal to k = " + _parms._k);
}
if (expensive && error_count() == 0) checkMemoryFootPrint();
}
示例2: transformImpl
import water.fvec.Frame; //导入方法依赖的package包/类
@Override protected Frame transformImpl(Frame f) {
((ASTExec)_ast._asts[1])._asts[1] = AST.newASTFrame(f);
Frame fr = Exec.execute(_ast).getFrame();
_newCol = _newNames==null?new String[fr.numCols()]:_newNames;
_newColTypes = toJavaPrimitive(fr.anyVec().get_type_str());
if( (_multiColReturn=fr.numCols() > 1) ) {
for(int i=0;i<_newCol.length;i++) {
if(_newNames==null) _newCol[i] = f.uniquify(i > 0 ? _newCol[i - 1] : _oldCol);
f.add(_newCol[i], fr.vec(i));
}
if( _inplace ) f.remove(f.find(_oldCol)).remove();
} else {
_newCol = new String[]{_inplace ? _oldCol : f.uniquify(_oldCol)};
if( _inplace ) f.replace(f.find(_oldCol), fr.anyVec()).remove();
else f.add(_newNames==null?_newCol[0]:_newNames[0], fr.anyVec());
}
DKV.put(f);
return f;
}
示例3: apply
import water.fvec.Frame; //导入方法依赖的package包/类
@Override Val apply( Env env, Env.StackHelp stk, AST asts[] ) {
Frame frx = stk.track(asts[1].exec(env)).getFrame();
Frame fry = stk.track(asts[2].exec(env)).getFrame();
if( frx.numRows() != fry.numRows() )
throw new IllegalArgumentException("Frames must have the same number of rows, found "+frx.numRows()+" and "+fry.numRows());
if( frx.numCols() != fry.numCols() )
throw new IllegalArgumentException("Frames must have the same number of columns, found "+frx.numCols()+" and "+fry.numCols());
String use = stk.track(asts[3].exec(env)).getStr();
Mode mode;
switch( use ) {
case "everything": mode = Mode.Everything; break;
case "all.obs": mode = Mode.AllObs; break;
case "complete.obs": mode = Mode.CompleteObs; break;
default: throw new IllegalArgumentException("unknown use mode, found: "+use);
}
return frx.numRows() == 1 ? scalar(frx,fry,mode) : array(frx,fry,mode);
}
示例4: testColNames
import water.fvec.Frame; //导入方法依赖的package包/类
/**
* Helper to check parsed column names
*/
private void testColNames(String[] dataset, String[] exp, int len, String sep) {
StringBuilder sb1 = new StringBuilder();
for (String ds : dataset) sb1.append(ds).append(sep);
Key k1 = makeByteVec(sb1.toString());
Key r1 = Key.make("r1");
ParseDataset.parse(r1, k1);
Frame fr = DKV.get(r1).get();
try {
Assert.assertEquals(len, fr.numRows());
Assert.assertEquals(exp.length, fr.numCols());
for (int j = 0; j < fr.numCols(); ++j) {
Assert.assertTrue(exp[j].equals(fr.names()[j]));
}
} finally {
fr.delete();
}
}
示例5: apply
import water.fvec.Frame; //导入方法依赖的package包/类
@Override Val apply(Env env, Env.StackHelp stk, AST asts[]) {
Frame fr = stk.track(asts[1].exec(env)).getFrame();
Vec v;
if( fr.numCols()!=1 )
throw new IllegalArgumentException("Unique applies to a single column only.");
if( fr.anyVec().isCategorical() ) {
v = Vec.makeSeq(0, (long)fr.anyVec().domain().length, true);
v.setDomain(fr.anyVec().domain());
DKV.put(v);
} else {
UniqTask t = new UniqTask().doAll(fr);
int nUniq = t._uniq.size();
final ASTGroup.G[] uniq = t._uniq.keySet().toArray(new ASTGroup.G[nUniq]);
v = Vec.makeZero(nUniq);
new MRTask() {
@Override
public void map(Chunk c) {
int start = (int) c.start();
for (int i = 0; i < c._len; ++i) c.set(i, uniq[i + start]._gs[0]);
}
}.doAll(v);
}
return new ValFrame(new Frame(v));
}
示例6: apply
import water.fvec.Frame; //导入方法依赖的package包/类
@Override Val apply( Env env, Env.StackHelp stk, AST asts[] ) {
Val val = asts[1].exec(env);
switch( val.type() ) {
case Val.NUM:
double d = val.getNum();
return new ValNum(Double.isNaN(d) ? d : op(new MutableDateTime(0),d));
case Val.FRM:
Frame fr = stk.track(val).getFrame();
if( fr.numCols() > 1 ) throw water.H2O.unimpl();
return new ValFrame(new MRTask() {
@Override public void map( Chunk chk, NewChunk cres ) {
MutableDateTime mdt = new MutableDateTime(0,ParseTime.getTimezone());
for( int i=0; i<chk._len; i++ )
cres.addNum(chk.isNA(i) ? Double.NaN : op(mdt,chk.at8(i)));
}
}.doAll_numericResult(1,fr).outputFrame(fr._names, factors()));
default: throw water.H2O.fail();
}
}
示例7: hasClosedForm
import water.fvec.Frame; //导入方法依赖的package包/类
public final boolean hasClosedForm() {
long na_cnt = 0;
Frame train = _train.get();
for(int i = 0; i < train.numCols(); i++)
na_cnt += train.vec(i).naCnt();
return hasClosedForm(na_cnt);
}
示例8: FrameSynopsisV3
import water.fvec.Frame; //导入方法依赖的package包/类
FrameSynopsisV3(Frame fr) {
Vec[] vecs = fr.vecs();
frame_id = new FrameKeyV3(fr._key);
_fr = fr;
rows = fr.numRows();
columns = vecs.length;
byte_size = fr.byteSize();
is_text = fr.numCols()==1 && vecs[0] instanceof ByteVec;
}
示例9: sparseRatio
import water.fvec.Frame; //导入方法依赖的package包/类
public static double sparseRatio(Frame fr) {
double reg = 1.0/fr.numCols();
double res = 0;
for(Vec v:fr.vecs())
res += v.sparseRatio();
return res * reg;
}
示例10: initCheck
import water.fvec.Frame; //导入方法依赖的package包/类
public static void initCheck(Frame input, int width, int height, int depth) {
ConcurrencyUtils.setNumberOfThreads(1);
if (width < 1 || height < 1 || depth < 1)
throw new H2OIllegalArgumentException("dimensions must be >= 1");
if (width*height*depth != input.numCols())
throw new H2OIllegalArgumentException("dimensions HxWxD must match the # columns of the frame");
for (Vec v : input.vecs()) {
if (v.naCnt() > 0)
throw new H2OIllegalArgumentException("DCT can not be computed on rows with missing values");
if (!v.isNumeric())
throw new H2OIllegalArgumentException("DCT can only be computed on numeric columns");
}
}
示例11: fit
import water.fvec.Frame; //导入方法依赖的package包/类
@Override public Transform<H2OScaler> fit(Frame f) {
means = new double[f.numCols()];
sdevs = new double[f.numCols()];
for(int i=0;i<f.numCols();++i) {
means[i] = f.vec(i).mean();
sdevs[i] = f.vec(i).sigma();
}
return this;
}
示例12: apply
import water.fvec.Frame; //导入方法依赖的package包/类
@Override Val apply( Env env, Env.StackHelp stk, AST asts[] ) {
Frame ary = stk.track(asts[1].exec(env)).getFrame();
if( ary.numCols() != 1 ) throw new IllegalArgumentException("character requires a single column");
Vec v0 = ary.anyVec();
Vec v1 = v0.isString() ? null : v0.toStringVec(); // toCategoricalVec() creates a new vec --> must be cleaned up!
Frame fr = new Frame(ary._names, new Vec[]{v1 == null ? v0.makeCopy(null) : v1});
return new ValFrame(fr);
}
示例13: transpose
import water.fvec.Frame; //导入方法依赖的package包/类
/**
* Transpose the Frame as if it was a matrix (rows <-> columns).
* Must be all numeric, will fail if there are too many rows ( >= ~.5M).
*
* Result is made to be compatible (i.e. the same vector group and chunking) with the target frame.
*
* @param src
* @return
*/
public static Frame transpose(Frame src, Frame tgt){
if(src.numRows() != tgt.numCols() || src.numCols() != tgt.numRows())
throw new IllegalArgumentException("dimension do not match!");
for(Vec v:src.vecs()) {
if (v.isCategorical())
throw new IllegalArgumentException("transpose can only be applied to all-numeric frames (representing a matrix)");
if(v.length() > 1000000)
throw new IllegalArgumentException("too many rows, transpose only works for frames with < 1M rows.");
}
new TransposeTsk(tgt).doAll(src);
return tgt;
}
示例14: exec_check
import water.fvec.Frame; //导入方法依赖的package包/类
Val exec_check( Env env, Env.StackHelp stk, Frame tst, AST ast, Frame xfr ) {
Val val = ast.exec(env);
if( val.isFrame() ) {
Frame fr = stk.track(val).getFrame();
if( tst.numCols() != fr.numCols() || tst.numRows() != fr.numRows() )
throw new IllegalArgumentException("ifelse test frame and other frames must match dimensions, found "+tst+" and "+fr);
xfr.add(fr);
}
return val;
}
示例15: MatrixMulTsk
import water.fvec.Frame; //导入方法依赖的package包/类
public MatrixMulTsk(H2OCountedCompleter cmp, Key progressKey, Frame x, Frame y) {
super(cmp);
if(x.numCols() != y.numRows())
throw new IllegalArgumentException("dimensions do not match! x.numcols = " + x.numCols() + ", y.numRows = " + y.numRows());
_x = x;
_y = y;
_progressKey = progressKey;
}