Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.4 #114

Merged
merged 110 commits into from
Feb 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
9a8047c
data convertor for industrial architecture
Oct 16, 2023
71475e0
add minirocket_features, add nn_data_convertor
Oct 17, 2023
d130535
add minirocket_features as Pipeline Node. Add decorators for data pre…
Oct 19, 2023
929a94d
add decorators for data proccesing, minor fixes in stats mode
Oct 23, 2023
74a54c2
add InceptionModel as Fedot node. Minor fixes
Nov 7, 2023
1eb2c8a
add OmiScaleModel. Reafcatoring architecture. Add NN layers, losses.
Nov 8, 2023
452909b
Add example for InceptionTime. Fix with class encodings by Pytorch
Nov 8, 2023
02ed789
Add example Transformes for TS. Minor refactoring
Nov 8, 2023
0d115e6
Add multimomodal NN example. Add resnet for TS
Nov 10, 2023
15f063a
Add repo for constant values. Refactoring
Nov 14, 2023
e2c9d9c
Add explain method for XCM and Reccurence. Add example for arctic_sea
Nov 16, 2023
9a4e0b8
Add patch_tst transformer. Huge refactoring
Nov 22, 2023
0531c71
Add feature filtration node
Nov 28, 2023
3f111ae
Add torch losses to constant
Nov 28, 2023
b3c0d29
merge all feature filtration in 1 file
Nov 28, 2023
9228cde
fixes in predict output
Nov 28, 2023
c2d2de9
add transfomers for composing
Dec 1, 2023
80b5841
fixes in indexing for predict_fit_stage in patch_tst and ssa_forecaster
Dec 4, 2023
f455549
industrial adaptation for multriclassification and multiregression ts…
Dec 5, 2023
12bb081
refactor api, fixes in model, refactor example
Dec 8, 2023
1ab8963
refactor industrial preproc strategy, update repo constant, add decor…
Dec 11, 2023
c4ca5ea
refactor industrial preproc strategy, update repo constant
Dec 12, 2023
bf81721
refactor minirocket for multichanel, add early stop
Dec 12, 2023
1b48d21
add Industrial mutation
Dec 14, 2023
8b5b591
add benchmarks. fix issue with custom model
Dec 15, 2023
803c2ff
add benchmarks. refactoring API
Dec 19, 2023
174f38b
add uni and multi clf bench
Dec 19, 2023
71e68ce
minor
Dec 19, 2023
4139549
pre-release
Dec 21, 2023
418747c
pre-release fixes in extractors and industrial repo init
Dec 22, 2023
fc8d725
fix shaope
Dec 22, 2023
732bde9
fix in fourier basis
Dec 22, 2023
f1f52b1
fix in f1 metric
Dec 25, 2023
bde64c9
fix in f1 metric minor
Dec 25, 2023
81d552e
fix in operation_predict
Dec 25, 2023
a364d40
RAF algo implement
Dec 25, 2023
fc4cef3
fix ImageDataMerger
Dec 28, 2023
ad40893
refactor industrial strategy
Dec 30, 2023
f638690
fix compsing errors, rebase on fedot main, refactoring, exclude topo …
Jan 9, 2024
f3ee061
fix quantile extractor params
Jan 9, 2024
fe50bb0
remove topo features and cat features, add batch size to RAF algo
Jan 11, 2024
953e177
add dask as backed, refactoring examples, imports, constanst_repository
Jan 16, 2024
3774f40
update for fedot 0.7.3, fixes in model_repository.py
Jan 16, 2024
a4c6861
fixed imports and pep8 issues
technocreep Jan 16, 2024
29cfac7
fixed requirements
technocreep Jan 16, 2024
c3b28f0
Merge remote-tracking branch 'origin/release_0.4' into release_0.4
technocreep Jan 16, 2024
88c30c7
fixes
valer1435 Jan 18, 2024
5c63f85
merged
valer1435 Jan 18, 2024
f49972e
new init files
valer1435 Jan 18, 2024
9395e71
move init_input_data to utils
valer1435 Jan 18, 2024
37e539c
delete links to examples
valer1435 Jan 18, 2024
9eabc24
add __init__
valer1435 Jan 18, 2024
404cbbd
fix missed import
valer1435 Jan 18, 2024
351af04
fix missed import x2
valer1435 Jan 18, 2024
e460913
fix missed import x3
valer1435 Jan 18, 2024
1a3f498
add Ind mutations
valer1435 Jan 18, 2024
552ca10
fix
valer1435 Jan 18, 2024
7ad72a3
fix
valer1435 Jan 18, 2024
487bd7b
added explain method to main api module
technocreep Jan 18, 2024
bd78cdb
return initializer to initial state
valer1435 Jan 18, 2024
8280427
Merge branch 'release_0.4' of https://github.com/aimclub/Fedot.Indust…
valer1435 Jan 18, 2024
a14a74d
update examles, refactor Dask singletone
Jan 18, 2024
2ee1280
Merge remote-tracking branch 'origin/release_0.4' into release_0.4
Jan 18, 2024
31b0e9f
fixed requirements list and imports
technocreep Jan 18, 2024
fc3dce0
Refactoring API methods, update model and constant repo, minor fixes
Jan 22, 2024
d716075
added docs for api.utils
technocreep Jan 22, 2024
af4b029
updated docstrings, deleted obsolete modules and files, optimised imp…
technocreep Jan 23, 2024
4e7492a
add calibration
valer1435 Jan 23, 2024
65bf338
merging
valer1435 Jan 23, 2024
aa6de58
fix after
valer1435 Jan 23, 2024
672b676
fix predict and predict_proba in main
technocreep Jan 24, 2024
0dee2f8
fix api examples
valer1435 Jan 24, 2024
e85fbb8
merged
valer1435 Jan 24, 2024
3be47b8
sanity check
valer1435 Jan 24, 2024
974e41f
small fix of get_metrics() method
technocreep Jan 24, 2024
b41f825
add kaggle example, merge with other commits, refactoring for ts_fore…
Jan 26, 2024
af707e1
Merge remote-tracking branch 'origin/release_0.4' into release_0.4
Jan 26, 2024
66ee030
Api fixes
Jan 26, 2024
21c13d6
Delete CV modules
Jan 26, 2024
3bdec90
Delete presets
Jan 26, 2024
8cd1cc2
cases and examples union
Jan 26, 2024
b0a223a
update resnet
Jan 26, 2024
e207acf
add check for multiclass target, add new topo_features from Fedot
Jan 26, 2024
c8d7306
refactor preproc strategy, add filna to np converter, fix in repo
Jan 26, 2024
3d6a55b
delete anomaly detection, refactoring multidim interfaces, add condit…
Jan 30, 2024
b3c6e90
api tests
valer1435 Jan 30, 2024
2138b64
delete optimisation files and test, update repo, minor fixes in acc m…
Jan 30, 2024
108b402
fixes for ssa
Jan 30, 2024
c1f4734
multivariate features check
Jan 30, 2024
e0fc5dc
updated unit-tests and readme;
technocreep Jan 31, 2024
9830da1
merge
valer1435 Jan 31, 2024
9d7a650
fix merge
valer1435 Jan 31, 2024
1996cc1
merge
valer1435 Jan 31, 2024
cf05cd9
update kaggle
Feb 1, 2024
bb2084b
Merge remote-tracking branch 'origin/release_0.4' into release_0.4
Feb 1, 2024
e99c8d8
update kaggle 2
Feb 1, 2024
36c60ae
fixed init_input_data, fix requirements, new unit-tests
technocreep Feb 2, 2024
2c8fc4e
update unit test
Feb 2, 2024
ca15782
Merge remote-tracking branch 'origin/release_0.4' into release_0.4
Feb 2, 2024
d9090ea
update unit test 2
Feb 2, 2024
af9c23e
fixed imports and requrements; new unit_tests added, old are fixed
technocreep Feb 2, 2024
ef683a8
fixed requrements
technocreep Feb 2, 2024
8acb949
updated docs and MAIN docstrings
technocreep Feb 2, 2024
b636756
micro fix in docs
technocreep Feb 2, 2024
07d8262
minor fixes
Feb 5, 2024
bb8aa4d
Merge remote-tracking branch 'origin/release_0.4' into release_0.4
Feb 5, 2024
0f1c6bf
few new units and minor fixes
technocreep Feb 5, 2024
09715c3
fix
technocreep Feb 5, 2024
28c4bb6
pre-release fixes
Feb 5, 2024
60a98e6
pre-release fix CUDA memory problem
Feb 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 18 additions & 7 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@

Fedot.Ind - это автоматизированный фреймворк машинного обучения,
разработанный для решения промышленных задач, связанных с прогнозированием
временных рядов, классификацией, регрессией и обнаружением аномалий.
временных рядов, классификацией и регрессией.
Он основан на `AutoML фреймворке FEDOT`_ и использует его функциональность
для композирования и тюнинга пайплайнов.

Expand Down Expand Up @@ -127,15 +127,26 @@ Fedot.Ind предоставляет высокоуровневый API, кот
- Метод ``FedotIndustrial.get_metrics()`` оценивает качество прогнозов с использованием выбранных метрик.

В качестве источников входных данных можно использовать массивы NumPy или
объекты DataFrame из библиотеки Pandas. В данном случае, `x_train`,
`y_train` и `x_test` представлены в виде объектов `numpy.ndarray()`:
объекты DataFrame из библиотеки Pandas. В данном случае, ``x_train / x_test`` и ``y_train / y_test`` – ``pandas.DataFrame()`` и ``numpy.ndarray`` соответственно:

.. code-block:: python

model = Fedot(task='ts_classification', timeout=5, strategy='quantile', n_jobs=-1, window_mode=True, window_size=20)
model.fit(features=x_train, target=y_train)
prediction = model.predict(features=x_test)
metrics = model.get_metrics(target=y_test)
dataset_name = 'Epilepsy'
industrial = FedotIndustrial(problem='classification',
metric='f1',
timeout=5,
n_jobs=2,
logging_level=20)

train_data, test_data = DataLoader(dataset_name=dataset_name).load_data()

model = industrial.fit(train_data)

labels = industrial.predict(test_data)
probs = industrial.predict_proba(test_data)
metrics = industrial.get_metrics(target=test_data[1],
rounding_order=3,
metric_names=['f1', 'accuracy', 'precision', 'roc_auc'])

Больше информации об использовании API доступно в `соответствующей секции <https://fedotindustrial.readthedocs.io/en/latest/API/index.html>`__ документации.

Expand Down
24 changes: 18 additions & 6 deletions README_en.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@


Fedot.Ind is a automated machine learning framework designed to solve industrial problems related
to time series forecasting, classification, regression, and anomaly detection. It is based on
to time series forecasting, classification, and regression. It is based on
the `AutoML framework FEDOT`_ and utilizes its functionality to build and tune pipelines.


Expand Down Expand Up @@ -125,14 +125,26 @@ It provides a fit/predict interface:
- ``FedotIndustrial.get_metrics()`` estimates the quality of predictions using selected metrics.

NumPy arrays or Pandas DataFrames can be used as sources of input data.
In the case below, ``x_train``, ``y_train`` and ``x_test`` are ``numpy.ndarray()``:
In the case below, ``x_train / x_test``, ``y_train / y_test`` are ``pandas.DataFrame()`` and ``numpy.ndarray`` respectively:

.. code-block:: python

model = Fedot(task='ts_classification', timeout=5, strategy='quantile', n_jobs=-1, window_mode=True, window_size=20)
model.fit(features=x_train, target=y_train)
prediction = model.predict(features=x_test)
metrics = model.get_metrics(target=y_test)
dataset_name = 'Epilepsy'
industrial = FedotIndustrial(problem='classification',
metric='f1',
timeout=5,
n_jobs=2,
logging_level=20)

train_data, test_data = DataLoader(dataset_name=dataset_name).load_data()

model = industrial.fit(train_data)

labels = industrial.predict(test_data)
probs = industrial.predict_proba(test_data)
metrics = industrial.get_metrics(target=test_data[1],
rounding_order=3,
metric_names=['f1', 'accuracy', 'precision', 'roc_auc'])

More information about the API is available in the `documentation <https://fedotindustrial.readthedocs.io/en/latest/API/index.html>`__ section.

Expand Down
32 changes: 32 additions & 0 deletions benchmark/abstract_bench.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
import logging
import os

import matplotlib
from matplotlib import pyplot as plt

from fedot_ind.api.main import FedotIndustrial
from fedot_ind.tools.loader import DataLoader


class AbstractBenchmark(object):
"""Abstract class for benchmarks.
Expand Down Expand Up @@ -48,6 +54,32 @@ def run(self):
"""
raise NotImplementedError()

def evaluate_loop(self, dataset, experiment_setup: dict = None):
matplotlib.use('TkAgg')
train_data, test_data = DataLoader(dataset_name=dataset).load_data()
experiment_setup['output_folder'] = experiment_setup['output_folder'] + f'/{dataset}'
model = FedotIndustrial(**experiment_setup)
model.fit(train_data)
prediction = model.predict(test_data)
model.save_best_model()
model.save_optimization_history()
model.plot_operation_distribution(mode='each')
model.plot_fitness_by_generation()
plt.close('all')
model.shutdown()
return prediction.squeeze(), model.predict_data.target

def finetune_loop(self, dataset, experiment_setup: dict = None):
train_data, test_data = DataLoader(dataset_name=dataset).load_data()
experiment_setup['output_folder'] = experiment_setup['output_folder'] + f'/{dataset}'
tuning_params = experiment_setup['tuning_params']
del experiment_setup['tuning_params']
model = FedotIndustrial(**experiment_setup)
model.load(path=experiment_setup['output_folder'] + '/0_pipeline_saved')
model.finetune(train_data, tuning_params=tuning_params)
prediction = model.finetune_predict(test_data)
return prediction, model.predict_data.target

def collect_results(self, output_dir):
"""Collect the results of the benchmark.

Expand Down
252 changes: 0 additions & 252 deletions benchmark/bench_TSC.py

This file was deleted.

Loading
Loading