2013. május 12., vasárnap
Data Science-s SQL és Python gondolkodtató feladatok
1.
Kollégáim meg hajdanvolt szép emlékű SQL-levlistások körében tudott dolog volt, hogy mindig szerettem és gyűjtöttem a frappáns (demó, állásinterjús) SQL-feladatokat, amiknek ismérvei:
- Könnyű és rövid legyen elmondani
- Ne legyen benne félreértési lehetőség (egyértelműség mindenek elött)
- Rövid ám elegáns legyen a megoldás
- Annyira azért ne legyen triviális.
- stb.
Sikerült beleszaladnom egy nagyon szép SQL-feladatba.
- Adott két - egyszerűség kedvéért - 10.000 x 10.000 négyzetes, ritka, nem-negatív mátrix.
Mivel ritkák a mátrixok így csak a nullától különböző elemeket tároljuk (sor,oszlop,érték)
- Írjunk egy - akár Sqlite-ban is futni tudó - SQL-t, amelyik tetszőleges általunk választott elemét megadja a szorzat-mátrixnak.
2. És egy komplementer nem-SQL (hanem Python-) feladat is, ha az előbbi túl gyorsan meglenne :)
- Szedjük le a Twitter forgalmának (egy részét)!
- Ignoráljuk a nem angol nyelvű üzeneteket!
- Ignoráljuk az USÁ-n kívül feladott üzeneteket!
- Rendeljük hozzá az üzenetek szavaihoz egy-egy érzelmi koefficienst (szótár alapján)
- Kreáljunk a szótárban nem létező egyéb szavakra - lehetőség szerint minél intelligensebben - érzelmi koefficienst (ha a szöveg környezetben inkább pozitív szavak vannak, akkor nagyobbat, ha inkább negatívak, akkor kisebbet)
- Határozzuk meg , hogy a Twitter-üzeneteket melyik USA-államban adták fel (ugye a mobiltelefon meghatároz egy geolokációs kódot, abból kell valahogy kitalálni az USA-államot).
- Mindezt azért, hogy végül megmondhassuk, hogy melyik a legboldogabb USA-állam, a lekapott Twitter-adatforgalom pillanatában (vagyis, ahol összesítés után a legtöbb pozitív érzelmű twitter-üzenetet adták fel és egyúttal legkevesebb negatívat)
Feliratkozás:
Megjegyzések küldése (Atom)
a Pythonos feladatnál a geolokációs rész nem valami egyértelmű. Mi az hogy "a mobiltelefon meghatároz egy geolokációs kódot" ??
VálaszTörlésA pontos technikai részleteket nem tudom, ha jól sejtem a szolgáltató az SMS útját érintő gsm-hálózatos mobilállomásokból kalkulálja. Ami biztos, hogy a Twitter Stream-API-ban benne van. :)
TörlésA Pythonos feladatot sikerült végül megoldani?
VálaszTörlésÜdv,
Igen, de szégyenszemre káromkodtam is közben, mert túl sok idő alatt túl keveset haladtam vele, miközben a Python túlságosan új volt számomra.
VálaszTörlésKésőbbiekben az SQL-től kezdve már csupa mosolygás és derü volt a megoldás is :), csak ezt a Python-feladatot éreztem első "barátkozásnak" kicsit durvának, mint az egyszeri székely a közismert viccben:
http://www.vicclap.hu/vicc/szekely/21277/Vicc.html
Két székely favágó ballag az erdőben. Egyszer csak az egyik fogja a fejszét, és se szó, se beszéd, belevágja a másik hátába. Ballagnak tovább, ez egy idő után megkérdezi:
- Te koma, ez most vicc vót?
- Nem a'!
- Akkor jól van, mert viccnek egy kicsit durva vóna.