Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

consider limiting the scope of the library #2

Closed
kmike opened this issue Sep 26, 2018 · 4 comments
Closed

consider limiting the scope of the library #2

kmike opened this issue Sep 26, 2018 · 4 comments
Labels
enhancement New feature or request

Comments

@kmike
Copy link

kmike commented Sep 26, 2018

Hey! I came here from the http://explained.ai/decision-tree-viz/index.html article (which is a great write-up 馃憤). One thing bothered me => unsolicited suggestion.

In the README you have:

This is the start of a python machine learning library to augment scikit-learn. At the moment, all we have is functionality for decision tree visualization and model interpretation.

From an user perspective: why not have a package just for tree visualization and interpretation, and have this planned "python machine learning library to agument scikit-learn" depending on a tree visualization & inspection package, if needed?

The task of inspecting trees looks quite specific, do you really need to add solutions for unrelated problems (some ML algorithms?) to the same package? Obviously, I don't know what you've planned for the whole library, so please excuse me if that doesn't make any sense :)

A few use cases, for having a dedicated tree viz library:

  • tree visualization has a few dependencies, which other code may not need; it can be the other way around as well - people who want tree visualization may have to install unrelated dependencies. It is solvable, but needs care.

  • https://github.com/TeamHG-Memex/eli5 is not developed actively right now, but we'd absolutely consider making your tree visualization a default, which implies having it as a dependency (probably an optional one); depending on a general-purpose ML library just for its visualization features is less nice than depending on a visualization/inspection library.

  • by having separate packages you may get different release schedules, different contributors, etc. In a large package some code usually gets outdated and deprecated over time. If deprecated code is a separate package, one can just leave it as-is - no need to remove it from an all-in-one library, and no need to maintain it if there is no motivation.

@parrt
Copy link
Owner

parrt commented Sep 28, 2018

Hiya! An excellent question. I thought about that but I actually was planning on incorporating all of the goodies that I use regularly for machine learning into one repository, but what you are saying makes sense. Jeremy @jph00 what are your thoughts here? Should we isolate the graphics part with all of its dependencies? if we did do that then I should probably rename this repository to something like dtreeviz.

@parrt
Copy link
Owner

parrt commented Sep 29, 2018

I'm going to rename to dtreeviz. :)

@parrt
Copy link
Owner

parrt commented Sep 29, 2018

Fixed with 8411604 renamed library to dtreeviz, adjusted packages and notebooks and readme. @kmike

@parrt parrt closed this as completed Sep 29, 2018
@parrt parrt added the enhancement New feature or request label Sep 29, 2018
@kmike
Copy link
Author

kmike commented Sep 29, 2018

Thanks a ton @parrt!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants