3

タブ区切りのデータファイルをlibSVMデータ形式に変換するスクリプトはありますか?ラベルのないデータの例:

-1 9.45 1.44 8.90
-1 8.12 7.11 8.90
-1 8.11 6.12 8.78

そして、各値にラベルを付けたいと思います。

-1 1:9.45 2:1.44 3:8.90
-1 1:8.12 2:7.11 3:8.90
-1 1:8.11 2:6.12 3:8.78

これはsedまたはawkを使用して実行できると思いますが、実行方法がわかりません。

ありがとう!

4

3 に答える 3

3

これを試してみてください:

awk '{out=$1; for (i=2; i<=NF; i++) {out=out"\t"i-1":"$i} {print out}}' inputfile
于 2010-01-01T00:55:05.847 に答える
2
$ awk -F'\t' '{for(i=2;i<=NF;i++){$i=i-1":"$i;} }1' OFS='\t' file
-1 1:9.45 2:1.44 3:8.90
-1 1:8.12 2:7.11 3:8.90
-1 1:8.11 2:6.12 3:8.78
于 2010-01-01T01:04:19.407 に答える
1

Rubyを使用できます。

labels = File.open('labels.txt','r').map{|line| line.split}.flatten
data = File.open('data.txt','r').map{|line| line.split}.flatten.drop(1)
puts labels.zip(data).map{|pair| pair.join(':')}.join(' ')
于 2010-01-01T00:25:06.990 に答える