Primary competition visual

Urban Air Pollution Challenge by #ZindiWeekendz

Helping Africa
$300 USD
Completed (over 6 years ago)
Prediction
236 joined
134 active
Starti
10 Apr 20
Closei
12 Apr 20
Reveali
12 Apr 20
1st place solution
Notebooks · 14 Apr 2020, 03:56 · 14

First of all I am extremely sorry for uploading my solution so late, I was busy with some work, plus a lot of cleaning was required.

Secondly I decided not to post my link on Akeelah's thread, because it was crowded with comments and I thought it would be difficult for a few people to find my link. Kudos to Akeelah and everyone who has shared their solutions.

Congratulations to everyone who participated and learnt new things in this competition, its a win for everyone.

And lastly I am thankful to Zindi for organizing such a wonderful competition. Hope there are many more ZindiWeekendz to come.

Here is my solution

https://github.com/nikhilmishradevelop/zindi-winning-solutions

Discussion 14 answers
User avatar

Congratulation, Nikhil ! Thanks for sharing ur solution.

Upvotes 0
User avatar

Congratulations and Thanks for the solution

Upvotes 0
User avatar
msamwelmollel

Hi Nikhil,

Congratulation for the winning. Can I ask you a favour for you and other top two solutions, if you don't mind could you comment your line of codes or just state objectives on some blocks of codes. This will help most of us to closely and easily follow up your code.

I appreciate and thank you for sharing with us.

Upvotes 0
User avatar

I agree. If you can even go ahead and explain your thought process through a video, that will be much appreciated.

Upvotes 0
User avatar

msamwelmollel and Ogyao, sure I will try to make my notebook more readable, and add more comments. Thank you.

Upvotes 0
User avatar
eaedkAmbassador
Zindi Ambassador

i have some questions please, did you use a gridsearch firstly ??

and can you explain you feature engineering ?

Upvotes 0
User avatar

I added some comments and thought process about feature engineering in repo. Please check it out. I did not use any grid search, did manual tuning of hyperparams.

Upvotes 0
User avatar
eaedkAmbassador
Zindi Ambassador

ok thanks

Upvotes 0
User avatar
Paul_Okewunmi

Big thanks to you , Mishra.. Now i think i have a better understanding of your solution. If i may ask, How long did it take to train on kaggle kernel, Considering that you had over 3400 features

Upvotes 0
User avatar
Upvotes 0
User avatar
eaedkAmbassador
Zindi Ambassador

i have some questions please, did you use a gridsearch firstly ??

and can you explain you feature engineering ?

Upvotes 0
User avatar
eaedkAmbassador
Zindi Ambassador

Please why do you use train data in valid_sets with simple test data ???

Upvotes 0
User avatar

Did not understand your question?

Upvotes 0
User avatar

Hello @devnikmishra, in your code i noticed you did-

for i in range(1, 20): df[f'prev_target_{i}'] = df.sort_values(by='Date')[TARGET_COL].fillna(method='ffill').shift(i).sort_index() df[f'next_target_{i}'] = df.sort_values(by='Date')[TARGET_COL].fillna(method='bfill').shift(-i).sort_index()

yeah so this is to get previous and next target yeah but the test set does not have target column so how did use those features in making preditions please explain what you did here Thanks

and this also

for i in tqdm_notebook(range(1, 15)): df[f'magic_{i}'] = df.sort_values(by='Date')[TARGET_COL].shift(i).expanding().mean().fillna(method='ffill').sort_index() df[f'magic2_{i}'] = df.sort_values(by='Date')[TARGET_COL].shift(-i).expanding().mean().fillna(method='bfill').sort_index()

please i'ld like ur explanation

Upvotes 0