“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.
In this interview, we cover a range of topics, including:
- Agnis Liukis’ Education and Work
- Agnis’ Kaggle Journey from Scratch to becoming a Kaggle Grandmaster
- Agnis’ Advice for Beginners in Data Science
- Agnis’ Inspiration and Future plans
So without any further ado, let begin!
Agnis Liukis’ Education and Work
Analytics Vidhya(AV): You’re a lead software developer and also a Kaggle Competition Grandmaster. Most people tend to transition from SDE to a Data scientist but you’re handling both profiles concurrently. How do you manage both of these profiles?
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.
Agnis’ Kaggle Journey from Scratch
AV: You’re currently ranked 22 in Kaggle Competitions and you have achieved 9th rank in the past, this is a great achievement. During your journey till now, you must have faced some challenges in the beginning when you started participating in hackathons. Can you list down those challenges and also how did you overcome them?
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.
AV: How did you improve your performance in the competitions from being in the top 50% finishers to the top 1%?
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.
AV: You’ve participated in over 100 competitions, this is a huge number. Around 91% of times, you tend to go solo, i.e you participated individually and not as a team. So according to you what are the profits of participating individually in competitions? And also what are things one should keep in mind while participating as a team?
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.
AV: Do you focus on one competition at a time or you can manage multiple at a time? Which one do you prefer and why?
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.
AV: What do you look for in a competition before participating in it? What should one look for in a competition before investing his/her time in any hackathon?
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.
AV: Is finishing in the top 1% like finding the key to a secret door, where you know the exact framework and strategy on how to solve any hackathon, in the future as well?
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.
Agnis’ Advice for Beginners in Data Science
AV: Machine Learning is growing rapidly, a new library is introduced every now and then in the market. How do you keep up with all the development in this field and how do you implement these new state of the art algorithms/frameworks in the competitions?
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.
Agnis’ Inspiration and Future plans
AV: Can you name five Data Science experts from Kaggle whose work always inspires you?
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-
- Kaggle Grandmaster Series – Notebooks Grandmaster and Rank #2 Dan Becker’s Data Science Journey!
- Kaggle Grandmaster Series – Exclusive Interview with Andrey Lukyanenko (Notebooks and Discussions Grandmaster)
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!You can also read this article on our Mobile APP