类 StatModel
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.ml.StatModel
-
- 直接已知子类
ANN_MLP
,DTrees
,EM
,KNearest
,LogisticRegression
,NormalBayesClassifier
,SVM
,SVMSGD
public class StatModel extends Algorithm
OpenCV ML 中统计模型的基类。
-
-
字段摘要
字段 修饰符和类型 字段 描述 static int
COMPRESSED_INPUT
static int
PREPROCESSED_INPUT
static int
RAW_OUTPUT
static int
UPDATE_MODEL
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protected
StatModel(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static StatModel
__fromPtr__(long addr)
float
calcError(TrainData data, boolean test, Mat resp)
计算训练或测试数据集上的误差boolean
empty()
如果算法为空(例如protected void
finalize()
int
getVarCount()
返回训练样本中变量的数量boolean
isClassifier()
如果模型是分类器,则返回 trueboolean
isTrained()
如果模型已训练,则返回 truefloat
predict(Mat samples)
预测提供的样本的响应。float
predict(Mat samples, Mat results)
预测提供的样本的响应。float
predict(Mat samples, Mat results, int flags)
预测提供的样本的响应。boolean
train(Mat samples, int layout, Mat responses)
训练统计模型boolean
train(TrainData trainData)
训练统计模型boolean
train(TrainData trainData, int flags)
训练统计模型-
从类 org.opencv.core.Algorithm 继承的方法
clear, getDefaultName, getNativeObjAddr, save
-
-
-
-
方法详情
-
__fromPtr__
public static StatModel __fromPtr__(long addr)
-
getVarCount
public int getVarCount()
返回训练样本中变量的数量- 返回值
- 自动生成
-
empty
public boolean empty()
从类复制的描述:Algorithm
如果算法为空(例如,在开始时或读取失败后),则返回 true
-
isTrained
public boolean isTrained()
如果模型已训练,则返回 true- 返回值
- 自动生成
-
isClassifier
public boolean isClassifier()
如果模型是分类器,则返回 true- 返回值
- 自动生成
-
train
public boolean train(TrainData trainData, int flags)
训练统计模型- 参数
trainData
- 可以使用 TrainData::loadFromCSV 从文件加载或使用 TrainData::create 创建的训练数据。flags
- 可选标志,取决于模型。一些模型可以使用新的训练样本进行更新,而不是完全覆盖(例如 NormalBayesClassifier 或 ANN_MLP)。- 返回值
- 自动生成
-
train
public boolean train(TrainData trainData)
训练统计模型- 参数
trainData
- 可以使用 TrainData::loadFromCSV 从文件加载或使用 TrainData::create 创建的训练数据。新的训练样本,而不是完全覆盖(例如 NormalBayesClassifier 或 ANN_MLP)。- 返回值
- 自动生成
-
train
public boolean train(Mat samples, int layout, Mat responses)
训练统计模型- 参数
samples
- 训练样本layout
- 请参见 ml::SampleTypes。responses
- 与训练样本关联的响应向量。- 返回值
- 自动生成
-
calcError
public float calcError(TrainData data, boolean test, Mat resp)
计算训练或测试数据集上的误差- 参数
data
- 训练数据test
- 如果为 true,则误差是在数据的测试子集上计算的,否则是在数据的训练子集上计算的。请注意,如果您加载了完全不同的数据集来评估已训练的分类器,您可能根本不想使用 TrainData::setTrainTestSplitRatio 设置测试子集并指定 test=false,以便为整个新集合计算误差。是的,这听起来有点令人困惑。resp
- 可选的输出响应。该方法使用 StatModel::predict 计算误差。对于回归模型,误差计算为 RMS,对于分类器,计算为错误分类样本的百分比 (0%-100%)。- 返回值
- 自动生成
-
predict
public float predict(Mat samples, Mat results, int flags)
预测提供的样本的响应。- 参数
samples
- 输入样本,浮点矩阵results
- 可选的输出结果矩阵。flags
- 可选标志,取决于模型。请参见 cv::ml::StatModel::Flags。- 返回值
- 自动生成
-
predict
public float predict(Mat samples, Mat results)
预测提供的样本的响应。- 参数
samples
- 输入样本,浮点矩阵results
- 可选的输出结果矩阵。- 返回值
- 自动生成
-
predict
public float predict(Mat samples)
预测提供的样本的响应。- 参数
samples
- 输入样本,浮点矩阵- 返回值
- 自动生成
-
-