Magamról

Saját fotó
Főiskolai, majd egyetemi diplomamunkáimtól kezdve világ életemben, adatok, adatbázisok, adattárházak (leginkább Oracle) környékén mozogtam. Mostanság adattárházasként, adatbányászként élem napjaimat.

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)

4 megjegyzés:

  1. 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és
    Válaszok
    1. A 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és
  2. A Pythonos feladatot sikerült végül megoldani?
    Üdv,

    VálaszTörlés
  3. 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.

    Ké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.

    VálaszTörlés