Closed kasyanovse closed 10 months ago
Hello @kasyanovse! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:
There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers:
Code for testing single core use in boosting models:
import numpy as np
from fedot.core.data.data import InputData
from fedot.core.pipelines.node import PipelineNode
from fedot.core.pipelines.pipeline import Pipeline
from fedot.core.repository.dataset_types import DataTypesEnum
from fedot.core.repository.tasks import Task, TaskTypesEnum
length = 1000
width = 10
data_class = InputData(idx=np.arange(length),
features=np.random.rand(length, width),
target=(np.random.rand(length) > 0.5).astype(int),
task=Task(TaskTypesEnum.classification),
data_type=DataTypesEnum.table)
data_reg = InputData(idx=np.arange(length),
features=np.random.rand(length, width),
target=np.random.rand(length),
task=Task(TaskTypesEnum.regression),
data_type=DataTypesEnum.table)
for data, models in zip([data_class, data_reg], [['xgboost', 'catboost', 'lgbm'], ['catboostreg', 'lgbmreg']]):
for model in models:
pipeline = Pipeline(PipelineNode(model))
pipeline.fit(data)
Speed test for AR and ARIMA (for IPython):
import numpy as np
from fedot.core.data.data import InputData
from fedot.core.optimisers.objective import PipelineObjectiveEvaluate, MetricsObjective
from fedot.core.optimisers.objective.data_source_splitter import DataSourceSplitter
from fedot.core.pipelines.node import PipelineNode
from fedot.core.pipelines.pipeline import Pipeline
from fedot.core.repository.dataset_types import DataTypesEnum
from fedot.core.repository.quality_metrics_repository import RegressionMetricsEnum
from fedot.core.repository.tasks import Task, TaskTypesEnum, TsForecastingParams
length = 1000
data = np.random.rand(length)
data = InputData(idx=np.arange(len(data)),
features=data,
target=data,
data_type=DataTypesEnum.ts,
task=Task(TaskTypesEnum.ts_forecasting,
TsForecastingParams(forecast_length=2)))
data_splitter = DataSourceSplitter()
data_split = data_splitter.build(data)
objective_eval = PipelineObjectiveEvaluate(MetricsObjective(RegressionMetricsEnum.RMSE), data_split,
validation_blocks=data_splitter.validation_blocks)
pipeline = Pipeline(PipelineNode('arima'))
%timeit pipeline.fit(data)
%timeit objective_eval.evaluate(pipeline)
pipeline = Pipeline(PipelineNode('ar'))
%timeit pipeline.fit(data)
%timeit objective_eval.evaluate(pipeline)
Merging #1153 (edef65d) into master (97f31db) will increase coverage by
0.02%
. Report is 1 commits behind head on master. The diff coverage is50.00%
.
@@ Coverage Diff @@
## master #1153 +/- ##
==========================================
+ Coverage 78.31% 78.34% +0.02%
==========================================
Files 130 130
Lines 9349 9354 +5
==========================================
+ Hits 7322 7328 +6
+ Misses 2027 2026 -1
Files Changed | Coverage Δ | |
---|---|---|
...edot/api/api_utils/assumptions/task_assumptions.py | 77.19% <ø> (ø) |
|
..._implementations/models/ts_implementations/cgru.py | 26.00% <0.00%> (ø) |
|
fedot/core/pipelines/pipeline.py | 94.70% <ø> (+1.06%) |
:arrow_up: |
fedot/core/pipelines/pipeline_node_factory.py | 97.43% <66.66%> (-2.57%) |
:arrow_down: |
test_result_changing