* refactoring TransformersEstimator to support default and custom_hp
* handling starting_points not in search space
* addressing starting point more than max_iter
* fixing upper < lower bug
* add sklearn regressors as learners for ts_forecast task
* add direct forecasting strategy
warnings and errors for duplicate rows and missing values
- add preprocess for sklearn time series forecast
update automl.py
update test/test_forecast.py
* update model.py and test_forecast.py for cv eval_method
* add "hcrystalball" dependency in setup.py
* update automl.py
- add _validate_ts_data function for abstraction
- include xgb_limitdepth as a learner
* update model.py
- update search space for sklearn ts regressors
* update automl.py and test_forecast.py for numpy array inputs
* add documentations to model.py
* add documentation for removing catboost regressor
* update automl.py
- _validate_ts_data() function
Signed-off-by: Kevin Chen <chenkevin.8787@gmail.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>
* 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
* set converge flag when no trial can be sampled
* require custom_metric to return dict for logging
close#218
* estimate time budget needed
* log info per iteration
* 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>
* 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.
* 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>