SauceCat / PDPbox

python partial dependence plot toolbox
http://pdpbox.readthedocs.io/en/latest/
MIT License
840 stars 129 forks source link

Matplotlib version? #76

Open sid-kap opened 3 years ago

sid-kap commented 3 years ago

Is there a chance we could loosen the matplotlib requirement for this project? It's currently requiring matplotlib==3.1.1; I'm wondering if something more flexible, like matploblib>=3,<4 would work?

maxkoe commented 3 years ago

This fact prevents me from installing PDPbox in my environment (Windows 10 with Python 3.9.1), as I do not have a compiler on my machine and cannot install one. Thus I cannot install this old matplotlib version.

zeromh commented 3 years ago

Also requesting this! matplotlib 3.1.1 is 2 years old as of writing. It's difficult to use pdpbox if I have to use such an out of date matplotlib.

Djtrip83 commented 2 years ago

Same here. I had to move to other packages because of the outdated dependency, but I do like the PDPBox package. Any update on a release?

VVER0114 commented 2 years ago

Version 0.2.0 does not have this requirement, I successfully installed. During the installation process, the matplolib request "METADATA", I copy it from "matplotlib_inline-0.1.3.dist-info"

toshi-k commented 2 years ago

Same here. I would like to use PDPbox with the latest matplotlib ! matplotlib==3.1.1 can't work with Python 3.9.

gulstein86 commented 2 years ago

Same here. I had to move to other packages because of the outdated dependency, but I do like the PDPBox package. Any update on a release?

any recommended package to use?

brookman1 commented 2 years ago

Seemingly matlplotlib>=3.2.2 is the lowest to go. Forced updated to version 3.2.2:

pip install pdpbox>=0.2.1
pip install matplotlib>=3.2.2

Ran this code in google codelab:

from pdpbox import pdp
feat_name = 'wr_40_end'
for feat_name in more_important_features[:10]:
    print(f'plot for feat_name:{feat_name}')
    p_isolate = pdp.pdp_isolate(rfr, X, X.columns, feat_name) 
    fig, axes = pdp.pdp_plot(p, feat_name, plot_lines=True)
    fig.show()
p_interact = pdp.pdp_interact(rfr, X, X.columns, more_important_features)
fix, axes = pdp.pdp_interact_plot(p_interact, more_important_features)

And got:

findfont: Font family ['Arial'] not found. Falling back to DejaVu Sans.
findfont: Font family ['Arial'] not found. Falling back to DejaVu Sans.
findfont: Font family ['Arial'] not found. Falling back to DejaVu Sans.
findfont: Font family ['Arial'] not found. Falling back to DejaVu Sans.

Other than above warnings, there were no problems.


Thanks.

SauceCat commented 1 year ago

The latest version, v0.3.0, has been released. We recommend updating to this version and checking if it resolves the issue you're facing. Your feedback is appreciated. Thank you for your patience and support.