如何在 python 中为 sklearn dump_svmlight_file 指定功能名称?

Posted

技术标签:

【中文标题】如何在 python 中为 sklearn dump_svmlight_file 指定功能名称?【英文标题】:How to specify feature name for sklearn dump_svmlight_file in python? 【发布时间】:2019-06-11 14:34:53 【问题描述】:

文档: 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 命令有这样的能力吗?

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于如何在 python 中为 sklearn dump_svmlight_file 指定功能名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 sklearn:: LGBMClassifier() 中为 LightGBM 分类器的 feature_importances_ 中设置“增益”作为特征重要性度量

Sklearn:是不是可以在 OneHotEncoder 中为未知类别指定 null 或 NaN 值?

sklearn OneHotEncoder 与 ColumnTransformer 导致稀疏矩阵代替创建假人

如何使用 sklearn 训练算法对数据点进行加权

如何下载 sklearn 的数据集? - Python

python:如何在sklearn中使用逻辑回归系数构建决策边界