类 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 longnativeObj
-
构造函数摘要
构造函数 修饰符 构造函数 描述 保护TrainData(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static TrainData__fromPtr__(long addr)static TrainDatacreate(Mat samples, int layout, Mat responses)从内存数组创建训练数据。static TrainDatacreate(Mat samples, int layout, Mat responses, Mat varIdx)从内存数组创建训练数据。static TrainDatacreate(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx)从内存数组创建训练数据。static TrainDatacreate(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx, Mat sampleWeights)从内存数组创建训练数据。static TrainDatacreate(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx, Mat sampleWeights, Mat varType)从内存数组创建训练数据。protected voidfinalize()intgetCatCount(int vi)MatgetCatMap()MatgetCatOfs()MatgetClassLabels()返回类别标签向量。该函数返回响应中出现的唯一标签向量。MatgetDefaultSubstValues()intgetLayout()MatgetMissing()intgetNAllVars()voidgetNames(java.util.List<java.lang.String> names)返回 loadFromCSV() 中捕获的符号名称向量longgetNativeObjAddr()MatgetNormCatResponses()intgetNSamples()intgetNTestSamples()intgetNTrainSamples()intgetNVars()MatgetResponses()intgetResponseType()voidgetSample(Mat varIdx, int sidx, float buf)MatgetSamples()MatgetSampleWeights()static MatgetSubMatrix(Mat matrix, Mat idx, int layout)从矩阵中提取由传入索引指定的行/列。static MatgetSubVector(Mat vec, Mat idx)从一维向量中提取由传入索引指定的元素。MatgetTestNormCatResponses()MatgetTestResponses()MatgetTestSampleIdx()MatgetTestSamples()返回测试样本矩阵MatgetTestSampleWeights()MatgetTrainNormCatResponses()返回归一化分类响应向量。该函数返回响应向量。MatgetTrainResponses()返回响应向量。该函数返回有序或原始的分类响应。MatgetTrainSampleIdx()MatgetTrainSamples()返回转置的训练样本矩阵。MatgetTrainSamples(int layout)返回训练样本矩阵MatgetTrainSamples(int layout, boolean compressSamples)返回训练样本矩阵MatgetTrainSamples(int layout, boolean compressSamples, boolean compressVars)返回训练样本矩阵MatgetTrainSampleWeights()voidgetValues(int vi, Mat sidx, float values)MatgetVarIdx()MatgetVarSymbolFlags()MatgetVarType()voidsetTrainTestSplit(int count)将训练数据分为训练部分和测试部分。参见:TrainData::setTrainTestSplitRatiovoidsetTrainTestSplit(int count, boolean shuffle)将训练数据分为训练部分和测试部分。参见:TrainData::setTrainTestSplitRatiovoidsetTrainTestSplitRatio(double ratio)将训练数据分为训练和测试部分。该函数选择指定相对大小的子集,然后将其作为训练集返回。voidsetTrainTestSplitRatio(double ratio, boolean shuffle)将训练数据分为训练和测试部分。该函数选择指定相对大小的子集,然后将其作为训练集返回。voidshuffleTrainTest()
-
-
-
方法详细信息
-
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- 如果为 true,则函数仅返回训练样本(由 sampleIdx 指定)compressVars- 如果为 true,则函数返回较短的训练样本,仅包含活动变量。在当前实现中,函数尝试避免物理数据复制,并返回存储在 TrainData 内部的矩阵(除非需要转置或压缩)。- 返回
- 自动生成
-
getTrainSamples
public Mat getTrainSamples(int layout, boolean compressSamples)
返回训练样本矩阵- 参数
layout- 请求的布局。如果与初始布局不同,则矩阵将被转置。参见 ml::SampleTypes。compressSamples- 如果为 true,则函数仅返回训练样本(由 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)
从一维向量中提取由传入索引指定的元素。- 参数
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- 重写
finalize在类java.lang.Object中- 抛出
java.lang.Throwable
-
-