Primary competition visual

INEGI UN-GGIM Human Settlement Detection Challenge by ITU

Helping Mexico
1 000 CHF
Completed (over 1 year ago)
Classification
208 joined
84 active
Starti
Sep 02, 24
Closei
Sep 28, 24
Reveali
Oct 10, 24
User avatar
ML_Wizzard
Nasarawa State University
BASELINE NOTEBOOK
Notebooks Ā· 8 Sep 2024, 09:25 Ā· 10

I've created a baseline for the INEGI-GCIM Human Settlement Detection Challenge by ITU You can find the code at mubrij/INEGI-GCIM-Human-Settlement-Detection-Challenge-by-ITU (github.com). Please note that your results using this code may vary slightly, but my solution achieved an LB score of 0.504...

Discussion 10 answers
User avatar
nymfree

Thanks for sharing.

so we are in the same predicament in that we achieve an LB score that is more or less equivalent to random guessing. tried with several models that have good AUC score but LB == random guess. what are we missing?

8 Sep 2024, 10:28
Upvotes 1
User avatar
ML_Wizzard
Nasarawa State University

@nymfree I haven't looked deeper into the dataset yet because I was too busy, but from what I observed when creating my baseline, it seems that a machine learning model may not accurately predict well in this case. It might be better to try using a deep learning approach to capture the complexity.

Thanks for sharing. ML Wizzard and nymfree, the lower LB score is probably a result of overfitting. It will be improved if you included regularization or to make the model simpler. However, since this is an image classification task, I think it's better solved using CNN as it works really well. Thanks.

10 Sep 2024, 10:00
Upvotes 0
User avatar
nymfree

Thanks for your insight. I will double check the data and my pipeline.

User avatar
ML_Wizzard
Nasarawa State University

Sure @ahmadmwali.

User avatar
nymfree

Figured it out. you have to use the provided id_map file

10 Sep 2024, 19:51
Upvotes 1
User avatar
ML_Wizzard
Nasarawa State University

@nymfree How did you use the id_map file ??

User avatar
nymfree

Basically after making predictions, assuming all your predictions are in a list, do:

df = pd.read_csv('id_map.csv')
my_dict = {}
for i,row in df.iterrows():
    my_dict[row['id']] = row['ID']
    
sub = pd.read_csv('SampleSubmission.csv')
for i in range(len(sub)):
    sub.at[i,'class'] = test_predictions[my_dict[sub.at[i,'id']]]        
        

User avatar
ML_Wizzard
Nasarawa State University

Thank you @nymfree.