如何在 python 中为 sklearn dump_svmlight_file 指定特征名称?

How to specify feature name for sklearn dump_svmlight_file in python?

文档: https://scikit-learn.org/stable/modules/generated/sklearn.datasets.dump_svmlight_file.html

svmlight遵循数据格式:

<target> <feature:value> <feature:value>

附数据:

a = [[1,2,3],[4,5,6]]
b = [8,9]

运行命令:

dump_svmlight_file(a,b,'test.txt')

输出如下:

8 0:1 1:2 2:3
9 0:4 1:5 2:6

我想知道是否有一种方法可以指定特征名称而不是让它从 0 开始递增,我希望得到如下结果:

1 10:5 50:15 100:50
0 10:15 25:5 75:15
1 20:5 40:5 60:5

dump_svmlight_file命令有这样的能力吗?

没有。 dump_svmlight_file 没有内置该选项。Source code

您可以使用参数 zero_based 指定特征名称是从 0 还是 1 开始。 Documentation

我建议您不要尝试转储具有实际功能名称的文件,这会不必要地增加文件的大小。取而代之的是将您的功能名称腌制为一个单独的名称,然后加入它们。