dzieciou / tree-labeller

Helps label training data using taxonomy information.
BSD 3-Clause "New" or "Revised" License
4 stars 1 forks source link

Sampling returns categories related too much #37

Closed dzieciou closed 1 year ago

dzieciou commented 1 year ago

I've tried to sample 5 elements from the Frisco taxonomy:

tree_labeller/label.py demo/marketpoint/ 5

it categories in the sample or too much related

id  name    brand   category    label
131009  Ręcznik papierowy 1 rolka, 500 listków  GO GREEN    categories>Środki czystości, chemia>Ręczniki kuchenne   
81601   Ciasto drożdżowe z kruszonką    PUTKA   categories>Piekarnia, cukiernia>Słodkie i słone wypieki 
41423   Wrapy pszenne (20 cm) - 6 szt.  CASA DE MEXICO  categories>Piekarnia, cukiernia>Pozostałe   
105231  Zawieszki przeciw molom w żelu o zapachu cedrowym 2 x 3 g   RAID    categories>Dom, biuro, auto, ogród>Preparaty owadobójcze    
128375  Zapalniczka BIC J26 BIC categories>Dom, biuro, auto, ogród>Zapalniczki i zapalarki  

Two are from Środki czystości and two are from Dom, biuro, auto, ogród.

That part is not tested

dzieciou commented 1 year ago

Here's top 50 of elements to sample from ranked by their probability to be sampled.

The problem is that if we sample without a replacement categories>Piekarnia, cukiernia>Bez glutenu there are still other categories from categories>Piekarnia, cukiernia with a high probability of being sampled

 00 = {tuple: 2} (0.0005602240896358544, 'categories>Środki czystości, chemia>Ręczniki kuchenne')
 01 = {tuple: 2} (0.0005602240896358544, 'categories>Alkohol>Super Premium')
 02 = {tuple: 2} (0.0005602240896358544, 'categories>Kawa, herbata i kakao>Kakao')
 03 = {tuple: 2} (0.0005602240896358544, 'categories>Piekarnia, cukiernia>Bez glutenu')
 04 = {tuple: 2} (0.0005602240896358544, 'categories>Piekarnia, cukiernia>Słodkie i słone wypieki')
 05 = {tuple: 2} (0.0005602240896358544, 'categories>Piekarnia, cukiernia>Pozostałe')
 06 = {tuple: 2} (0.0005602240896358544, 'categories>Piekarnia, cukiernia>Tosty')
 07 = {tuple: 2} (0.0005602240896358544, 'categories>Drogeria>Akcesoria kosmetyczne')
 08 = {tuple: 2} (0.0005602240896358544, 'categories>Dla zwierząt>Gryzonie')
 09 = {tuple: 2} (0.0005602240896358544, 'categories>Napoje>Energetyki')
 10 = {tuple: 2} (0.0005602240896358544, 'categories>Napoje>Woda')
 11 = {tuple: 2} (0.0005602240896358544, 'categories>Napoje>Roślinne')
 12 = {tuple: 2} (0.0005602240896358544, 'categories>Strefa Roślinna>Roślinne dania gotowe')
 13 = {tuple: 2} (0.0005602240896358544, 'categories>Dom, biuro, auto, ogród>Preparaty owadobójcze')
 14 = {tuple: 2} (0.0005602240896358544, 'categories>Dom, biuro, auto, ogród>Elektronika domowa')
 15 = {tuple: 2} (0.0005602240896358544, 'categories>Dom, biuro, auto, ogród>Zapalniczki i zapalarki')
 16 = {tuple: 2} (0.0005602240896358544, 'categories>Dom, biuro, auto, ogród>Auto')
 17 = {tuple: 2} (0.0005602240896358544, 'categories>Dom, biuro, auto, ogród>Grill i kominek')
 18 = {tuple: 2} (0.0005602240896358544, 'categories>Dom, biuro, auto, ogród>Świece zapachowe')
 19 = {tuple: 2} (0.0005602240896358544, 'categories>Zdrowie>Sport&Fitness')
 20 = {tuple: 2} (0.0005602240896358544, 'categories>Zdrowie>Suplementy diety')
 21 = {tuple: 2} (1.7955900308841487e-06, 'categories>Bakalie, pestki, ziarna>Bakalie>Migdały')
 22 = {tuple: 2} (1.7955900308841487e-06, 'categories>Bakalie, pestki, ziarna>Bakalie>Orzechy')
 23 = {tuple: 2} (1.7955900308841487e-06, 'categories>Bakalie, pestki, ziarna>Pestki, nasiona, ziarna>Słonecznik')
 24 = {tuple: 2} (1.7955900308841487e-06, 'categories>Bakalie, pestki, ziarna>Pestki, nasiona, ziarna>Len')
 25 = {tuple: 2} (1.7955900308841487e-06, 'categories>Bakalie, pestki, ziarna>Pestki, nasiona, ziarna>Sezam')
 26 = {tuple: 2} (1.7955900308841487e-06, 'categories>Bakalie, pestki, ziarna>Pestki, nasiona, ziarna>Pestki dyni')
 27 = {tuple: 2} (1.7955900308841487e-06, 'categories>Świeże>Warzywa i owoce>Kiełki')
 28 = {tuple: 2} (1.7955900308841487e-06, 'categories>Świeże>Nabiał, jaja, sery>Bezmleczne')
 29 = {tuple: 2} (1.7955900308841487e-06, 'categories>Świeże>Mięso i wędliny>Wędliny sojowe')
 30 = {tuple: 2} (1.7955900308841487e-06, 'categories>Świeże>Mięso i wędliny>BIO')
 31 = {tuple: 2} (1.7955900308841487e-06, 'categories>Świeże>Mięso i wędliny>Kabanosy')
 32 = {tuple: 2} (1.7955900308841487e-06, 'categories>Świeże>Ryby i owoce morza>Grill')
 33 = {tuple: 2} (1.7955900308841487e-06, 'categories>Świeże>Ryby i owoce morza>Pieczone')
 34 = {tuple: 2} (1.7955900308841487e-06, 'categories>Świeże>Ryby i owoce morza>Wędzone')
 35 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Zmywanie naczyń>Płyny do mycia naczyń')
 36 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Zmywanie naczyń>Gąbki i zmywaki')
 37 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Zmywanie naczyń>Sól i nabłyszczacz')
 38 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Zmywanie naczyń>Czyszczenie zmywarki')
 39 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Czyszczenie>Mleczka i płyny uniwersalne')
 40 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Czyszczenie>Środki do mebli')
 41 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Czyszczenie>Płyny do szyb')
 42 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Czyszczenie>Rękawiczki')
 43 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Czyszczenie>Ściereczki')
 44 = {tuple: 2} (1.7955900308841487e-06, 'categories>Środki czystości, chemia>Akcesoria kuchenne>Inne akcesoria')
 45 = {tuple: 2} (1.7955900308841487e-06, 'categories>Alkohol>Piwo>Piwo alkoholowe')
 46 = {tuple: 2} (1.7955900308841487e-06, 'categories>Alkohol>Piwo>Piwo bezalkoholowe')
 47 = {tuple: 2} (1.7955900308841487e-06, 'categories>Alkohol>Wino>Czerwone')
 48 = {tuple: 2} (1.7955900308841487e-06, 'categories>Alkohol>Wino>Różowe')
 49 = {tuple: 2} (1.7955900308841487e-06, 'categories>Alkohol>Wino>Musujące')
 __len__ = {int} 50

calculated with:

[(p.prob, p.target.target.target.long_name) for p in sorted(population, key=lambda p: -p.prob)][:50]