I’m new to fast.ai (and AI in general) and I’m trying my hands on the home credit competition. Already, I hit two issues. The first is the data is unbalanced. For that, I reduced the size of the unbalanced part just to see what I can get when only looking at the main table for that competition (feature engineering will come later).
The second is that the loss value is negative…
When I do a lr_find(), it was returning e-5 errors, so I used
m.crit = lambda x,y : 1000.0 * F.nll_loss(x,y)
Then, instead of e-5 errors, I get
Epoch
100% 3/3 [00:05<00:00, 1.68s/it]
epoch trn_loss val_loss
0 0.155606 -0.006989
1 0.140939 -0.006989
2 0.175914 -0.006989
I know I’m doing something wrong… can someone tell me why this is happening ?
Actually, I did find that changing the model to use regularization instead of classification
md = ColumnarModelData.from_data_frames(’’, trn_df = df, val_df = df_valid,
trn_y = y_train.astype(‘float’), val_y = y_valid.astype(‘float’),
cat_flds=cat_vars, bs=512, is_reg= True, is_multi=False)
(is_reg was False before)
gives me this output
epoch trn_loss val_loss
0 0.40384 0.399599
1 0.252705 0.217203
2 0.217781 0.237928
Since this is a classification problem, I’m still confused.