Как открыть окно make_csv_dataset()Python

Программы на Python
Ответить
Anonymous
 Как открыть окно make_csv_dataset()

Сообщение Anonymous »


Я пытаюсь преобразовать некоторые данные из файла csv в окно для обучения временным рядам, но когда я создаю набор данных из make_csv_dataset() и пытаюсь преобразовать его в окно:

def window_data(self, data_ds, window_size, сдвиг): data_ds = data_ds.window(размер_окна, сдвиг=сдвиг, drop_remainder=True).flat_map( лямбда x: x.batch(300, drop_remainder=True)) вернуть данные_ds Это не работает, и далее вы видите, что я пытался это согласовать. Но, похоже, мне дали PrefetchDataset из функции make_csv_function. Вот все это распечатано: Нужна ли мне какая-то распаковка, чтобы открыть окно? Причина, по которой я не использую набор данных Pandas, заключается в том, что он слишком велик для моей оперативной памяти.

По сути, моя проблема заключается в том, что я не могу правильно просмотреть его и использовать в качестве пакетного набора данных, который может поместиться в мою память по одному фрагменту за раз.

При запуске функции window_data() я получаю следующее сообщение об ошибке: `TypeError: в коде пользователя:

TypeError: external_factory..inner_factory..() принимает 1 позиционный аргумент, но заданы 2` Если я добавлю в лямбду еще одну переменную для устранения последней ошибки, я получу такой код:

data_ds = data_ds.window(window_size,shift=shift, drop_remainder=True).flat_map( лямбда x, y: x.batch(300, drop_remainder=True)) Наконец, это работает, если я использую y.batch(), но если я использую x.batch(), мне дается следующее: AttributeError: объект «collections.OrderedDict» не имеет атрибута «batch»

Когда он успешно завершается с помощью y, я получаю этот набор FlatMapDataset с формой 300, когда это должно быть (строки, 300, 16).

Этот код выводит правильные значения для пакета из 2 штук (только 2 пакета для удобства тестирования):

для пакета, метка в self.data_ds.take(1): для ключа значение в пакете.items(): print(f"""{key:20s}: {value}""") print(f"""{'label':20s}: {label}""") И результат будет именно таким, каким он должен быть:

закрыть: [1.08432 1.08432] объем: [0,9 0,9] изменение цены : [0. 0.] смa: [1.0843693 1.0843579] macd: [-1.1817355e-05 -1.3658963e-05] macdsignal: [2.8224192e-06 -4.7385743e-07] macdhist: [-1.4639773e-05 -1.3185107e-05] верхняя полоса: [1.0843611 1.0843513] средняя полоса: [1.084334 1.084328] нижняя полоса: [1.0843068 1.0843047] рси: [34.758636 34.758636] медленный: [-9.4739034e-15 -9.4739034e-15] замедлено: [22.222221 7.4074073] cci: [-79.432625 -81.58508] ADX: [52.57429 50.354332] atr: [1.6490874e-05 1.5312955e-05] этикетка: [1. 1.]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»