Informatika2-2014/Gyakorlat03
A MathWikiből
(Változatok közti eltérés)
(egy szerkesztő egy közbeeső változata nincs mutatva) | |||
52. sor: | 52. sor: | ||
* A file-okban 1 + 10 + 1 oszlop szerepel. | * 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. | * 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 " | + | * Számoljuk ki a "cancerTrainData.txt" adatai alapján az egyes attribútumok átlagait. |
− | * Ezek után jósoljuk meg, hogy a " | + | * 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). | * Vessük össze predikciónkat a valósággal (órán részletesen). | ||
* File-ok: | * 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