LibSVM 是否接受科学格式的浮点数?
带有...的功能
index: 4
value: 1.04515435733819E-05
......看起来像这样:
4:1.04515435733819E-05
我有一个大型培训文件,其中包含浮点值,其指数范围从-06
到+31
。
(注意:我关注特征值的格式
我知道培训文件的格式,即:label index:value index:value ...
)
我正在使用 Visual C ++ 2010 ,我正在使用value
和String
类将StreamWriter
写入文件。
答案 0 :(得分:3)
鉴于 LibSVM ( v3.16 )使用stdlib
的{{1}}函数来读取功能值,它应接受 double strtod(const char *, char **)
可以阅读的所有符号。
(顺便说一句,标签也是如此,从下面的代码片段中可以看出,也可以是浮点数。)
有问题的代码可以在strtod()
来自 LibSVM 的源代码分发中的void read_problem(const char *filename)
文件中找到。
这是svm-train.c
的相关部分的简化版本:
read_problem(...)