Member 13760762 Ответов: 0

Почему вы получаете неправильный индекс при сохранении данных в формате libsvm с помощью saveaslibsvmfile


Я хочу сохранить данные в формате libsvm с помощью python. Поэтому я решил использовать pyspark, чтобы закончить эту задачу. Но данные, которые я сохранил, были не в формате libsvm. Вот мой код.

from pyspark.mllib.util import MLUtils
from pyspark.mllib.regression import LabeledPoint
d = c.map(lambda line: LabeledPoint(line[0],[line[1:]])) # c is rdd format
MLUtils.saveAsLibSVMFile(d, "D://spark-warehouse/part1")


Когда я запускаю код print (d.take(3)), он показывает, как выглядит формат LabeledPoint
[LabeledPoint(-0.05643994211287995, [0.0142684401451,-0.0072049689441,-0.929159510172,-0.893124442121,-0.996100725507]), LabeledPoint(-0.02315484804630974, [0.0408706166868,-0.00372670807453,-0.891585462256,-0.839681870708,-0.96168588986]), LabeledPoint(0.03039073806078152, [0.0577992744861,-0.00621118012422,-0.898020043313,-0.847917899172,-0.968368717236])]


Однако, когда я тестировал свои сохраненные данные, они не были в формате libsvm .Он показывает неправильную метку, которая имеет только метку 1.

''.join(sorted(input(glob("D://spark-warehouse/part2" + "/part-0000*")))).
-0.05643994211287995 1:[ 0.01426844 -0.00720497 -0.92915951 -0.89312444 -0.99610073]\n-0.02315484804630974 1:[ 0.04087062 -0.00372671 -0.89158546 -0.83968187 -0.96168589]\n0.03039073806078152 1:[ 0.05779927 -0.00621118 -0.89802004 -0.8479179 -0.96836872]\n


Который должен быть в правильном формате, как показано ниже.

-0.05643994211287995 1:0.01426844 2:-0.00720497 3:-0.92915951 4:-0.89312444 5:-0.99610073]\n ...


И мой питон версии 3.5.2 и pyspark версия 2.0.1. Я искал в течение долгого времени в сети. Но это бесполезно. Пожалуйста, помогите или попробуйте дать некоторые идеи, как этого достичь.

Примечание: Я хочу сделать SVR, поэтому мои индексы не относятся к типу int.

Что я уже пробовал:

Я уже давно ищу в сети. Но это бесполезно. Пожалуйста, помогите или попробуйте дать некоторые идеи, как этого достичь.

0 Ответов