TrainData 类
- java.lang.Object
-
- org.opencv.ml.TrainData
-
public class TrainData extends java.lang.Object
封装训练数据的类。请注意,该类仅指定训练数据的接口,而不指定实现。_ml_模块中的所有统计模型类都接受Ptr<TrainData>作为参数。换句话说,您可以创建自己的从TrainData派生的类,并将指向此类实例的智能指针传递到StatModel::train。参见:参考:ml_intro_data
-
-
字段摘要
字段 修饰符和类型 字段 描述 protected long
nativeObj
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protected
TrainData(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static TrainData
__fromPtr__(long addr)
static TrainData
create(Mat samples, int layout, Mat responses)
从内存数组创建训练数据。static TrainData
create(Mat samples, int layout, Mat responses, Mat varIdx)
从内存数组创建训练数据。static TrainData
create(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx)
从内存数组创建训练数据。static TrainData
create(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx, Mat sampleWeights)
从内存数组创建训练数据。static TrainData
create(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx, Mat sampleWeights, Mat varType)
从内存数组创建训练数据。protected void
finalize()
int
getCatCount(int vi)
Mat
getCatMap()
Mat
getCatOfs()
Mat
getClassLabels()
返回类标签向量。该函数返回在响应中出现的唯一标签向量。Mat
getDefaultSubstValues()
int
getLayout()
Mat
getMissing()
int
getNAllVars()
void
getNames(java.util.List<java.lang.String> names)
返回在loadFromCSV()中捕获的符号名称向量long
getNativeObjAddr()
Mat
getNormCatResponses()
int
getNSamples()
int
getNTestSamples()
int
getNTrainSamples()
int
getNVars()
Mat
getResponses()
int
getResponseType()
void
getSample(Mat varIdx, int sidx, float buf)
Mat
getSamples()
Mat
getSampleWeights()
static Mat
getSubMatrix(Mat matrix, Mat idx, int layout)
从由传递的索引指定的矩阵行/列中提取。static Mat
getSubVector(Mat vec, Mat idx)
从由传递的索引指定的1D向量元素中提取。Mat
getTestNormCatResponses()
Mat
getTestResponses()
Mat
getTestSampleIdx()
Mat
getTestSamples()
返回测试样本矩阵Mat
getTestSampleWeights()
Mat
getTrainNormCatResponses()
返回归一化类别响应向量。该函数返回响应向量。Mat
getTrainResponses()
返回响应向量。该函数返回有序的或原始的类别响应。Mat
getTrainSampleIdx()
Mat
getTrainSamples()
返回转置的训练样本矩阵。Mat
getTrainSamples(int layout)
返回训练样本矩阵Mat
getTrainSamples(int layout, boolean compressSamples)
返回训练样本矩阵Mat
getTrainSamples(int layout, boolean compressSamples, boolean compressVars)
返回训练样本矩阵Mat
getTrainSampleWeights()
void
getValues(int vi, Mat sidx, float values)
Mat
getVarIdx()
Mat
getVarSymbolFlags()
Mat
getVarType()
void
setTrainTestSplit(int count)
将训练数据拆分为训练部分和测试部分。参见:TrainData::setTrainTestSplitRatiovoid
setTrainTestSplit(int count, boolean shuffle)
将训练数据拆分为训练部分和测试部分。参见:TrainData::setTrainTestSplitRatiovoid
setTrainTestSplitRatio(double ratio)
将训练数据拆分为训练部分和测试部分。该函数选择指定相对大小的子集,然后将其作为训练集返回。void
setTrainTestSplitRatio(double ratio, boolean shuffle)
将训练数据拆分为训练部分和测试部分。该函数选择指定相对大小的子集,然后将其作为训练集返回。void
shuffleTrainTest()
-
-
-
方法详情
-
getNativeObjAddr
public long getNativeObjAddr()
-
__fromPtr__
public static TrainData __fromPtr__(long addr)
-
getLayout
public int getLayout()
-
getNTrainSamples
public int getNTrainSamples()
-
getNTestSamples
public int getNTestSamples()
-
getNSamples
public int getNSamples()
-
getNVars
public int getNVars()
-
getNAllVars
public int getNAllVars()
-
getSample
public void getSample(Mat varIdx, int sidx, float buf)
-
getSamples
public Mat getSamples()
-
getMissing
public Mat getMissing()
-
getTrainSamples
public Mat getTrainSamples(int layout, boolean compressSamples, boolean compressVars)
返回训练样本矩阵- 参数
layout
- 请求的布局。如果它与初始布局不同,则矩阵将被转置。参见 ml::SampleTypes。compressSamples
- 如果为真,则函数只返回训练样本(由 sampleIdx 指定)compressVars
- 如果为真,则函数将返回较短的训练样本,其中只包含活动变量。在当前实现中,该函数试图避免物理数据复制,并返回 TrainData 中存储的矩阵(除非需要转置或压缩)。- 返回
- 自动生成
-
getTrainSamples
public Mat getTrainSamples(int layout, boolean compressSamples)
返回训练样本矩阵- 参数
layout
- 请求的布局。如果它与初始布局不同,则矩阵将被转置。参见 ml::SampleTypes。compressSamples
- 如果为真,则函数只返回训练样本(由 sampleIdx 指定)活动变量。在当前实现中,该函数试图避免物理数据复制,并返回 TrainData 中存储的矩阵(除非需要转置或压缩)。- 返回
- 自动生成
-
getTrainSamples
public Mat getTrainSamples(int layout)
返回训练样本矩阵- 参数
layout
- 请求的布局。如果它与初始布局不同,则矩阵将被转置。参见 ml::SampleTypes。sampleIdx) 活动变量。在当前实现中,该函数尝试避免物理数据复制,并返回 TrainData 内部存储的矩阵(除非需要转置或压缩)。- 返回
- 自动生成
-
getTrainSamples
public Mat getTrainSamples()
返回转置后的训练样本矩阵。参见 ml::SampleTypes。sampleIdx) 活动变量。在当前实现中,该函数尝试避免物理数据复制,并返回 TrainData 内部存储的矩阵(除非需要转置或压缩)。- 返回
- 自动生成
-
getTrainResponses
public Mat getTrainResponses()
返回响应向量。该函数返回有序的或原始的分类响应。通常用于回归算法。- 返回
- 自动生成
-
getTrainNormCatResponses
public Mat getTrainNormCatResponses()
返回归一化的分类响应向量。该函数返回响应向量。每个响应都是从0
到<类别数>-1
的整数。然后可以从类别标签向量中检索实际标签值,参见 TrainData::getClassLabels。- 返回
- 自动生成
-
getTestResponses
public Mat getTestResponses()
-
getTestNormCatResponses
public Mat getTestNormCatResponses()
-
getResponses
public Mat getResponses()
-
getNormCatResponses
public Mat getNormCatResponses()
-
getSampleWeights
public Mat getSampleWeights()
-
getTrainSampleWeights
public Mat getTrainSampleWeights()
-
getTestSampleWeights
public Mat getTestSampleWeights()
-
getVarIdx
public Mat getVarIdx()
-
getVarType
public Mat getVarType()
-
getVarSymbolFlags
public Mat getVarSymbolFlags()
-
getResponseType
public int getResponseType()
-
getTrainSampleIdx
public Mat getTrainSampleIdx()
-
getTestSampleIdx
public Mat getTestSampleIdx()
-
getValues
public void getValues(int vi, Mat sidx, float values)
-
getDefaultSubstValues
public Mat getDefaultSubstValues()
-
getCatCount
public int getCatCount(int vi)
-
getClassLabels
public Mat getClassLabels()
返回类标签向量。该函数返回在响应中出现的唯一标签向量。- 返回
- 自动生成
-
getCatOfs
public Mat getCatOfs()
-
getCatMap
public Mat getCatMap()
-
setTrainTestSplit
public void setTrainTestSplit(int count, boolean shuffle)
将训练数据拆分为训练部分和测试部分。参见:TrainData::setTrainTestSplitRatio- 参数
count
- 自动生成shuffle
- 自动生成
-
setTrainTestSplit
public void setTrainTestSplit(int count)
将训练数据拆分为训练部分和测试部分。参见:TrainData::setTrainTestSplitRatio- 参数
count
- 自动生成
-
setTrainTestSplitRatio
public void setTrainTestSplitRatio(double ratio, boolean shuffle)
将训练数据分割成训练部分和测试部分。该函数选择一个指定相对大小的子集,然后将其作为训练集返回。如果未调用此函数,则所有数据都用于训练。请注意,对于每个 TrainData::getTrain\*,都有对应的 TrainData::getTest\*,以便可以检索和处理测试子集。参见:TrainData::setTrainTestSplit- 参数
ratio
- 自动生成shuffle
- 自动生成
-
setTrainTestSplitRatio
public void setTrainTestSplitRatio(double ratio)
将训练数据分割成训练部分和测试部分。该函数选择一个指定相对大小的子集,然后将其作为训练集返回。如果未调用此函数,则所有数据都用于训练。请注意,对于每个 TrainData::getTrain\*,都有对应的 TrainData::getTest\*,以便可以检索和处理测试子集。参见:TrainData::setTrainTestSplit- 参数
ratio
- 自动生成
-
shuffleTrainTest
public void shuffleTrainTest()
-
getTestSamples
public Mat getTestSamples()
返回测试样本矩阵- 返回
- 自动生成
-
getNames
public void getNames(java.util.List<java.lang.String> names)
返回在loadFromCSV()中捕获的符号名称向量- 参数
names
- 自动生成
-
getSubVector
public static Mat getSubVector(Mat vec, Mat idx)
从由传递的索引指定的1D向量元素中提取。- 参数
vec
- 输入向量(支持类型:CV_32S、CV_32F、CV_64F)idx
- 一维索引向量- 返回
- 自动生成
-
getSubMatrix
public static Mat getSubMatrix(Mat matrix, Mat idx, int layout)
从由传递的索引指定的矩阵行/列中提取。- 参数
matrix
- 输入矩阵(支持类型:CV_32S、CV_32F、CV_64F)idx
- 一维索引向量layout
- 指定提取行 (cv::ml::ROW_SAMPLES) 还是提取列 (cv::ml::COL_SAMPLES)- 返回
- 自动生成
-
create
public static TrainData create(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx, Mat sampleWeights, Mat varType)
从内存数组创建训练数据。- 参数
samples
- 样本矩阵。它应该具有 CV_32F 类型。layout
- 请参见 ml::SampleTypes。responses
- 响应矩阵。如果响应是标量,则应将其存储为单行或单列。矩阵应具有 CV_32F 或 CV_32S 类型(在前一种情况下,响应默认情况下被认为是有序的;在后一种情况下 - 作为分类的)varIdx
- 指定用于训练的变量的向量。它可以是一个包含基于 0 的变量索引的整数向量 (CV_32S),也可以是一个包含活动变量掩码的字节向量 (CV_8U)。sampleIdx
- 指定用于训练的样本的向量。它可以是一个包含基于 0 的样本索引的整数向量 (CV_32S),也可以是一个包含训练样本掩码的字节向量 (CV_8U)。sampleWeights
- 每个样本的可选权重向量。它应该具有 CV_32F 类型。varType
- 可选的 CV_8U 类型向量,大小为<样本中变量数> + <响应中变量数>
,包含每个输入和输出变量的类型。参见 ml::VariableTypes。- 返回
- 自动生成
-
create
public static TrainData create(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx, Mat sampleWeights)
从内存数组创建训练数据。- 参数
samples
- 样本矩阵。它应该具有 CV_32F 类型。layout
- 请参见 ml::SampleTypes。responses
- 响应矩阵。如果响应是标量,则应将其存储为单行或单列。矩阵应具有 CV_32F 或 CV_32S 类型(在前一种情况下,响应默认情况下被认为是有序的;在后一种情况下 - 作为分类的)varIdx
- 指定用于训练的变量的向量。它可以是一个包含基于 0 的变量索引的整数向量 (CV_32S),也可以是一个包含活动变量掩码的字节向量 (CV_8U)。sampleIdx
- 指定用于训练的样本的向量。它可以是一个包含基于 0 的样本索引的整数向量 (CV_32S),也可以是一个包含训练样本掩码的字节向量 (CV_8U)。sampleWeights
- 每个样本的可选权重向量。它应该具有 CV_32F 类型。<响应中变量数>
,包含每个输入和输出变量的类型。参见 ml::VariableTypes。- 返回
- 自动生成
-
create
public static TrainData create(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx)
从内存数组创建训练数据。- 参数
samples
- 样本矩阵。它应该具有 CV_32F 类型。layout
- 请参见 ml::SampleTypes。responses
- 响应矩阵。如果响应是标量,则应将其存储为单行或单列。矩阵应具有 CV_32F 或 CV_32S 类型(在前一种情况下,响应默认情况下被认为是有序的;在后一种情况下 - 作为分类的)varIdx
- 指定用于训练的变量的向量。它可以是一个包含基于 0 的变量索引的整数向量 (CV_32S),也可以是一个包含活动变量掩码的字节向量 (CV_8U)。sampleIdx
- 指定用于训练的样本的向量。它可以是一个包含基于 0 的样本索引的整数向量 (CV_32S),也可以是一个包含训练样本掩码的字节向量 (CV_8U)。<响应中变量数>
,包含每个输入和输出变量的类型。参见 ml::VariableTypes。- 返回
- 自动生成
-
create
public static TrainData create(Mat samples, int layout, Mat responses, Mat varIdx)
从内存数组创建训练数据。- 参数
samples
- 样本矩阵。它应该具有 CV_32F 类型。layout
- 请参见 ml::SampleTypes。responses
- 响应矩阵。如果响应是标量,则应将其存储为单行或单列。矩阵应具有 CV_32F 或 CV_32S 类型(在前一种情况下,响应默认情况下被认为是有序的;在后一种情况下 - 作为分类的)varIdx
- 指定用于训练的变量的向量。它可以是一个包含基于 0 的变量索引的整数向量 (CV_32S),也可以是一个包含活动变量掩码的字节向量 (CV_8U)。向量 (CV_32S) 包含基于 0 的样本索引,或者字节向量 (CV_8U) 包含训练样本掩码。<响应中变量数>
,包含每个输入和输出变量的类型。参见 ml::VariableTypes。- 返回
- 自动生成
-
create
public static TrainData create(Mat samples, int layout, Mat responses)
从内存数组创建训练数据。- 参数
samples
- 样本矩阵。它应该具有 CV_32F 类型。layout
- 请参见 ml::SampleTypes。responses
- 响应矩阵。如果响应是标量,则应将其存储为单行或单列。矩阵应具有 CV_32F 或 CV_32S 类型(在前一种情况下,响应默认情况下被认为是有序的;在后一种情况下 - 作为分类的)(CV_32S)包含基于 0 的变量索引,或者字节向量 (CV_8U) 包含活动变量掩码。向量 (CV_32S) 包含基于 0 的样本索引,或者字节向量 (CV_8U) 包含训练样本掩码。<响应中变量数>
,包含每个输入和输出变量的类型。参见 ml::VariableTypes。- 返回
- 自动生成
-
finalize
protected void finalize() throws java.lang.Throwable
- 重写
- 类
java.lang.Object
中的finalize
- 抛出
java.lang.Throwable
-
-