aimclub / FEDOT

Automated modeling and machine learning framework FEDOT
https://fedot.readthedocs.io
BSD 3-Clause "New" or "Revised" License
623 stars 84 forks source link

only final generation is created for ts task #1117

Closed GrigoriJasnovidov closed 1 year ago

GrigoriJasnovidov commented 1 year ago

Для задачи прогнозирования временных рядов генерируется только первое и последнее поколение. Пример скрипта

import numpy as np import pandas as pd

from fedot.api.main import Fedot from fedot.core.repository.dataset_types import DataTypesEnum from fedot.core.data.data import InputData from fedot.core.repository.tasks import TsForecastingParams, Task, TaskTypesEnum from fedot.core.utils import fedot_project_root

d = pd.read_csv(f'{fedot_project_root()}/examples/data/ts/ts_long.csv') init_series = d[d['series_id'] =='temp']['value'].to_numpy()

horizon = 200 start = 1 end = 2000

ts = init_series[start:end] ts_test = init_series[end:end+horizon]

task = Task(TaskTypesEnum.ts_forecasting, TsForecastingParams(forecast_length=horizon)) idx = np.array(range(len(np.array(ts))))

train_input = InputData(idx=idx,features=ts, target=ts, task=task, data_type=DataTypesEnum.ts)

model = Fedot(problem='ts_forecasting',task_params=task.task_params,timeout=3,seed=100,preset='ts',show_progress=False)

model.fit(train_input) print(model.history.individuals)

nicl-nno commented 1 year ago

Для задачи прогнозирования временных рядов генерируется только первое и последнее поколение. Пример скрипта

Значит ли это, что проходит всего два поколения? Или в процессе оптимизации их больше, а в итоговой истории только два?

GrigoriJasnovidov commented 1 year ago

Да именно так и было. Это вылечилось обновлением голема.