-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Workflow to visualize Tpot results #337
Comments
Hello just adding my question to this as I thought this question was closest to mine (let me know otherwise, I can raise a separate question), I've just discovered TPOT this week and having fun learning it so far! In the description on http://rhiever.github.io/tpot/ ,its mentioned, How can I find out which modeling algorithms were considered in the solution? Thanks! |
Hi, Do you mean to check the modeling algorithms / pipelines were evaluated in TPOT optimization process? You can easily found these pipelines in the dictionary To be more clear, below it is a small demo:
|
Update: just fix a small bug in the demo above. |
great! that's what I was looking for... |
Hi, thanks for your answer. |
We updated the API since version 0.8.
Try ‘tpot_obj.evaluated_individuals_’ instead.
On Dec 7, 2017, at 9:08 AM, yan <notifications@github.com<mailto:notifications@github.com>> wrote:
evaluated_individuals
|
how to determine the winning individual? the scores on every value of that dict are all over the place. Can verbosity help?? More insights are needed in the docs. Will dive into the code now. |
@weixuanfu, is there a way to turn the |
@miguelehernandez Please try the demo below to convert key strings to from tpot.export_utils import generate_pipeline_code, expr_to_tree
# print a pipeline and its values
pipeline_str = list(tpot.evaluated_individuals_.keys())[0]
print(pipeline_str)
print(tpot.evaluated_individuals_[pipeline_str])
for pipeline_string in sorted(tpot_obj.evaluated_individuals_.keys()):
# convert pipeline string to scikit-learn pipeline object
deap_pipeline = creator.Individual.from_string(pipeline_string, tpot_obj._pset)
sklearn_pipeline = tpot_obj._toolbox.compile(expr=deap_pipeline)
# print sklearn pipeline string
sklearn_pipeline_str = generate_pipeline_code(expr_to_tree(individual, tpot_obj._pset), tpot_obj.operators)
print(sklearn_pipeline_str)``` |
@weixuanfu , thanks so much for the quick reply! Two follow up questions:
If there is currently no API way to do this, would it be possible for me to contribute something along those lines? |
@miguelehernandez So far, there is no API way or a way without using |
@weixuanfu Can we access all the intermediate pipelines that are completed without having the fit function to complete all the pipelines fully and then access using the evaluated_individuals_ on tpot object. |
You may interrupt fit function (like Ctrl+C), then TPOT should store all intermediate pipelines into |
@weixuanfu Thanks for the reply. But if we keep interrupting it will take too much time to complete. |
You could use a loop of fitting TPOT object with warm_start=True and generation=1 and save |
@weixuanfu Thank you. |
@weixuanfu is this the right way ? In generation1 i am getting only 7 pipelines , but it should generate 8. |
Hmm, it is not right. Please put I am not sure why only 7 pipeines each loop in the stdout in your notebook. |
Okay @weixuanfu Thanks for the clarification :) |
AttributeError: 'TPOTClassifier' object has no attribute '_optimized_pipeline' |
I'd like to re-ask the original question. How can one output information about performance of different solvers (perhaps visualizing ranges, colored scatter plots, etc.) and the impact of different parameters on specific solvers in a way that can be easily visualized. I can't see how to pick tpot.evaluated_individuals_ apart Here is part of tpot.evaluated_individuals_:
|
Hello everyone,
I hope this issue hasn't been discussed already. I tried a search through the issues with no luck.
I was wondering if anyone knows a way to quickly visualize the results coming out of Tpot. I feel that performance information across different solvers and across different parameter settings of individual or family of solvers can be extremely useful for all users, and especially new users like me.
I wonder if this can be a feature of Tpot? It can output information about performance of different solvers (perhaps visualizing ranges, colored scatter plots, etc.) and the impact of different parameters on specific solvers in a way that can be easily visualized.
Let me know what you think.
Kind regards,
Theodore.
The text was updated successfully, but these errors were encountered: