Code is in general very readable. From just validating your code I could understand everything. I've got a few recommendations:
- You can share your collab as well to be readable by anyone and share the link in the README, that way people can access it quicker by making local copies (instead of downloading + moving to your own collab workspace).
- Let the output of the cells be visible, so people understand the code and the concepts better when reading the notebook. Since these are logs for each trial might be a bit too much, is there no way to convert the study to a dataframe and show the first 10 trials after run time?
- All is covered more in detail on YT en the notebook, but it would still be nice to have a short overview / summary in the README
- Provide a link to Optuna documentation in the README + notebook
- I'd place the
N_TRIALS assignment above in the same cell as where you provide the general overview.
- There is some commented code here and there (example -> cell 7 line 20) either tell us why we would want to uncomment or leave it out
train_evaluate and objective functions are mostly duplicates of each other. As I understood the code train_evaluate is the same everywhere so only keep one, and the only difference in the objective functions is when you check if pruning is enabled. Can't you generalize that into one function instead of copy pasting?
- Since your objective function is the MSE, I'd rename
objective to reflect that
- Refactor your studies to be more explicit, example
study3 -> study_cmaes
- maybe insert some markdown comments to your visualizations
Code is in general very readable. From just validating your code I could understand everything. I've got a few recommendations:
N_TRIALSassignment above in the same cell as where you provide the general overview.train_evaluateandobjectivefunctions are mostly duplicates of each other. As I understood the codetrain_evaluateis the same everywhere so only keep one, and the only difference in theobjectivefunctions is when you check if pruning is enabled. Can't you generalize that into one function instead of copy pasting?objectiveto reflect thatstudy3->study_cmaes