Changelogs » Alipy

Alipy

1.2.0

ALiPy v1.2.0: This is a bug-fix release with api changes of AURO and AUDI.

Upgrade from pypi
---------------------


pip install --upgrade alipy


Changelog
-----------

`alipy.query_strategy.QueryMultiLabelAUDI` and `alipy.query_strategy.QueryTypeAURO`

- `API change` Add parameter `model` to AUDI and AURO algorithm who are using LabelRanking model to evaluate unlabeled data. They will train a new LabelRanking model inside the algorithm which may take a lot of time if the the labeled and unlabeled pool is large. Now, user can pass a trained LabelRanking Model to save some time if your base model is a LabelRanking model.

`alipy.query_strategy.QueryTypeAURO`

- `Fix` Fix a bug in AURO method which will query labeled entries in the latter iteration.

`alipy.query_strategy.QueryInstanceBMDR` and ``alipy.query_strategy.QueryInstanceSPAL``

- BMDR and SPAL will relax the constraints and try to solve the QP problem again if solving the original problem is failed.

`alipy.query_strategy.multi_label.LabelRankingModel`

- LabelRanking model will use the same initialization parameters instead of initializing randomly when re-training.

`alipy.index.multi_label_tools.py`

- Use relative import in multi_label_tools.py.

`alipy.query_strategy.cost_sensitive.py`

- Set cost to 1 instead of raising an error if cost is not provided.

Multiple modules
----------------

- Optimize code and update comments.

- Fix some warnings.

- Upload the test code. exec `pytest` in the test folder to run the test.

- Update example code. the labelranking model in multi label setting will be trained in an incremental way which will save a lot of time and make the performance more stable.

1.1.0

Upgrade from pypi
----------------------


pip install --upgrade alipy


Changelog
-----------

`alipy.query_strategy.QueryMultiLabelAdaptive`

- `Fix` Fix a bug in the implementation of `QueryMultiLabelAdaptive` class. [ 12](https://github.com/NUAA-AL/ALiPy/issues/12) by ppnman

`alipy.query_strategy.QueryRandom` amd `alipy.query_strategy.QureyExpectedErrorReduction`

- Add deprecated warning to `QueryRandom` and `QureyExpectedErrorReduction` methods. Please use `QueryInstanceRandom` and `QueryExpectedErrorReduction` instead.

`alipy.experiment.ExperimentAnalyser`

- `Fix` Fix a bug in the plot function which may raise an error in the old version of `matplotlib`.

`alipy.utils.multi_thread.aceThreading`

- `Fix` Fix a bug that the initialization of the StateIO object in aceThreading class will raise an error when passing a multi label index. [ 15](https://github.com/NUAA-AL/ALiPy/issues/15) by ZMK112

`alipy.query_strategy.multi_label.LabelRankingModel`

- `API change` Add a parameter  `is_incremental=False` to `alipy.query_strategy.multi_labels.LabelRankingModel.fit()` method. You can specify whether to train the model in an incremental way now.

- `API change` The default training way of label ranking method has been changed from incremental to re-initialize.

- Update the comment of LabelRankingModel: You should normalize your data before using this model. [ 14](https://github.com/NUAA-AL/ALiPy/issues/14) by ppnman

Multiple modules
-------------------

- Optimize code and update comments.

- Add `__all__` to each file to expose the API

1.0.3.1

This is a bug-fix release with changes of experiment analyser API.

Upgrade from pypi
--------------------
`pip install --upgrade alipy`

Changelog
-----------

`alipy.query_strategy.QueryInstanceBMDR` and `alipy.query_strategy.QueryInstanceSPAL`

- `Fix` Add `__setstate__()` and `__getstate__()` methods to avoid raising when pickling SPAL and BMDR object. [ 9](https://github.com/NUAA-AL/ALiPy/issues/9) by xuehuachunsheng

`alipy.experiment.AlExperiment`

- `Fix` Add available strategy `QueryInstanceRandom` in `set_query_strategy()`. [ 10](https://github.com/NUAA-AL/ALiPy/issues/10) by xuehuachunsheng

`alipy.experiment.ExperimentAnalyser`

- `Feature` Add a parameter `plot_interval` to the `plot_learning_curves()` function. You can specify the interval (x_axis) between each two data points in the figure now.

- `Feature` Add a parameter `show=False` to the `plot_learning_curves()` function to provide an option that whether to show the image immediately. If `False` is given, it will return the `matplotlib.pyplot` object with performance data filled to let users customize some attributes of the figure. [ 6](https://github.com/NUAA-AL/ALiPy/issues/6) by evanzhu2013

Multiple modules
-------------------

- Add acceptable type `BaseCollection` of indexes.

- Set 'liblinear' as the default solver of default model `LogisticRegression`.

- Replace `np.asscalar(a)` with `a.item()` to adapt new version of numpy

- Add an example usage of ALiPy for labeling real data. [ 11](https://github.com/NUAA-AL/ALiPy/issues/11) by sreevarsha

Known issues
---------------

- If you are using a multi_thread model (e.g., RandomForest in sklearn) in the `alipy.utils.multi_thread.aceThreading` class, or set `multi_thread=True` in `alipy.experiment.AlExperiment.start_query()`, it will raise an error. [ 9](https://github.com/NUAA-AL/ALiPy/issues/9) by xuehuachunsheng

1.0.2

Changelog
-----------

`alipy.query_strategy.QueryRandom`

- `API change` `alipy.query_strategy.QueryRandom` has been renamed to `alipy.query_strategy.QueryInstanceRandom`. And `alipy.query_strategy.QueryRandom` will be deleted in the future.

- `API change` `alipy.query_strategy.QueryRandom.select(self, unlabel_index, batch_size=1, **kwargs)` has changed to `alipy.query_strategy.QueryInstanceRandom.select(self, label_index, unlabel_index, batch_size=1, **kwargs). The parameter `label_index` has no effect to the algorithm. You can pass anything to it. [ 1](https://github.com/NUAA-AL/ALiPy/issues/1) by 	evanzhu2013

`alipy.query_strategy.QueryInstanceQUIRE`

- `API change` Delete the parameter `batch_size` the `select()` function. This strategy will select only one instance at each iteration, so the parameter batch_size is actually unused. [ 4](https://github.com/NUAA-AL/ALiPy/issues/4) by ztono

`alipy.experiment.StateIO`

- `Feature` You can pass a dict type to `alipy.experiment.StateIO.add_state(self, state)` function now. But the dict must contain the following keys: `['select_index', 'queried_info', 'performance']`.

`alipy.ToolBox`

- `Fix` Optimize the function `get_query_strategy(self, strategy_name="QueryInstanceRandom", **kwargs)`. You can get any implemented strategies from it now. Not that, you should pass the necessary parameters to the specific strategy in a keyword-argument way (e.g., the train_idx). [ 3](https://github.com/NUAA-AL/ALiPy/issues/3) by Arshita27