OpenCV中的机器学习算法似乎使用以CSV格式读取的数据。例如参见this cpp file。的数据使用以下代码读入的OpenCV机器学习类CvMLData
:用于OpenCV机器学习算法的CSV格式
CvMLData data;
data.read_csv(filename)
然而,似乎没有成为对CSV文件所需的格式的任何容易获得的文档。有谁知道如何安排CSV文件?
其他(非Opencv)程序通常每个训练示例都有一行,并以整数或字符串开头,指示类标签。
OpenCV中的机器学习算法似乎使用以CSV格式读取的数据。例如参见this cpp file。的数据使用以下代码读入的OpenCV机器学习类CvMLData
:用于OpenCV机器学习算法的CSV格式
CvMLData data;
data.read_csv(filename)
然而,似乎没有成为对CSV文件所需的格式的任何容易获得的文档。有谁知道如何安排CSV文件?
其他(非Opencv)程序通常每个训练示例都有一行,并以整数或字符串开头,指示类标签。
如果我读source for that class,特别是str_to_flt_elem功能,并且class documentation我得出结论:在文件中的具体条目的格式是:
项目1和2仅适用于功能。与第3项相匹配的任何东西都被假定为类别标签,并且据我所能推断出项目的顺序无关紧要。 read_csv函数会自动为csv文件中的每一列指定正确的类型,并且(如果需要)可以用set_response_index覆盖标签。使用分隔符明智的方式,您可以使用默认值(,)或将其设置为任何您喜欢的内容,然后使用set_delimiter(只要您不使用小数点)调用read_csv。
所以这应该工作,例如,6个数据点中的3个教学班,每点3,特点:
A,1.2,3.2e-2,+4.1
A,3.2,?,3.1
B,4.2,,+0.2
B,4.3,2.0e3,.1
C,2.3,-2.1e+3,-.1
C,9.3,-9e2,10.4
您可以将文本标签移动到任何你想要的列,甚至有多个文本标签。
请参阅[本](http://www.opencv.org.cn/opencvdoc/2.3.1/html/modules/ml/doc/mldata.html),除介绍性说明外, CvMLData :: read_csv'获取关于数值/分类值的更多细节。 – fotNelton 2012-02-12 07:04:15
谢谢,我读过它,它给出了一些见解,但并没有真正给出所需文件格式的绝对具体描述,特别是类标签的每一行中的位置,类标签所需的格式(整数,字符串等),特征矢量格式等。 – 2012-02-12 15:44:51