我正在尝试将arff文件转换为我项目中的libsvm文件,所以任何人都可以帮我这样做,谢谢你提前
答案 0 :(得分:4)
我编写了自己的python脚本来完成这项工作:
import sys
if(len(sys.argv) < 3):
print("usage: ./python convertToSVM.py inputfilename outputfilename")
#print sys.argv[1]
inputfilename = sys.argv[1]
fin = open(inputfilename,'r')
lines = fin.readlines()
fin.close()
outputfilename = sys.argv[2]
fout = open(outputfilename,'w')
beginToRead = False
for line in lines:
if beginToRead == True:
if len(line) > 5:# not an empty line
#read this line
dataList = line.split(',')
resultLine = ''
resultLine += dataList[-1].strip()
resultLine += ' '
for i in range(1,len(dataList)-1):
resultLine += str(i)
resultLine += (":"+dataList[i]+" ")
#print(resultLine)
fout.write(resultLine+"\n")
if line[0:5] == '@data':
beginToRead = True
fout.close()
此脚本可以将此website中指定的此类weka ARFF文件转换为此website中指定的LIBSVM文件。我希望这个脚本可以帮助你。
要使用此脚本,请在终端中输入:
./python convertToSVM.py inputfilename outputfilename
inputfilename是输入ARFF文件,outputfilename是输出libsvm文件的文件名。
答案 1 :(得分:1)