MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   在matlab中转换输入文件以添加值,或替换并将其保存到其他文件 (https://www.labfans.com/bbs/showthread.php?t=26395)

poster 2019-12-14 20:13

在matlab中转换输入文件以添加值,或替换并将其保存到其他文件
 
我正在使用[URL="http://www.csie.ntu.edu.tw/~cjlin/libsvm/"]libsvm[/URL] ,并且想要训练一些数据,这里的问题是,libsvm以特殊格式询问输入模式。

设为我的文件:

72,0,5.6431,28.19,34.398,0.00662,3.38005,0.00401,0.00317,0.01204,0.02565,1 58,0,5.8600,77.7 ,19.317,0.00793,6.39105,0.00379,0.00385,0.01136,0.03751,2 哪里
[LIST][*]第一行的最后一个“ 1”(最后一列)表示该类[*]第二行的最后一个“ 2”(最后一列)表示其他类[/LIST]设为libsvm要求的格式(取自heart_scale示例文件):

+1 1:0.708333 2:1 3:1 4:-0.320755 5:-0.105023 6:-1 7:1 8:-0.419847 9:-1 10:-0.225806 12:1 13:-1 -1 1:0.583333 2:-1 3:0.333333 4:-0.603774 5:1 6:-1 7:1 8:0.358779 9:-1 10:-0.483871 12:-1 13:1 +1 1:0.166667 2:1 3:-0.333333 4:-0.433962 5:-0.383562 6:-1 7:-1 8:0.0687023 9:-1 10:-0.903226 11:-1 12:-1 13:1 您如何加载或以libsvm格式放入输入文件?或将第一列更改为最后一列?,将“,”更改为列号,将“:” ??更改为我忘了说libsvm的第一列代表该类...



[B]回答:[/B]

Libsvm提供了一个C代码,您可以对其进行编译和使用,以轻松地将功能转换为libsvm格式。 (下载链接: [URL="http://www.csie.ntu.edu.tw/~cjlin/libsvm/faqfiles/convert.c"]http[/URL] : [URL="http://www.csie.ntu.edu.tw/~cjlin/libsvm/faqfiles/convert.c"]//www.csie.ntu.edu.tw/~cjlin/libsvm/faqfiles/convert.c[/URL] )但是,在这种情况下,您必须首先将类ID(1-2)放在开头每个文件。输入文本文件的每一行应如下所示:0,-6.5012,-2.874

第一个值是类标签,其余的是要素值。

./convert_compiled feat.txt> svm_format_feat.txt

相应的输出行将是:

0 1:-6.501200 2:-2.874000



[url=https://stackoverflow.com/questions/5073125]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 03:00

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.