* simplify lgbm examples
* provide link to lgbm example script.
* simply lgbm example in the example script.
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* add support for customized splitters
* use the param split_type for feeding generators
* use single API for customized splitter and add test
* when task==TS_FORCAST, always set shuffle=False
* update docstr
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* update tune function
* pass incumbent result to the training function
* Update test/tune/test_record_incumbent.py
* Update flaml/searcher/search_thread.py
* Update flaml/searcher/blendsearch.py
* Update flaml/tune/tune.py
* add constant variable
Co-authored-by: 张少坤 <zhangshaokun@fuzhi.ai>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* fix checkpoint naming + trial id for non-ray mode, fix the bug in running test mode, delete all the checkpoints in non-ray mode
* finished testing for checkpoint naming, delete checkpoint, ray, max iter = 1
* adding predict_proba, address PR 293's comments
close#293#291
* make AutoML inherit sklearn.base.BaseEstimator such that it can be wrapped in sklearn.multioutput.MultiOutputRegressor for multi-output regression.
* moved and simplified preprocessing code in AutoML.predictI() to _preprocess()
if save_best_model_per_estimator is False and retrain_final is True, unfit the model after evaluation in HPO.
retrain if using ray.
update ITER_HP in config after a trial is finished.
change prophet logging level.
example and notebook update.
allow settings to be passed to AutoML constructor. Are you planning to add multi-output-regression capability to FLAML #192 Is multi-tasking allowed? #277 can pass the auotml setting to the constructor instead of requiring a derived class.
remove model_history.
checkpoint bug fix.
* model_history meaning save_best_model_per_estimator
* ITER_HP
* example update
* prophet logging level
* comment update in forecast notebook
* print format improvement
* allow settings to be passed to AutoML constructor
* checkpoint bug fix
* time limit for autohf regression test
* skip slow test on macos
* cleanup before del
* limit time and memory
* separate tests
* lrl1 can't be limited by limit_resource
* free memory when possible
* passthrough=False when ensemble fails;
retrain when trained_estimator is None
* use callback to for resource limit
* handle lower version of xgb with no callback
* free mem ratio
* reduce verbosity
* retrain_final when max_iter==1
* remove trained_estimator from result
* model_history
* wheel
* retrain time as best_config_train_time
* ci: libomp version for xgboost on macos
* limit_resource not working in windows
* test pickle load
* mute forecaster
* notebook update
* check hard
* preventive callback
* add use_ray
* Integrate multivariate time series forecasting, now supports
continuous and categorical variables
- update data.py to transform time series data
- update search space
- update documentations to reflect changes
- update test_forecast.py
- rename 'forecast' task to 'ts_forecast' task
* update automl.py and test_forecast.py
* update forecast notebook
* update README.md and setup.py
* update ml.py and test_forecast.py
- make "ds" and "y" constant variables
* replace constants with constant variables
* bump version to 0.7.0
* update setup.py
- support 'forecast' and 'ts_forecast'
* update automl.py and data.py
- support 'forecast' and 'ts_forecast' tasks
* warning -> info for low cost partial config
#195, #110
* when n_estimators < 0, use trained_estimator's
* log debug info
* test random seed
* remove "objective"; avoid ZeroDivisionError
* hp config to estimator params
* check type of searcher
* default n_jobs
* try import
* Update searchalgo_auto.py
* CLASSIFICATION
* auto_augment flag
* min_sample_size
* make catboost optional
* update config if n_estimators is modified
* prediction as int
* handle the case n_estimators <= 0
* if trained and no budget to train more, return the trained model
* split_type=group for classification & regression
* add consistency test
* test_consistency and format
* add results attribute
* skip when ray is not installed
* Update flaml/tune/analysis.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qxw5138@psu.edu>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* config in result
* value can be float
* pytorch notebook example
* docker, pre-commit
* max_failure (#192); early_stop
* extend starting_points (#196)
Co-authored-by: Chi Wang (MSR) <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qw2ky@virginia.edu>
* increase test coverage
* use define by run only when needed
* warmstart bs
* classification -> binary, multi
* warm start with evaluated rewards
* data transformer; resource attr for gs
* BlendSearchTuner bug fix and unittest
* bug fix
* docstr and import
* task type
* remove catboost training dir
* close#48
* bs for hierarchical space. close#85
* retrain for hierarchical space
* clean ml (#180)
Co-authored-by: Qingyun Wu <qxw5138@psu.edu>
* support ranking task
* examples
* cv shuffle
* forecast api and implementation cleaner
* period constraints
* delete groups after fit
* non hashable value out of signature
* parallel trials
* add random in _search_parallel
* fix bug in retraining
* check memory constraint before training
* retrain_full
* log custom metric
* retraining budget check
* sample size check before retrain
* remove 'time2eval' from result
* report 'total_search_time' in result
* rename total_search_time to wall_clock_time
* rename train_loss boolean to log_training_metric
* set default train_loss to None
* exclude oom result
* log retrained model
* no subsample
* doc str
* notebook
* predicted value is NaN for sarimax
* version
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qxw5138@psu.edu>
* added 'forecast' task with estimators ['fbprophet', 'arima', 'sarimax']
* update setup.py
* add TimeSeriesSplit to 'regression' and 'classification' task
* add 'time' split_type for 'classification' and 'regression' task
Signed-off-by: Kevin Chen <chenkevin.8787@gmail.com>
* feature importance
* variable name
* Update test/test_split.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update test/test_forecast.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* prophet installation fail in windows
* upload flaml_forecast.ipynb
Signed-off-by: Kevin Chen <chenkevin.8787@gmail.com>
* remove extra comma
* exclusive bound
* log file name
* add cost to space
* dataset_format
* add load_openml_dataset test
* docstr
* revise test format
* simplify restore
* order categories
* openml server exception in test
* process space
* add warning
* log format
* reduce n_cpu
* nested space
* hierarchical search space for CFO
* non hierarchical for bs
* unflatten hierarchical config
* connection error
* random sample
* config signature
* check ray version
* preprocess numpy array
* catboost preprocess
* time budget
* seed, verbose, hpo_method
* test cfocat
* shallow copy in flatten_dict
prevent lgbm model duplication
* match estimator name
* quantize and log
* test qloguniform and qrandint
* test qlograndint
* thread.running
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qingyunwu@Qingyuns-MacBook-Pro-2.local>
* subspace in flow2
* search space and trainable from AutoML
* experimental features: multivariate TPE, grouping, add_evaluated_points
* test experimental features
* readme
* define by run
* set time_budget_s for bs
Co-authored-by: liususan091219 <Xqq630517>
* version
* acl
* test define_by_run_func
* size
* constraints
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* add starting point in fit
* add estimator best config
* add test
* add doc string
* when there are multiple points_to_evaluate in CFO, use the best one to start local search; after that use low cost partial config as the start point; then, remove the points whose performance is worse than the converged, and start local search from the remaining ones ordered by their performance.
Co-authored-by: Qingyun Wu <qingyunwu@Qingyuns-MacBook-Pro-2.local>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* api doc for chacha
* update params
* link to paper
* update dataset id
Co-authored-by: Chi Wang (MSR) <chiw@microsoft.com>
Co-authored-by: Qingyun Wu <qiw@microsoft.com>
* pickle the AutoML object
* get best model per estimator
* test deberta
* stateless API
* pickle the AutoML object
* get best model per estimator
* test deberta
* stateless API
* prevent divide by zero
* test roberta
* BlendSearchTuner
* sync
* version number
* update gitignore
* delta time
* reindex columns when dropping int-indexed columns
* add seed
* add seed in Args
* merge
* stabilize SearchThread speed
* add seed
* fix import
* use except
* add restore test for CFO
* remove test_restore
* remove inspect
* remove print
* change to SearchThread._esp
* add _eps lower bound
* _eps in SearchThread
* add test_restore
* 1<<32
Co-authored-by: Chi Wang (MSR) <chiw@microsoft.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qiw@microsoft.com>
* pickle the AutoML object
* get best model per estimator
* test deberta
* stateless API
* pickle the AutoML object
* get best model per estimator
* test deberta
* stateless API
* prevent divide by zero
* test roberta
* BlendSearchTuner
* sync
* version number
* update gitignore
* delta time
* reindex columns when dropping int-indexed columns
* add seed
* add seed in Args
* merge
* init upload of ChaCha
* remove redundancy
* add back catboost
* improve AutoVW API
* set min_resource_lease in VWOnlineTrial
* docstr
* rename
* docstr
* add docstr
* improve API and documentation
* fix name
* docstr
* naming
* remove max_resource in scheduler
* add TODO in flow2
* remove redundancy in rearcher
* add input type
* adapt code from ray.tune
* move files
* naming
* documentation
* fix import error
* fix format issues
* remove cb in worse than test
* improve _generate_all_comb
* remove ray tune
* naming
* VowpalWabbitTrial
* import error
* import error
* merge test code
* scheduler import
* fix import
* remove
* import, minor bug and version
* Float or Categorical
* fix default
* add test_autovw.py
* add vowpalwabbit and openml
* lint
* reorg
* lint
* indent
* add autovw notebook
* update notebook
* update log msg and autovw notebook
* update autovw notebook
* update autovw notebook
* add available strings for model_select_policy
* string for metric
* Update vw format in flaml/onlineml/trial.py
Co-authored-by: olgavrou <olgavrou@gmail.com>
* make init_config optional
* add _setup_trial_runner and update notebook
* space
Co-authored-by: Chi Wang (MSR) <chiw@microsoft.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qiw@microsoft.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
* datetime feature engineering added.
* check if datetime in columns moved after drop check. Check if the new columns do not already exist.
* check the drop condition before to add new_column. In transform, check directly if new columns are present in num_column.
* check if new_column is in X.columns.
* fixed lint issue. update version to 0.4.1.
* add customized lgbm learner
* add comments
* fix format issue
* format
* OpenMLError
* add test
* add notebook
Co-authored-by: Chi Wang (MSR) <chiw@microsoft.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* pickle the AutoML object
* get best model per estimator
* test deberta
* stateless API
* prevent divide by zero
* test roberta
* BlendSearchTuner
* delta time
* reindex columns when dropping int-indexed columns
* test drop columns and small training data
* param set for ensemble builder
* fillna on copy
Co-authored-by: Chi Wang (MSR) <chiw@microsoft.com>
* pickle the AutoML object
* get best model per estimator
* test deberta
* stateless API
* Add Gitter badge (#41)
* prevent divide by zero
* test roberta
* BlendSearchTuner
Co-authored-by: Chi Wang (MSR) <chiw@microsoft.com>
Co-authored-by: The Gitter Badger <badger@gitter.im>
* xgboost notebook
* finetuning notebook
* finetuning test
* experimental nni support
* support nested search space
* log file name
* record training_iteration
* eps
* reset times
* std set to default step size if 0
* v0.2.2
separate the HPO part into the module flaml.tune
enhanced implementation of FLOW^2, CFO and BlendSearch
support parallel tuning using ray tune
add support for sample_weight and generic fit arguments
enable mlflow logging
Co-authored-by: Chi Wang (MSR) <chiw@microsoft.com>
Co-authored-by: qingyun-wu <qw2ky@virginia.edu>
* set default logging level to INFO
* remove unnecessary import
* API future compatibility
* add test for customized learner
* test dependency
Co-authored-by: Chi Wang (MSR) <chiw@microsoft.com>