//
// This file is auto-generated. Please don't modify it!
//
package org.opencv.ml;
import org.opencv.core.Mat;
import org.opencv.core.Range;
// C++: class CvGBTrees
/**
* <p>The class implements the Gradient boosted tree model as described in the
* beginning of this section.</p>
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/gradient_boosted_trees.html#cvgbtrees">org.opencv.ml.CvGBTrees : public CvStatModel</a>
*/
public class CvGBTrees extends CvStatModel {
protected CvGBTrees(long addr) { super(addr); }
public static final int
SQUARED_LOSS = 0,
ABSOLUTE_LOSS = 0+1,
HUBER_LOSS = 3,
DEVIANCE_LOSS = 3+1;
//
// C++: CvGBTrees::CvGBTrees()
//
/**
* <p>Default and training constructors.</p>
*
* <p>The constructors follow conventions of "CvStatModel.CvStatModel". See
* "CvStatModel.train" for parameters descriptions.</p>
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/gradient_boosted_trees.html#cvgbtrees-cvgbtrees">org.opencv.ml.CvGBTrees.CvGBTrees</a>
*/
public CvGBTrees()
{
super( CvGBTrees_0() );
return;
}
//
// C++: CvGBTrees::CvGBTrees(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvGBTreesParams params = CvGBTreesParams())
//
/**
* <p>Default and training constructors.</p>
*
* <p>The constructors follow conventions of "CvStatModel.CvStatModel". See
* "CvStatModel.train" for parameters descriptions.</p>
*
* @param trainData a trainData
* @param tflag a tflag
* @param responses a responses
* @param varIdx a varIdx
* @param sampleIdx a sampleIdx
* @param varType a varType
* @param missingDataMask a missingDataMask
* @param params a params
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/gradient_boosted_trees.html#cvgbtrees-cvgbtrees">org.opencv.ml.CvGBTrees.CvGBTrees</a>
*/
public CvGBTrees(Mat trainData, int tflag, Mat responses, Mat varIdx, Mat sampleIdx, Mat varType, Mat missingDataMask, CvGBTreesParams params)
{
super( CvGBTrees_1(trainData.nativeObj, tflag, responses.nativeObj, varIdx.nativeObj, sampleIdx.nativeObj, varType.nativeObj, missingDataMask.nativeObj, params.nativeObj) );
return;
}
/**
* <p>Default and training constructors.</p>
*
* <p>The constructors follow conventions of "CvStatModel.CvStatModel". See
* "CvStatModel.train" for parameters descriptions.</p>
*
* @param trainData a trainData
* @param tflag a tflag
* @param responses a responses
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/gradient_boosted_trees.html#cvgbtrees-cvgbtrees">org.opencv.ml.CvGBTrees.CvGBTrees</a>
*/
public CvGBTrees(Mat trainData, int tflag, Mat responses)
{
super( CvGBTrees_2(trainData.nativeObj, tflag, responses.nativeObj) );
return;
}
//
// C++: void CvGBTrees::clear()
//
/**
* <p>Clears the model.</p>
*
* <p>The function deletes the data set information and all the weak models and
* sets all internal variables to the initial state. The function is called in
* "CvGBTrees.train" and in the destructor.</p>
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/gradient_boosted_trees.html#cvgbtrees-clear">org.opencv.ml.CvGBTrees.clear</a>
*/
public void clear()
{
clear_0(nativeObj);
return;
}
//
// C++: float CvGBTrees::predict(Mat sample, Mat missing = cv::Mat(), Range slice = cv::Range::all(), int k = -1)
//
/**
* <p>Predicts a response for an input sample.</p>
*
* <p>The method predicts the response corresponding to the given sample (see
* "Predicting with GBT").
* The result is either the class label or the estimated function value. The
* "CvGBTrees.predict" method enables using the parallel version of the GBT
* model prediction if the OpenCV is built with the TBB library. In this case,
* predictions of single trees are computed in a parallel fashion.</p>
*
* @param sample Input feature vector that has the same format as every training
* set element. If not all the variables were actually used during training,
* <code>sample</code> contains forged values at the appropriate places.
* @param missing Missing values mask, which is a dimensional matrix of the same
* size as <code>sample</code> having the <code>CV_8U</code> type.
* <code>1</code> corresponds to the missing value in the same position in the
* <code>sample</code> vector. If there are no missing values in the feature
* vector, an empty matrix can be passed instead of the missing mask.
* @param slice Parameter defining the part of the ensemble used for prediction.
* <p>If <code>slice = Range.all()</code>, all trees are used. Use this parameter
* to get predictions of the GBT models with different ensemble sizes learning
* only one model.</p>
* @param k Number of tree ensembles built in case of the classification problem
* (see "Training GBT"). Use this parameter to change the output to sum of the
* trees' predictions in the <code>k</code>-th ensemble only. To get the total
* GBT model prediction, <code>k</code> value must be -1. For regression
* problems, <code>k</code> is also equal to -1.
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/gradient_boosted_trees.html#cvgbtrees-predict">org.opencv.ml.CvGBTrees.predict</a>
*/
public float predict(Mat sample, Mat missing, Range slice, int k)
{
float retVal = predict_0(nativeObj, sample.nativeObj, missing.nativeObj, slice.start, slice.end, k);
return retVal;
}
/**
* <p>Predicts a response for an input sample.</p>
*
* <p>The method predicts the response corresponding to the given sample (see
* "Predicting with GBT").
* The result is either the class label or the estimated function value. The
* "CvGBTrees.predict" method enables using the parallel version of the GBT
* model prediction if the OpenCV is built with the TBB library. In this case,
* predictions of single trees are computed in a parallel fashion.</p>
*
* @param sample Input feature vector that has the same format as every training
* set element. If not all the variables were actually used during training,
* <code>sample</code> contains forged values at the appropriate places.
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/gradient_boosted_trees.html#cvgbtrees-predict">org.opencv.ml.CvGBTrees.predict</a>
*/
public float predict(Mat sample)
{
float retVal = predict_1(nativeObj, sample.nativeObj);
return retVal;
}
//
// C++: bool CvGBTrees::train(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvGBTreesParams params = CvGBTreesParams(), bool update = false)
//
/**
* <p>Trains a Gradient boosted tree model.</p>
*
* <p>The first train method follows the common template (see "CvStatModel.train").
* Both <code>tflag</code> values (<code>CV_ROW_SAMPLE</code>, <code>CV_COL_SAMPLE</code>)
* are supported.
* <code>trainData</code> must be of the <code>CV_32F</code> type.
* <code>responses</code> must be a matrix of type <code>CV_32S</code> or
* <code>CV_32F</code>. In both cases it is converted into the <code>CV_32F</code>
* matrix inside the training procedure. <code>varIdx</code> and
* <code>sampleIdx</code> must be a list of indices (<code>CV_32S</code>) or a
* mask (<code>CV_8U</code> or <code>CV_8S</code>). <code>update</code> is a
* dummy parameter.</p>
*
* <p>The second form of "CvGBTrees.train" function uses "CvMLData" as a data set
* container. <code>update</code> is still a dummy parameter.</p>
*
* <p>All parameters specific to the GBT model are passed into the training
* function as a "CvGBTreesParams" structure.</p>
*
* @param trainData a trainData
* @param tflag a tflag
* @param responses a responses
* @param varIdx a varIdx
* @param sampleIdx a sampleIdx
* @param varType a varType
* @param missingDataMask a missingDataMask
* @param params a params
* @param update a update
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/gradient_boosted_trees.html#cvgbtrees-train">org.opencv.ml.CvGBTrees.train</a>
*/
public boolean train(Mat trainData, int tflag, Mat responses, Mat varIdx, Mat sampleIdx, Mat varType, Mat missingDataMask, CvGBTreesParams params, boolean update)
{
boolean retVal = train_0(nativeObj, trainData.nativeObj, tflag, responses.nativeObj, varIdx.nativeObj, sampleIdx.nativeObj, varType.nativeObj, missingDataMask.nativeObj, params.nativeObj, update);
return retVal;
}
/**
* <p>Trains a Gradient boosted tree model.</p>
*
* <p>The first train method follows the common template (see "CvStatModel.train").
* Both <code>tflag</code> values (<code>CV_ROW_SAMPLE</code>, <code>CV_COL_SAMPLE</code>)
* are supported.
* <code>trainData</code> must be of the <code>CV_32F</code> type.
* <code>responses</code> must be a matrix of type <code>CV_32S</code> or
* <code>CV_32F</code>. In both cases it is converted into the <code>CV_32F</code>
* matrix inside the training procedure. <code>varIdx</code> and
* <code>sampleIdx</code> must be a list of indices (<code>CV_32S</code>) or a
* mask (<code>CV_8U</code> or <code>CV_8S</code>). <code>update</code> is a
* dummy parameter.</p>
*
* <p>The second form of "CvGBTrees.train" function uses "CvMLData" as a data set
* container. <code>update</code> is still a dummy parameter.</p>
*
* <p>All parameters specific to the GBT model are passed into the training
* function as a "CvGBTreesParams" structure.</p>
*
* @param trainData a trainData
* @param tflag a tflag
* @param responses a responses
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/gradient_boosted_trees.html#cvgbtrees-train">org.opencv.ml.CvGBTrees.train</a>
*/
public boolean train(Mat trainData, int tflag, Mat responses)
{
boolean retVal = train_1(nativeObj, trainData.nativeObj, tflag, responses.nativeObj);
return retVal;
}
@Override
protected void finalize() throws Throwable {
delete(nativeObj);
}
// C++: CvGBTrees::CvGBTrees()
private static native long CvGBTrees_0();
// C++: CvGBTrees::CvGBTrees(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvGBTreesParams params = CvGBTreesParams())
private static native long CvGBTrees_1(long trainData_nativeObj, int tflag, long responses_nativeObj, long varIdx_nativeObj, long sampleIdx_nativeObj, long varType_nativeObj, long missingDataMask_nativeObj, long params_nativeObj);
private static native long CvGBTrees_2(long trainData_nativeObj, int tflag, long responses_nativeObj);
// C++: void CvGBTrees::clear()
private static native void clear_0(long nativeObj);
// C++: float CvGBTrees::predict(Mat sample, Mat missing = cv::Mat(), Range slice = cv::Range::all(), int k = -1)
private static native float predict_0(long nativeObj, long sample_nativeObj, long missing_nativeObj, int slice_start, int slice_end, int k);
private static native float predict_1(long nativeObj, long sample_nativeObj);
// C++: bool CvGBTrees::train(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvGBTreesParams params = CvGBTreesParams(), bool update = false)
private static native boolean train_0(long nativeObj, long trainData_nativeObj, int tflag, long responses_nativeObj, long varIdx_nativeObj, long sampleIdx_nativeObj, long varType_nativeObj, long missingDataMask_nativeObj, long params_nativeObj, boolean update);
private static native boolean train_1(long nativeObj, long trainData_nativeObj, int tflag, long responses_nativeObj);
// native support for java finalize()
private static native void delete(long nativeObj);
}