Closed ablaom closed 3 years ago
@filipebraida @lalvim
Sorry for the delay to answer you (classes started last week). I didn't understand about Standardizer. Wouldn't it be better to remove it from the package and let the user define the pipeline?
The point is that you use Standardizer, defined in MLJModels, for testing, which means it must be a test dependency of PartialLeastSquaresRegressor.jl. (Currently you have MLJ, which is one-higher up the food chain). The problem is that the model registry currently lives in MLJModels. So I have a circular dependency issue: want to update PLSR but this requires MLJModels, but I can't update MLJModels without updating the registry, which requires PLSR to be updated.
There may be other solutions, but from our end this is the easiest. I simply copied code for the Standardizer model you need for testing into your repo so you can use it independent of MLJModels (and MLJ). Your dependency for testing is then just MLJBase.
Is this clear?
@filipebraida Just a note that users of the latest MLJ 0.16.0 are now unable to use your models. The compatibility needs to be extended, eg by merging this PR.
Note, to be clear, all this PR does is extend compatibility and add code to the testing suite to make current tests independent of MLJModels, MLJ. It does not change the existing tests.
@ablaom I asked to @lalvim to revise the code. As he implemented it, I think he better take a better look.
@ablaom nice work.
I didn't really understand the point of the cause of circular dependency, but I believe it. I checked your codes and it looks ok. I did the merge. One question that remains is regarding the use outside the tests. Couldn't you use the mlj standardizer more?
@lalvim @filipebraida Thanks for being accommodating.
One question that remains is regarding the use outside the tests. Couldn't you use the mlj standardizer more?
Outside of testing of this package, you can use Standardizer all you want.
Replaces #22
This PR: