Setup Local Env (PyCharm) for Kaggle Competition
Software Engineer @Google
Search for a command to run...
Software Engineer @Google
No comments yet. Be the first to comment.
A series about the thinkings and findings while learning Machine Learning
To be a Machine Learning Engineer seems to be a closed decision for some time, but still new for me when reaching the step to attend online competitions from Kaggle and start building my writings. let's be Kaggle connections for competition perha...
Clear then efficient communication is the precondition for us developers to understand and solve problems. We will see different ways of communication applied in the workspace, like meeting, face-to-face chat, phone calls, emails, and text messages. ...
This is a game question. Perhaps you also met it when you onboarded a new team or just an ice breaker for meeting new people. I think no doubt everyone could pause for a while to search in our life logs to find some content for this question which we...

Among the apps I used most in the last year, Notion should be the most impressive one. Not just by its "comfortable" UI (this is true.. I just feel comfortable using it and writing more), but also a bunch of templates offering an organized way to do ...

Sry for my inaccurate expression β Engineer's Shy. I guess there should be a better expression to describe this scene. As an engineer spending most of my time "talking to computer" by code, I often have difficulty speaking out my ideas, especially in...
Time flies. I didn't expect that I could work from home for the whole past 2021. While I spent most of my time in my "cell" room in the building, I have two desks set up with laptops for working and personal usage. So I switched between them for the ...

Offer you a reason & quick steps to have a local Dev Env to assist your competition

Kaggle offers us a great online platform / Jupyter Notebook to interactively test our code while possibly utilizing free GPU resources. So why should we have this "troublesome" option?
one-word answer -- "efficiency". So with the help of IDE, you could faster implement your solutions (like using Vim-mode), instantly find some static code errors, debug and dig into your work, function param hintβ¦
Jupyter notebook is the best choice for arranging your whole solution into an interactive "paper" while an IDE like Pycharm definitely is the choice for helping you speed up the solution coding stage.
Vim-mode, error hints, auto-completion, debug!! ... reason for IDE
Get A Trail or Licensed Professional Version
PyCharm offers 2 versions for us - Professional vs Community
You may need to consider the Pro as "Scientific Tools" related to our data science work is only included in this version. The Pro version is a paid one for sure. Here are the options

If, sadly... all not work for your case, guess you find a good reason to work (so use it hard!) hard to get the value back for your data science work right? π
Alternative (Totaly Free) But you know what... we have the Plan B - Open Source IDE Spyder

The basic features are pretty similar, like debugger, viewer on your dataset etc.
The official documents and tutorials are well organized for you to have it work on your local within 1 or 2 hours.
Kite - AI-Driven Auto-Completion One of the best features IDE offers us is auto-completion and hints for calling funcs and params.

There are too many functions and even more params from quite a few libs we frequently use, like pd, np, sklearn... Impossible to memorize them all!
Kite is the best option to have these pop-up hints while typing which are further AI-driven and trying offering you the results fitting in the context.
IdeaVim - Speed Typing Vim is a fantastic tool to speed up your input performance. Many people heard from old guys π΄ and thought it is already out of date...
No! Vim is a so classical tool for "shortcut" your typing that there is not so much space to improve input further in this direction -- so used for a long time since the terminal interface for most computers.
Material UI + Atom Icons - Modern & Comfortable Interface Well, a beautiful UI perhaps will not help you in a "technical" way but definitely will offer you a comfortable experience while navigating over your projects and countless settings for IDE.

This combination of UI and Icons theme I used across different IDEs and recommended for a try here π
The most important reason I choose to have a local env is that I could debug line by line.
Here is the case -- you could have your printout over certain intermediate results, like a DataFrame, easily by adding a cell in the Jupyter notebook. But how about you want to check some steps in your funcs? like, ensure each step actually did as you expected, especially when the dims and shapes of your dataset are a bit confusing.
If you are not new to programming, you should prefer a debug mode in IDE rather than writing line-by-line printout code. ++ IDE also offers us more organized details for the line we debug in.

Actually, we have 3 options for our Kaggle competition, Local - Cloud - Kaggle site.
While we know the Kaggle site is the place we posted our final work and local with IDE is the best fit for developing the solution. Why should we bother to have a Cloud one again?
An important problem for our work on Kaggle is tuning our model for the best performance. Either Kaggle's default kernel or our local computer will largely be limited by the memory and computing capacities which means we will spend longer time and try fewer ideas -- slower model building iterations...
As mentioned by Andrew Ng in the course Structuring Machine Learning Projects

Cloud computing services provide us with an option to upscale memory and computing capacities within a time range as we wanted and at an affordable price as we configured.
Personally, I used the GCP's Cloud AI Notebook which is integrated with Kaggle and possible for a single-click jump

So a brief reason why we should have a local env with IDE for Kaggle completion is offered. Also, try setup your local with an IDE and plugins you like while exploring a bit the Cloud way π