Informatika2-2014/Gyakorlat03
A MathWikiből
(Változatok közti eltérés)
(egy szerkesztő 3 közbeeső változata nincs mutatva) | |||
14. sor: | 14. sor: | ||
* Ha nincs kivétel, akkor semmi más nem történik, az egész kivételkezelő blokk után folytatódik a program | * Ha nincs kivétel, akkor semmi más nem történik, az egész kivételkezelő blokk után folytatódik a program | ||
* Ha ez nem teljesül, akkor a try-ból azonnal kilépünk, és ugrunk az exception blokkra. | * Ha ez nem teljesül, akkor a try-ból azonnal kilépünk, és ugrunk az exception blokkra. | ||
− | * Az exception blokknál megadhatjuk a hiba típusát. | + | * Az exception blokknál megadhatjuk a hiba típusát. ([http://docs.python.org/2/library/exceptions.html]) |
<python> | <python> | ||
(x,y) = (5,0) | (x,y) = (5,0) | ||
24. sor: | 24. sor: | ||
==Feladatok == | ==Feladatok == | ||
+ | |||
+ | === Jaccard === | ||
+ | |||
+ | * A múlt évrhez hasonlóan írjunk függvényt, ami kiszámolja két halmaz Jaccard hasonlóságát. | ||
+ | * A halmazokat a függény listaként kapja meg (paraméterként) | ||
=== Vásárlók === | === Vásárlók === | ||
− | * Írj programot, mely | + | * Írj programot, mely vásárlások között keresi meg a két leginkább azonosat. |
* A program bemenete egy olyan file, melyben soronként vannak felsorolva különböző vásárálások. Például: | * A program bemenete egy olyan file, melyben soronként vannak felsorolva különböző vásárálások. Például: | ||
<text> | <text> | ||
37. sor: | 42. sor: | ||
* A beolvasás után páronként vizsgálja meg a vásárlásokat. | * A beolvasás után páronként vizsgálja meg a vásárlásokat. | ||
* A hasonlóságot Jaccard-hasonlóság alapján számoljátok (használjatok halmazokat!) | * A hasonlóságot Jaccard-hasonlóság alapján számoljátok (használjatok halmazokat!) | ||
+ | * Építsünk be hibakezelést a kódba. | ||
+ | |||
+ | === CancerTesting === | ||
+ | |||
+ | * A feladat, hogy páciensek adatai alapján egy egyszerű jóslatot adjunk arról, hogy az illető beteg-e, vagy nem. | ||
+ | * Minden betegnek van sok különböző attribútuma. | ||
+ | * Ezeket egy sokoszlopos file-ban tároljuk. | ||
+ | * Egy pácienst akkor nyilvánítunk betegnek, ha minimum 5 attribútumának értéke az adott atrribútum átlaga feletti. | ||
+ | * A file-okban 1 + 10 + 1 oszlop szerepel. | ||
+ | * Az első oszlop a beteg ID-ja, a következő 10 a különböző attribútumokat jelöli, az utolsó pedig az "igazság", 1/0 érték arról, hogy a páciens valóban beteg-e. | ||
+ | * Számoljuk ki a "cancerTrainData.txt" adatai alapján az egyes attribútumok átlagait. | ||
+ | * Ezek után jósoljuk meg, hogy a "cancerTestData.txt"-ben rögzített páciensek betegek-e! | ||
+ | * Vessük össze predikciónkat a valósággal (órán részletesen). | ||
+ | * File-ok: | ||
+ | * [https://dl.dropboxusercontent.com/u/1100162/cancerTrainData.txt cancerTrainData] | ||
+ | * [https://dl.dropboxusercontent.com/u/1100162/cancerTestData.txt cancerTestData] |
A lap jelenlegi, 2014. február 25., 10:14-kori változata
Tartalomjegyzék |
Elmélet
Kivételkezelés
while True: ... try: ... x = int(raw_input("Please enter a number: ")) ... break ... except ValueError: ... print "Oops! That was no valid number. Try again..."
- Először a try blokk fut le.
- Ha nincs kivétel, akkor semmi más nem történik, az egész kivételkezelő blokk után folytatódik a program
- Ha ez nem teljesül, akkor a try-ból azonnal kilépünk, és ugrunk az exception blokkra.
- Az exception blokknál megadhatjuk a hiba típusát. ([1])
(x,y) = (5,0) try: z = x/y except ZeroDivisionError: print "divide by zero"
Feladatok
Jaccard
- A múlt évrhez hasonlóan írjunk függvényt, ami kiszámolja két halmaz Jaccard hasonlóságát.
- A halmazokat a függény listaként kapja meg (paraméterként)
Vásárlók
- Írj programot, mely vásárlások között keresi meg a két leginkább azonosat.
- A program bemenete egy olyan file, melyben soronként vannak felsorolva különböző vásárálások. Például:
kenyér paradicsom joghurt tej tejföl hagyma kenyér hagyma ...
- A program olvassa be a file minden egyes sorát.
- A beolvasás után páronként vizsgálja meg a vásárlásokat.
- A hasonlóságot Jaccard-hasonlóság alapján számoljátok (használjatok halmazokat!)
- Építsünk be hibakezelést a kódba.
CancerTesting
- A feladat, hogy páciensek adatai alapján egy egyszerű jóslatot adjunk arról, hogy az illető beteg-e, vagy nem.
- Minden betegnek van sok különböző attribútuma.
- Ezeket egy sokoszlopos file-ban tároljuk.
- Egy pácienst akkor nyilvánítunk betegnek, ha minimum 5 attribútumának értéke az adott atrribútum átlaga feletti.
- A file-okban 1 + 10 + 1 oszlop szerepel.
- Az első oszlop a beteg ID-ja, a következő 10 a különböző attribútumokat jelöli, az utolsó pedig az "igazság", 1/0 érték arról, hogy a páciens valóban beteg-e.
- Számoljuk ki a "cancerTrainData.txt" adatai alapján az egyes attribútumok átlagait.
- Ezek után jósoljuk meg, hogy a "cancerTestData.txt"-ben rögzített páciensek betegek-e!
- Vessük össze predikciónkat a valósággal (órán részletesen).
- File-ok:
- cancerTrainData
- cancerTestData