{ "cells": [ { "cell_type": "markdown", "metadata": { "lang": "sl" }, "source": [ "## Iskanje strukture v podatkih\n", "\n", "Podatkovno rudarjenje, naloga, 13. april 2025\n", "**Gašper Dobrovoljc**" ] }, { "cell_type": "markdown", "metadata": { "lang": "sl" }, "source": [ "Z modeliranjem skušamo poiskati strukturo v podatkih. Z metodami nenadzorovanga modeliranja skušamo poiskati skupine podobnih podatkov oz. skupine primerov.\n", "\n", "V nalogi boste uporabili modeliranje verjetnostnih porazdelitev za iskanje osamelcev ter metode za iskanje skupin podobnih primerov (gručenje)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Podatki\n", "\n", "Opis podatkovne zbirke MovieLens ostaja enak prvi nalogi." ] }, { "metadata": { "ExecuteTime": { "end_time": "2025-04-13T19:29:49.004377Z", "start_time": "2025-04-13T19:29:48.481942Z" } }, "cell_type": "code", "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "ratings = pd.read_csv('./podatki/ml-latest-small/ratings.csv')\n", "movies = pd.read_csv('./podatki/ml-latest-small/movies.csv')\n", "\n", "ratings['timestamp'] = pd.to_datetime(ratings['timestamp'], unit='s')" ], "outputs": [], "execution_count": 1 }, { "cell_type": "markdown", "metadata": { "lang": "sl" }, "source": [ "### Vprašanja\n", "\n", "Z uporabo principov, ki ste jih spoznali na vajah in predavanjih, odgovorite na\n", "spodnja vprašanja. Pri vsakem vprašanju dobro premislite, na kakšen način boste\n", "najbolje podali, prikazali oz. utemeljili odgovor. Bistven del so odgovori na\n", "vprašanja in ne toliko implementacija vaše rešitve." ] }, { "cell_type": "markdown", "metadata": { "lang": "sl" }, "source": [ "#### 1. Iskanje osamelcev (50%) \n", "O ocenah katerih filmov so si uporabniki najmanj enotni? Povedano drugače, za katere filme so pripadajoče ocene najbolj razpršene?\n", "\n", "Formuliraj problem kot modeliranje verjetnostne porazdelitve. Premisli o naslednjih vprašanjih, naredi ustrezne poizkuse in odgovori." ] }, { "metadata": { "ExecuteTime": { "end_time": "2025-04-13T19:29:49.021962Z", "start_time": "2025-04-13T19:29:49.009148Z" } }, "cell_type": "code", "source": [ "ratings_agg = ratings.groupby('movieId')['rating'].agg(['count', 'var'])\n", "ratings_agg = ratings_agg[ratings_agg['count'] >= 5]\n", "\n", "ratings_agg.merge(movies, on='movieId').sort_values(by='var', ascending=False)" ], "outputs": [ { "data": { "text/plain": [ " movieId count var \\\n", "2042 3973 5 4.550000 \n", "1305 2365 5 4.200000 \n", "1428 2570 5 3.500000 \n", "2515 6535 6 3.366667 \n", "1993 3813 6 3.366667 \n", "... ... ... ... \n", "2167 4356 6 0.041667 \n", "239 346 6 0.000000 \n", "1348 2417 5 0.000000 \n", "1510 2749 5 0.000000 \n", "483 829 7 0.000000 \n", "\n", " title \\\n", "2042 Book of Shadows: Blair Witch 2 (2000) \n", "1305 King Kong vs. Godzilla (Kingukongu tai Gojira)... \n", "1428 Walk on the Moon, A (1999) \n", "2515 Legally Blonde 2: Red, White & Blonde (2003) \n", "1993 Interiors (1978) \n", "... ... \n", "2167 Gentlemen Prefer Blondes (1953) \n", "239 Backbeat (1993) \n", "1348 Heartburn (1986) \n", "1510 Morning After, The (1986) \n", "483 Joe's Apartment (1996) \n", "\n", " genres \n", "2042 Crime|Horror|Mystery|Thriller \n", "1305 Action|Sci-Fi \n", "1428 Drama|Romance \n", "2515 Comedy \n", "1993 Drama \n", "... ... \n", "2167 Comedy|Musical|Romance \n", "239 Drama|Musical \n", "1348 Comedy|Drama \n", "1510 Drama|Mystery \n", "483 Comedy|Fantasy|Musical \n", "\n", "[3496 rows x 5 columns]" ], "text/html": [ "
\n", " | movieId | \n", "count | \n", "var | \n", "title | \n", "genres | \n", "
---|---|---|---|---|---|
2042 | \n", "3973 | \n", "5 | \n", "4.550000 | \n", "Book of Shadows: Blair Witch 2 (2000) | \n", "Crime|Horror|Mystery|Thriller | \n", "
1305 | \n", "2365 | \n", "5 | \n", "4.200000 | \n", "King Kong vs. Godzilla (Kingukongu tai Gojira)... | \n", "Action|Sci-Fi | \n", "
1428 | \n", "2570 | \n", "5 | \n", "3.500000 | \n", "Walk on the Moon, A (1999) | \n", "Drama|Romance | \n", "
2515 | \n", "6535 | \n", "6 | \n", "3.366667 | \n", "Legally Blonde 2: Red, White & Blonde (2003) | \n", "Comedy | \n", "
1993 | \n", "3813 | \n", "6 | \n", "3.366667 | \n", "Interiors (1978) | \n", "Drama | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2167 | \n", "4356 | \n", "6 | \n", "0.041667 | \n", "Gentlemen Prefer Blondes (1953) | \n", "Comedy|Musical|Romance | \n", "
239 | \n", "346 | \n", "6 | \n", "0.000000 | \n", "Backbeat (1993) | \n", "Drama|Musical | \n", "
1348 | \n", "2417 | \n", "5 | \n", "0.000000 | \n", "Heartburn (1986) | \n", "Comedy|Drama | \n", "
1510 | \n", "2749 | \n", "5 | \n", "0.000000 | \n", "Morning After, The (1986) | \n", "Drama|Mystery | \n", "
483 | \n", "829 | \n", "7 | \n", "0.000000 | \n", "Joe's Apartment (1996) | \n", "Comedy|Fantasy|Musical | \n", "
3496 rows × 5 columns
\n", "\n", " | movieId | \n", "count | \n", "var | \n", "title | \n", "genres | \n", "
---|---|---|---|---|---|
0 | \n", "3973 | \n", "5 | \n", "4.550000 | \n", "Book of Shadows: Blair Witch 2 (2000) | \n", "Crime|Horror|Mystery|Thriller | \n", "
1 | \n", "2365 | \n", "5 | \n", "4.200000 | \n", "King Kong vs. Godzilla (Kingukongu tai Gojira)... | \n", "Action|Sci-Fi | \n", "
2 | \n", "2570 | \n", "5 | \n", "3.500000 | \n", "Walk on the Moon, A (1999) | \n", "Drama|Romance | \n", "
3 | \n", "3813 | \n", "6 | \n", "3.366667 | \n", "Interiors (1978) | \n", "Drama | \n", "
4 | \n", "6535 | \n", "6 | \n", "3.366667 | \n", "Legally Blonde 2: Red, White & Blonde (2003) | \n", "Comedy | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
172 | \n", "1241 | \n", "11 | \n", "1.800000 | \n", "Dead Alive (Braindead) (1992) | \n", "Comedy|Fantasy|Horror | \n", "
173 | \n", "5530 | \n", "6 | \n", "1.800000 | \n", "Simone (S1m0ne) (2002) | \n", "Comedy|Drama|Fantasy|Sci-Fi | \n", "
174 | \n", "3678 | \n", "5 | \n", "1.800000 | \n", "Man with the Golden Arm, The (1955) | \n", "Drama | \n", "
175 | \n", "32596 | \n", "5 | \n", "1.800000 | \n", "Sahara (2005) | \n", "Action|Adventure|Comedy | \n", "
176 | \n", "5108 | \n", "5 | \n", "1.800000 | \n", "John Q (2002) | \n", "Crime|Drama|Thriller | \n", "
177 rows × 5 columns
\n", "