Informatika1-2012/HF4

A MathWikiből
(Változatok közti eltérés)
(Bevezetés)
 
(2 szerkesztő 14 közbeeső változata nincs mutatva)
1. sor: 1. sor:
====Bevezetés====
+
====4. házi feladat====
 +
(kitűző/javító: Pálovics Róbert)
  
Gyakori feladat, hogy két halmazról kell eldöntenünk, mennyire "hasonlóak". Például:
+
Gyakori feladat, hogy két halmazról kell eldöntenünk, mennyire "hasonlóak". Például
  
 
* meg kell mondanunk, hogy két vásárló mennyire vett azonos termékeket
 
* meg kell mondanunk, hogy két vásárló mennyire vett azonos termékeket
 
* két ember mennyire olvas hasonló könyvket, hallgat azonos zenét, ...
 
* két ember mennyire olvas hasonló könyvket, hallgat azonos zenét, ...
  
Az alapfeladat, hogy eldöntsük Sage-ben két listáról, hogy "mennyire tartalmaznak azonos elemeket".(A listák egy-egy matematikai értelemben vett halmaznak felelnek meg.)
+
Az alapfeladat, hogy eldöntsük Sage-ben két listáról, hogy "mennyire tartalmaznak azonos elemeket". (A listák egy-egy matematikai értelemben vett halmaznak felelnek meg.)
  
* Multiplicitás nélküli halmazok összehasonlításának egyik módja a Jaccard index kiszámítása. Ez egyszerűen két halmaz metszetének és uniójának hányadosa: [http://en.wikipedia.org/wiki/Jaccard_index | Jaccard index]
+
* Multiplicitás nélküli halmazok összehasonlításának egyik módja a Jaccard index kiszámítása. Ez egyszerűen két halmaz metszetének és uniójának hányadosa: [http://en.wikipedia.org/wiki/Jaccard_index Jaccard index]
 
*Írj sage függvényt, mely
 
*Írj sage függvényt, mely
 
* bemenetként megkap két listát,
 
* bemenetként megkap két listát,
* kiszámolja a két lista Jaccard-távolságát,
+
* kiszámolja a két lista Jaccard-indexét,
* nem dolgozik multiplicitással, tehát például a ['ferrari','mercedes','ferrari'] és ['mercedes','williams'] listák hasonlósága 1/3.
+
* nem dolgozik multiplicitással, tehát például a ['ferrari','mercedes','ferrari', 'mercedes'] és ['mercedes','williams','mercedes'] listák hasonlósága 1/3.
 
* A függvény neve legyen "jaccard_index".
 
* A függvény neve legyen "jaccard_index".
 
* Számítsd ki a függvénnyel a ['U2','Isis', 'Slash','sleepmakeswaves', 'Coldplay', 'Maybeshewill'] és ['Isis','Slash','Amplifier', 'Led Zeppelin', 'U2'] listák hasonlóságát!
 
* Számítsd ki a függvénnyel a ['U2','Isis', 'Slash','sleepmakeswaves', 'Coldplay', 'Maybeshewill'] és ['Isis','Slash','Amplifier', 'Led Zeppelin', 'U2'] listák hasonlóságát!
* Segítség: a gaykorlat "szószámláló" és "szótár összehasonlító" függvényeinél látott ötletek segíthetnek. Azonban a feladat nagyon sokféleképp megoldható, és ennek megfelelően sokféle jó megoldást el tudunk fogadni.
+
* Írj "jaccard_multi" függvényt, mely a metszet és únió számítása esetén a halmazok elemeit multiplicitással veszi figyelembe. Tehát az előző példára visszatérve: ['ferrari','mercedes','ferrari', 'mercedes'] és ['mercedes','williams','mercedes'] listák hasonlósága most 2/5.
 +
* Ellenőrizd le az 1/3 (jaccard_index) és 2/5 (jaccard_multi) eredményket az autós listákra.
 +
* Segítség: a gyakorlat "szószámláló" és "szótár összehasonlító" függvényeinél látott ötletek segíthetnek. Azonban a feladat nagyon sokféleképp megoldható, és ennek megfelelően sokféle jó megoldást el tudunk fogadni.
  
*Általánosan az ún. "Tanimoto" hasonlóság adja meg (többek között) két halmaz hasonlóságát. A és B halmazok hasonlósága ebben az esetben a következő [ http://upload.wikimedia.org/math/6/b/2/6b260afdf37ef02644acc4870a233d25.png| T(A,B) ].
+
A házit most a következőképp küldjétek: A sage worksheetet a szokásos konvenció alapján (T2_HF4_kovacspisti) nevezzétek el, majd osszátok meg a sage szerveren '''palovics''' felhasználóval. Ha bármi kérdés merül fel, jelezzetek, írjatok nyugodtan.  
 +
 
 +
Update: Ha meg van nyitva egy worksheet-etek, akkor a megosztó gomb, jobb fent a kék Share gomb, utána írjátok a box-ba a nevet akivel meg akarjátok osztani, majd az Invite Collaborators gomb.

A lap jelenlegi, 2012. október 23., 10:15-kori változata

4. házi feladat

(kitűző/javító: Pálovics Róbert)

Gyakori feladat, hogy két halmazról kell eldöntenünk, mennyire "hasonlóak". Például

  • meg kell mondanunk, hogy két vásárló mennyire vett azonos termékeket
  • két ember mennyire olvas hasonló könyvket, hallgat azonos zenét, ...

Az alapfeladat, hogy eldöntsük Sage-ben két listáról, hogy "mennyire tartalmaznak azonos elemeket". (A listák egy-egy matematikai értelemben vett halmaznak felelnek meg.)

  • Multiplicitás nélküli halmazok összehasonlításának egyik módja a Jaccard index kiszámítása. Ez egyszerűen két halmaz metszetének és uniójának hányadosa: Jaccard index
  • Írj sage függvényt, mely
  • bemenetként megkap két listát,
  • kiszámolja a két lista Jaccard-indexét,
  • nem dolgozik multiplicitással, tehát például a ['ferrari','mercedes','ferrari', 'mercedes'] és ['mercedes','williams','mercedes'] listák hasonlósága 1/3.
  • A függvény neve legyen "jaccard_index".
  • Számítsd ki a függvénnyel a ['U2','Isis', 'Slash','sleepmakeswaves', 'Coldplay', 'Maybeshewill'] és ['Isis','Slash','Amplifier', 'Led Zeppelin', 'U2'] listák hasonlóságát!
  • Írj "jaccard_multi" függvényt, mely a metszet és únió számítása esetén a halmazok elemeit multiplicitással veszi figyelembe. Tehát az előző példára visszatérve: ['ferrari','mercedes','ferrari', 'mercedes'] és ['mercedes','williams','mercedes'] listák hasonlósága most 2/5.
  • Ellenőrizd le az 1/3 (jaccard_index) és 2/5 (jaccard_multi) eredményket az autós listákra.
  • Segítség: a gyakorlat "szószámláló" és "szótár összehasonlító" függvényeinél látott ötletek segíthetnek. Azonban a feladat nagyon sokféleképp megoldható, és ennek megfelelően sokféle jó megoldást el tudunk fogadni.

A házit most a következőképp küldjétek: A sage worksheetet a szokásos konvenció alapján (T2_HF4_kovacspisti) nevezzétek el, majd osszátok meg a sage szerveren palovics felhasználóval. Ha bármi kérdés merül fel, jelezzetek, írjatok nyugodtan.

Update: Ha meg van nyitva egy worksheet-etek, akkor a megosztó gomb, jobb fent a kék Share gomb, utána írjátok a box-ba a nevet akivel meg akarjátok osztani, majd az Invite Collaborators gomb.

Személyes eszközök