And the modeling is pretty much the same story.
So, it's type problem has its own type of model that works best.
Now, I don't want to go through that list again,
I put it here so that you can use it for reference.
But, again, the way you work this out is you look for literature,
you sense other previous competitions that were
similar and you try to find which type of problem,
which type of model or best for its type of problem.
And it's not surprise that for typical dataset,
when I say typical dataset I mean,
tabular dataset rather boosting machines in the form of [inaudible] turned to
rock fest for problems like aim as classification sound classification,
deep learning in the form of convolutional neural networks tend to work better.
So, this is roughly what you need to know.
New techniques are being developed so,
I think your best chance here or what I have used in order to
do well in the past was knowing what's tends to work well with its problem,
and going backwards and trying to find other code or
other implementations and similar problems in order
to integrate it with mine and try to get a better result.
I should mention that each of
the previous models needs to be changed sometimes differently.
So you need to spend time within
this cross-validation strategy in order to find the best parameters,
and then we move onto Ensembling.
Every time you apply
your cross-validation procedure with
a different feature engineering and a different joint model,
it's time, you saved two types of predictions,
you save predictions for the validation data and you save predictions for the test data.
So now that you have saved all these predictions and by the way this is the point
that if you collaborate with others that tend to send you the predictions,
and you'll be surprised that sometime that collaboration is just this.
So people just sending these prediction files for the validation and the test data.
So now you can find the best way to combine
these models in order to get the best results.
And since you already have predictions for the validation data,
you know the target variable for the validation data,
so you can explore different ways to combine them.
The methods could be simple,
could be an average,
or already average, or it can go up to a multilayer stacking in general.
Generally, what you need to know is that from my experience,
smaller data requires simple ensemble techniques like averaging.
And also what tends to show is to look at correlation between predictions.
So find it here that work well,
but they tend to be quite diverse.
So, when you use fusion correlation,
the correlation is not very high.
That means they are likely to bring new information,
and so when you combine you get the most out of it.
But if you have bigger data there are,
you got pretty must try all sorts of things.
What I like to think of is it is that,
when you have really big data,
the stacking process that impedes the modeling process.
By that, I mean that you have
a new set of features this time they are predictions of models,
but you can apply the same process you have used before.
So you can do feature engineering,
you can create new features or you can remove the features/ prediction that
you no longer need and you can use this in
order to improve the results for your validation data.
This process can be quite exhaustive,
but well, again, it can be automated to some extent.
So, the more time you have here,
most probably the better you will do.
But from my experience, 2,
3 days is good in order to get the best out of all the models you have built and depends
obviously on the volume of data or
volume of predictions you have generated up until this point.
At this point I would like to share a few thoughts about collaboration.
Many people have asked me this and I think this is a good point to share.
These ideas has greatly helped me to do well in competitions.
The first thing is that it makes things more fun.
I mean you are not alone,
you're with other people and that's always more energizing,
it's always more interesting, it's more fun,
you can communicate with the others through times like Skype,
and yeah I think it's more collaborative as the world says, it is better.
You learn more.
I mean you can be really good,
but, you know, you always always learn from others.
No way to know everything yourself.
So it's really good to be able to share points with other people,
see what they do learn from them and become
better and grow as a data scientist, as a model.
From my experience you score far better than trying to solve a problem alone,
and I think these happens for mainly for two ways.
There are more but these are main two.
First you can cover more ground because,
you can say, you can focus on ensembling,
I will focus on feature engineering or you will focus on
joining this type of model and I will focus on another type of model.
So, you can generally cover more ground.
You can divide task and you can search,
you can cover more ground in terms of the possible things you can try in a competition.
The second thing is that every person sees the problem from different angles.
So, that's very likely to generate more diverse predictions.
So something we do is although we kind of
define together by the different strategy when we form teams,
then we would like to work for maybe
one week separately without discussing with one another,
because this helps to create diversity.
Otherwise, if we over discuss this,
we might generate pretty much the same things.
So, in other words,
our solutions might be too correlated to add more value.
So, this is a good way in order to
leverage the different mindset each person has in solving these problems.
So, for one week,
each one works separately and then after some point,
we start combining or work more closely.
I would advise people to start collaborating after getting some experience,
and I say here two or three competitions just because Cargo has some rules.
Sometimes, it is easy to make mistakes.
I think it's better to understand the environment,
the competition environment well before
exploring these options in order to make certain that,
no mistakes are done,
no violation of the rules.
Sometimes new people tend to make these mistakes.
So, it's good to have this experience prior to trying to collaborating.
I advise people to start forming teams with people around their rank
because sometimes it is frustrating when you
join a high rank or a very experienced team I would say.
It's bad to say experience from rank,
because you don't know sometimes how to contribute,
you still don't understand all the competition dynamics and it might stall your progress,
if you join a team and you're not able to contribute.
So, I think it's better to, in most cases,
to try and find people around your rank or around your experience and grow together.
This way is the best form of collaboration I think.
Another tip for collaborating is to try to collaborate
with people that are likely to take
diverse approaches or different approaches than yourself.
You learn more this way and it is more likely that when you combine,
you will get a better score.
So, such for people who are sort of famous
for doing well certain things and in order to get the most out of it,
to learn more from each other and get better results in the leader board.
About selecting submissions, I have employed a strategy that many people have done.
So normally, I select the best submissions I see in
my internal result and the one that work best on the leader board.
At the same time, I also look for correlations.
So, if two submissions,
they tend to be the same pretty much.
So, the one that was the best submission locally,
was also the best on leader boards,
I try to find
other submissions that still work well but they are likely to be quite diverse.
So, they have low correlations with my best submission because this way, I might capture,
I might be lucky,
it maybe be a special type of test data set and just by having a diverse submission,
I might be lucky to get a good score.
So that's the main idea about this.
Some tips I would like to share now in general about competitive modeling,
on land modeling and in Cargo specifically.
In these challenges, you never lose.
[inaudible] lose, yes you may not win prize money.
Out of 5000 people,
sometimes it's difficult to be,
almost to impossible to be in the top three or four that
gives prizes but you always gain in terms of knowledge,
in terms of experience.
You get to collaborate with other people which are talented in the field,
you get to add it to your CV that you try to solve this particular problem,
and I can tell you there has been some criticists here,
people doubt that doing these competitions stops your employ-ability but
I can tell you that i know many examples and not want us,
they really thought the Ocean Cargo like Master
and Grand-master that just by having kind of experience,
they have been able to find very decent jobs and even if they had
completely diverse backgrounds to the science.
So, I can tell you it matters.
So, any time you spend here,
it's definitely a win for you.
I don't see how you can lose by competing in these challenges.
You mean if this is something you like right.
The whole predictive modeling that the science think.
Coffee tempts to shop,
because you tend to spend longer hours.
I tend to do this especially late at night.
So it definitely tells me something to consider or to be
honest any other beverage will do: depends what you like.
I see it a bit like a game and I
advise you to do the same because if you see it like a game,
you never need to work for it.
If you know what I mean.
So it looks a bit like NRPT.
In some way, you have some tools or weapons.
These are all the algorithms and feature engineering techniques you can use.
And then you have this core leader board and you try to beat
all the bad guys and to beat the score and rise above them.
So in a way does look like a game.
You know you try to use all the tools,
all the skills that you have to try to beat the score.
So, I think if you see it like a game it really helps you.
You don't get tired and you enjoy the process more.
I do advise you to take a break though,
from my experience you may spend long hours hitting
on it and that's not good for your body.
You definitely need to take some breaks and do some physical exercise.
Go out for a walk.
I think it can help most of the times by
resting your mind this way can actually help to do better.
You have more rested heart, more clear thinking.
So, I definitely advise you to do this,
generally don't overdo it.
I have overnighted in the past but i advise you not to do the same.
And now there is a thing that I would like to
highlight is that the Cargo community is great.
Is one of the most open and helpful helpful communities
have experience in any social context,
maybe apart from Charities but if you have a question and you posted on
the forums or other associated channels like in Slug
and people are always willing to help you.That's great,
because there are so many people out there and most probably they
know the answer or they can help you for a particular problem.
And this is invaluable.
So many times i have really made use of this,
of this option and it really helps.
You know this kind of mentality was there even before the serine was gamified.
When I say gamified, now you get points by
sharping in a way by sharing code or participating in discussions.
But in the past, people were doing without really getting something out of it.
It maybe the open source mentality of
data science that the fact that many people participating are researchers.
I don't know but it really is a field
that sharing seems to be really important in helping others.
So, I do advise you to consider this and don't be afraid to ask in these forums.
Another thing that I do at shops,
is that after the competition has ended irrespective of how well or not you've done,
is go and look for other people and what they have done.
Normally, there are threads where people share their approaches,
sometimes they share the whole approach would go to sometimes it just
give tips and you know
this is where you can upgrade your tools
and you can see what other people have done and make improvements.
And in tandem with this,
you should have a notebook of useful methods that
you keep updating it at the end of every competition.
So, you found an approach that was good,
you just add it to that notebook and next
time you encounter the same or similar competition you get
that notebook out and you apply
the same techniques at work in the past and this is how you get better.
Actually, if i now start a competition without that notebook,
i think it will take me three or four times more in order to get to
the same score because a lot of the things that I do
now depend on stuff that i have done in the past.
So, it's definitely helpful,
consider creating this notebook or library of all the approaches or
approaches that have worked in the past in order to have an easier time going on.
And that was what I wanted to share with you and
thank you very much for bearing with me and to see you next time, right.