Как не смешивать данные CSV в образце, используя tf.data.experimental.CsvDatasetPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Как не смешивать данные CSV в образце, используя tf.data.experimental.CsvDataset

Сообщение Гость »


У меня возникли проблемы с управлением скольжением окон и tf.data.experimental.CsvDataset, чтобы получить идеальный набор данных LSTM.

Моя цель — создать набор данных временных рядов для базы LSTM на основе множества файлов csv.

Каждый CSV-файл = данные одного конкретного сайта. По этой причине мне необходимо убедиться, что данные с нескольких сайтов (CSV) не смешиваются по выборке.

Мой код работает от начала до конца, за исключением смешивания данных внутри образца:

def load_my_csv(путь): вернуть tf.data.experimental.CsvDataset( путь, Record_defaults=[tf.int32]*6, заголовок = Истина, field_delim=',', select_cols=[1,2,3,4,5,6] ) # перечислим все файлы csv и загрузим их list_csv=tf.data.Dataset.list_files(test_samples + '*.csv',shuffle=False) набор данных = list_csv.interleave (load_my_csv, Cycle_length = 1) # превращаем мои данные в данные последовательности таймсерий ds = ds.map(лямбда *items: tf.stack(items)) ds = ds.window(длина_входной_последовательности + длина_выходной_последовательности, сдвиг=1, drop_remainder=True) ds = ds.flat_map(лямбда x: x).batch(input_sequence_length + output_sequence_length) print_dataset (дс) на основе этих фиктивных данных

x1,x2,x3,x4,y,yy,yyy 1,11,111,11111,-1,-11,-111 2,22,222,2222,-2,-22,-222 3,33,333,3333,-3,-33,-333 4,44,444,4444,-4,-44,-444 5,55,555,5555,-5,-55,-555 6,66,666,6666,-6,-66,-666 7,77,777,7777,-7,-77,-777 8,88,888,8888,-8,-88,-888 9,99,999,9999,-9,-99,-999 мой код правильно обрабатывает данные, как в этом примере:

array([[[ 22., 222., 2222.], [ 33., 333., 3333.], [ 44., 444., 4444.], [ 55., 555., 5555.], [ 66., 666., 6666.]]] но в некоторых примерах я получаю смесь CSV (конец одного и начало следующего, вот так:

array([[[ 88., 888., 8888.], [99., 999., 9999.], [ 11., 111., 1111.], [ 22., 222., 2222.], [ 33., 333., 3333.]]] Насколько я понимаю, набор данных непрерывно отображает все мои файлы .csv и создает в нем окна, не зная, где начинается и заканчивается CSV.

Как предотвратить смешивание двух CSV-файлов в одной выборке? Я новичок в data.dataset и трачу много времени на создание этого рабочего кода, но я действительно застрял в этом вопросе.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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