Informatika2-2014/Gyakorlat03
A MathWikiből
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