42-AI / bootcamp_machine-learning

Bootcamp to learn basics in Machine Learning
Other
205 stars 41 forks source link

ML00 ex01 (correction): Wrong examples #233

Open mli42 opened 2 years ago

mli42 commented 2 years ago

The correction page gives this test:

import TinyStatistician as ts
data = [42, 7, 69, 18, 352, 3, 650, 754, 438, 2659]
epsilon = 1e-5
err = "Error, grade 0 :("
tstat = ts.TinyStatistician()
assert abs(tstat.mean(data) - 499.2) < epsilon, err
assert abs(tstat.median(data) - 210.5) < epsilon, err
quartile = tstat.quartile(data)
assert abs(quartile[0] - 18) < epsilon, err
assert abs(quartile[1] - 650) < epsilon, err
assert abs(tstat.percentile(data, 10) - 3) < epsilon, err
assert abs(tstat.percentile(data, 28) - 18) < epsilon, err
assert abs(tstat.percentile(data, 83) - 754) < epsilon, err
assert abs(tstat.var(data) - 654661) < epsilon, err
assert abs(tstat.std(data) - 809.11) < epsilon, err

But my code (which is right with the subject's examples) has different result for quartile/percentile/var/std. \ (Apparently an issue for var and std already exist)

Definition of done

Fixed on:

mli42 commented 2 years ago

Ping @madvid

madvid commented 2 years ago

fix en cours (PR sont open), les valeurs sont corrigés sur la scale de correction et les formules de la variance et de la deviation standard dans le cadre d'un échantillon sont corrigées aussi.

Je me mets sur le pb de quartile et percentile

madvid commented 2 years ago

Du coup @mli42, j'ai update la partie sur les percentiles (sujet + exemples et correction). Pour plus qu'il y ait de débat, on demande comme le comportement par défaut numpy (interpolation entre les 2 quantiles les plus proches, les valeurs au sein de la liste). Parce qu'il y a plusieurs définition et que l'erreur venait justement de définitions différentes

mli42 commented 2 years ago

Super ! Merci bcp @madvid 👌