“When it comes to implementing some algorithm, my programming skills help a lot in that. I would say that Python is a must-to-know programming language for any Data Scientist”-Agnis Liukis
We have often seen people dwelling in unrequired probing when it comes to choosing a language to learn data science. Even when the other fellow data scientists in the community recommend python.
But what, when a Kaggle Competition Grandmaster, recommends Python? We are back with another interview in the Kaggle Grandmaster Series and today we have Agnis Liukis with us.
Agnis currently holds the 21st Rank as a Kaggle Grandmaster and has 8 Gold Medals to his name. He is also a Kaggle Expert in the Notebooks and Discussion section.
Further, Agnis has a Master’s degree in Information Technology from Rigas Tehniska Universitate and has 10+ years of work experience. He currently works as a Lead Software Architect at Tieto. And he brings all his experience onto the table.
So without any further ado, let begin!
Agnis Liukis(AL): In the IT world I have two main interests – Web Technologies and Data Science, having one of these as a full-time job, and the second one as a hobby. Currently, I’m working as a Lead Software Architect in TietoEVRY in Latvia and my main focus there is web technologies. Therefore, in my free time, I’m focusing mainly on data science. I guess if I had my daily job as a Data Scientist, I would probably spend evenings building some web solutions.
AL: The biggest challenge for me has always been the lack of time. Especially at the very beginning, when I just started to compete on Kaggle – there were really a lot of new things to learn. And learning new things takes time. I was new not only to Kaggle but to Data Science in general. So I had to learn everything, starting with Machine Learning algorithms, tools, libraries, and also the theory behind all of these. Now it’s a little bit easier, as I have already gained some experience with quite a lot of different Machine learning problems, approaches and that really helps in competing.
But as Data Science is a very rapidly growing and changing field, one can never say that he knows everything. New tools, models, algorithms are appearing all the time, so the learning never ends.
AL: Actually, I’ve never been in the top 50% finishers ☺ In my very first competition on Kaggle I finished 48th out of 1680 participants, which was top 3%. I was strong in mathematics and statistics and that helped me to get good results even without knowing much about Machine Learning at the beginning. I think many competitors underestimate the power of mathematics and statistics – it can often bring some additional gain to typical Machine Learning approaches.
As time passed by, I was learning more and more about Data Science and Machine Learning and that allowed me to improve my performance in competitions. I really like learning new things and I think in Data Science that is a very necessary condition to succeed.
AL: I’ve participated seriously in about 20+ competitions out of those 100 plus competitions. In the beginning, I’m typically entering every competition on Kaggle – just to see the data, get familiar with the problem, and then to decide if I want to continue. Some competitions (especially those with image or video data) require too much computational power to be competitive. Some problems simply don’t seem interesting enough to me, so I discard them at some point. I team up only when I’m confident that I want to compete seriously in that particular competition.
There are benefits in both – participating solo and being a member of a team. When I’m participating individually, I have more freedom – I can spend as much time as I want, I can stop competing at any time or switch to some other competition.
When competing as a team, each team member has a responsibility against others. Of course, working in a team, in general, is much more fun. It is also easier, as team members can split tasks between them, and can learn one from another.
AL: Typically, I seriously compete in just one competition at a time. I’ve tried a couple of times to handle two competitions parallelly – but in the reality, I usually don’t have enough time even for one competition to test all the ideas I have. Therefore, switching between two of them, worsens results in both, compared to those I would have competing just in one.
If I had to choose between finishing Top 20 in two competitions or finishing Top 10 in just one, I would choose that one Top 10 without any doubt. It’s great fun to fight for the very top places.
AL: First of all, I choose the competitions which provide some interesting problems to solve. It is hard to compete for many weeks in a row if the problem doesn’t seem interesting. Sometimes, I choose competitions based on some technical skill I want to learn or improve. For example, I could choose some NLP competition when I want to improve my skills by working with text data.
AL: From my experience, finishing in the very top places often requires finding some secret, indeed. Something, that most other competitors didn’t notice. That may be some insight, some strong feature, or maybe some unique approach to the problem. But almost always that special finding applies just to that one particular competition. So in the other competitions, a different secret key must be searched for.
AL: I would say, that keeping up-to-date with all the newest trends and libraries in Data Science is one of the reasons why I’m actively competing on Kaggle. If something is really powerful and worth knowing, that will definitely appear on Kaggle in some discussions, notebooks, or in the description of the winning solution.
Of course, I also read blogs, research papers about Data Science and Machine Learning topics.
When it comes to implementing some algorithm, my programming skills help a lot in that. I would say that Python is a must-to-know programming language for any Data Scientist.
AL: Can I name also myself? 😀
Ok, seriously, then, first, I would name Evgeny Patekha – we have worked in a team four times and always with very good results. He is a very strong Data Scientist and always manages to build simple, but very effective models.
Then, I guess everybody competing on Kaggle knows Chris Deotte. I haven’t had a chance to team up with Chris yet, but I’ve seen many great notebooks and posts made by him.
I would name also Guanshuo Xu, who is currently ranked 1st in global competitions ranking. He has had several solo 1st places in competitions in the last year. Winning a Kaggle competition is extremely hard by itself, but finishing first without teaming is even harder.
That’s not five yet, but I don’t want to choose any particular ones as there are many more very strong and talented Data Scientists among competitors on Kaggle. And I have had that great opportunity to work in a team with some of them.
Wow! That was an amazing interview. I hope this helped you solve the programming language and understand the relevance of focussing on one competition at a time.
This is the eighth interview of the Kaggle Grandmasters Series. We recommend you go through a couple of the previous interviews as well-
What did you learn from this interview? Are there other data science leaders you would want us to interview? Let me know in the comments section below!
Tku and desirous put in earnestly for a course of study Python although short of age, experience, adaption or technique related to attendance at cited offer. Pls suggest