# My approach (4.22 CV / 3.704 public LB)

**URL:** https://forum.crunchdao.com/t/my-approach-4-22-cv-3-704-public-lb/351
**Category:** ADIA Lab
**Created:** [August 18, 2023, 9:28am UTC](https://forum.crunchdao.com/t/my-approach-4-22-cv-3-704-public-lb/351 "2023-08-18T09:28:28Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![salty-francisco](https://forum.crunchdao.com/user_avatar/forum.crunchdao.com/salty-francisco/32/104_2.png) [@salty-francisco](https://forum.crunchdao.com/u/salty-francisco)
#### Post date: [August 18, 2023, 9:28am UTC](https://forum.crunchdao.com/t/my-approach-4-22-cv-3-704-public-lb/351/1 "2023-08-18T09:28:28Z")

</div>

**Approach**

I’d like to detail my approach and share the validation results.  
All validations results are calculated as an average from moon 50 to moon 268.

I used four types of models:

- LightGBM (CV 3.74) (100 features) (loss rmse)
- ExtraTreesRegressor (CV 3.65) (100 features) (loss squared\_error)
- Catboost (CV 3.68) (89 features) (loss rmse)
- NN (CV 3.56) (89 features) (loss mse)

I selected the features with forward feature selection.

**Validation and Results:**  
Through stacking these models I got CV 4.22 (LB 3.704).

 ![image](https://forum.crunchdao.com/uploads/default/original/1X/482244612370c496279f97718cee04f457707352.png)

**Target transformation**  
np.log1p(target)

**Extra features**  
Number of IDs in the previous moons

**CV-LB consistency**  
I found that big improvements were reflected in LB but sometimes small improvements were not reflected due to certain degree of randomness that exists

**Historical data and retraining**  
I found that just using last 10 moons for training gives the best results in my case, so I put 1 retrain every moon and the training data is the last 10 moons.

**Observation on Randomness:**  
During the course of the competition, my best public submission (4.15 LB) was obtained inadvertently due to a bug in the code. This discovery sheds light on the presence of a certain degree of randomness inherent in the competition.

---

<div class="post-metadata">

### Author: ![subtle-rajat](https://forum.crunchdao.com/user_avatar/forum.crunchdao.com/subtle-rajat/32/207_2.png) [@subtle-rajat](https://forum.crunchdao.com/u/subtle-rajat)
#### Post date: [August 18, 2023, 4:46pm UTC](https://forum.crunchdao.com/t/my-approach-4-22-cv-3-704-public-lb/351/2 "2023-08-18T16:46:33Z")

</div>

What was the train frequency set?

---

<div class="post-metadata">

### Author: ![salty-francisco](https://forum.crunchdao.com/user_avatar/forum.crunchdao.com/salty-francisco/32/104_2.png) [@salty-francisco](https://forum.crunchdao.com/u/salty-francisco)
#### Post date: [August 18, 2023, 5:18pm UTC](https://forum.crunchdao.com/t/my-approach-4-22-cv-3-704-public-lb/351/3 "2023-08-18T17:18:31Z")

</div>

I train it every moon because my training time is short.

---

<div class="post-metadata">

### Author: ![narrow-oskar](https://forum.crunchdao.com/user_avatar/forum.crunchdao.com/narrow-oskar/32/188_2.png) [@narrow-oskar](https://forum.crunchdao.com/u/narrow-oskar)
#### Post date: [August 21, 2023, 12:31pm UTC](https://forum.crunchdao.com/t/my-approach-4-22-cv-3-704-public-lb/351/4 "2023-08-21T12:31:22Z")

</div>

The CV scores you presented were calculated using a rolling-origin CV (retrain on each date using last 10 dates). Correct?

---

<div class="post-metadata">

### Author: ![salty-francisco](https://forum.crunchdao.com/user_avatar/forum.crunchdao.com/salty-francisco/32/104_2.png) [@salty-francisco](https://forum.crunchdao.com/u/salty-francisco)
#### Post date: [August 21, 2023, 12:41pm UTC](https://forum.crunchdao.com/t/my-approach-4-22-cv-3-704-public-lb/351/5 "2023-08-21T12:41:56Z")

</div>

yes, exactly!

---

<div class="post-metadata">

### Author: ![anxious-james](https://forum.crunchdao.com/user_avatar/forum.crunchdao.com/anxious-james/32/161_2.png) [@anxious-james](https://forum.crunchdao.com/u/anxious-james)
#### Post date: [August 25, 2023, 4:04pm UTC](https://forum.crunchdao.com/t/my-approach-4-22-cv-3-704-public-lb/351/6 "2023-08-25T16:04:17Z")

</div>

> [@salty-francisco](#):
>
> np.log1p(target)

Can you explain the rationale behind this target transformation?

---

<div class="post-metadata">

### Author: ![tropical-lucas](https://forum.crunchdao.com/user_avatar/forum.crunchdao.com/tropical-lucas/32/211_2.png) [@tropical-lucas](https://forum.crunchdao.com/u/tropical-lucas)
#### Post date: [August 27, 2023, 5:57pm UTC](https://forum.crunchdao.com/t/my-approach-4-22-cv-3-704-public-lb/351/7 "2023-08-27T17:57:16Z")

</div>

I am curious now. How are the features selected ?
