maks-sh / scikit-uplift

:exclamation: uplift modeling in scikit-learn style in python :snake:
https://www.uplift-modeling.com
MIT License
725 stars 96 forks source link

Automated Tests failing after non-code change #207

Open WilliamRoyNelson opened 1 year ago

WilliamRoyNelson commented 1 year ago

🐛 Bug

In this PR, #206, the automated tests are failing even though there's no change to relevant code.

The first test that fails is ubuntu-latest 3.6: Error: Version 3.6 with arch x64 not found

I suspect this is related to ci-test.yml using ubuntu-latest, as the latest version of ubuntu does not have python 3.6 Other people have noted the same behavior: https://github.com/actions/setup-python/issues/544 One possible fix is to hard-code the platform to ubuntu-20.04. Alternately, python 3.6 could be deprecated. Deprecating 3.6 might be reasonable as it reached EOL over a year ago (2021-12-23) https://devguide.python.org/versions/

Also, it seems that for all OS's, python 3.8 and 3.9 fail. I think it's related to https://github.com/maks-sh/scikit-uplift/pull/201

But I also see this error repeatedly in the logs:

TypeError: Feature names are only supported if all input features have string names, but your input has ['int', 'str'] as feature name / column name types. If you want feature names to be stored and validated, you must convert them all to strings, by using X.columns = X.columns.astype(str) for example. Otherwise you can remove feature / column names from your input data, or convert them all to a non-string data type.

Which comes from sklearn: https://github.com/scikit-learn/scikit-learn/blob/main/sklearn/utils/validation.py#L1965

This is over my head, but if I figure it out I'll try to add info.