|
34 | 34 | }, |
35 | 35 | { |
36 | 36 | "cell_type": "code", |
37 | | - "execution_count": 25, |
| 37 | + "execution_count": 2, |
38 | 38 | "metadata": { |
39 | 39 | "colab": { |
40 | 40 | "base_uri": "https://localhost:8080/" |
41 | 41 | }, |
42 | 42 | "id": "IQlrrC64Ei_D", |
43 | | - "outputId": "06ca648c-0b09-4203-d0a6-ba1ca6210125" |
| 43 | + "outputId": "6c836d7b-a418-4857-f20d-eb1f835ef759" |
44 | 44 | }, |
45 | 45 | "outputs": [ |
46 | 46 | { |
47 | 47 | "output_type": "stream", |
48 | 48 | "name": "stdout", |
49 | 49 | "text": [ |
50 | | - "Requirement already satisfied: scikit-surprise in /usr/local/lib/python3.10/dist-packages (1.1.3)\n", |
| 50 | + "Collecting scikit-surprise\n", |
| 51 | + " Downloading scikit-surprise-1.1.3.tar.gz (771 kB)\n", |
| 52 | + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m772.0/772.0 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", |
| 53 | + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", |
51 | 54 | "Requirement already satisfied: joblib>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-surprise) (1.3.2)\n", |
52 | 55 | "Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from scikit-surprise) (1.25.2)\n", |
53 | | - "Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.10/dist-packages (from scikit-surprise) (1.11.4)\n" |
| 56 | + "Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.10/dist-packages (from scikit-surprise) (1.11.4)\n", |
| 57 | + "Building wheels for collected packages: scikit-surprise\n", |
| 58 | + " Building wheel for scikit-surprise (setup.py) ... \u001b[?25l\u001b[?25hdone\n", |
| 59 | + " Created wheel for scikit-surprise: filename=scikit_surprise-1.1.3-cp310-cp310-linux_x86_64.whl size=3163002 sha256=6077747674f48e2f38f3fe6d531fb529b7f5e775b20c9013bf1124cac961757e\n", |
| 60 | + " Stored in directory: /root/.cache/pip/wheels/a5/ca/a8/4e28def53797fdc4363ca4af740db15a9c2f1595ebc51fb445\n", |
| 61 | + "Successfully built scikit-surprise\n", |
| 62 | + "Installing collected packages: scikit-surprise\n", |
| 63 | + "Successfully installed scikit-surprise-1.1.3\n" |
54 | 64 | ] |
55 | 65 | } |
56 | 66 | ], |
|
60 | 70 | }, |
61 | 71 | { |
62 | 72 | "cell_type": "code", |
63 | | - "execution_count": 26, |
| 73 | + "execution_count": 3, |
64 | 74 | "metadata": { |
65 | 75 | "id": "m63KlyHSprCX" |
66 | 76 | }, |
|
75 | 85 | }, |
76 | 86 | { |
77 | 87 | "cell_type": "code", |
78 | | - "execution_count": 27, |
| 88 | + "execution_count": 4, |
79 | 89 | "metadata": { |
80 | 90 | "id": "8_JhmJld6eFR" |
81 | 91 | }, |
|
86 | 96 | }, |
87 | 97 | { |
88 | 98 | "cell_type": "code", |
89 | | - "execution_count": 28, |
| 99 | + "execution_count": 5, |
90 | 100 | "metadata": { |
91 | 101 | "id": "6SaBHI8tEE-8" |
92 | 102 | }, |
|
99 | 109 | }, |
100 | 110 | { |
101 | 111 | "cell_type": "code", |
102 | | - "execution_count": 29, |
| 112 | + "execution_count": 6, |
103 | 113 | "metadata": { |
104 | 114 | "id": "T0DErstIgFzd" |
105 | 115 | }, |
|
111 | 121 | }, |
112 | 122 | { |
113 | 123 | "cell_type": "code", |
114 | | - "execution_count": 30, |
| 124 | + "execution_count": 7, |
115 | 125 | "metadata": { |
116 | 126 | "id": "z-K7JzgVjES4" |
117 | 127 | }, |
|
131 | 141 | }, |
132 | 142 | { |
133 | 143 | "cell_type": "code", |
134 | | - "execution_count": 31, |
| 144 | + "execution_count": 12, |
135 | 145 | "metadata": { |
136 | 146 | "id": "oVTS5xZsmyJS" |
137 | 147 | }, |
|
140 | 150 | " latest_url = \"https://files.grouplens.org/datasets/movielens/ml-latest-small.zip\"\n", |
141 | 151 | " latest_zip_file = Path(\"ml-latest-small.zip\")\n", |
142 | 152 | " if not latest_zip_file.exists():\n", |
143 | | - " !wget $latest_url\n", |
144 | | - " !unzip $latest_zip_file\n", |
| 153 | + " !wget -q $latest_url\n", |
| 154 | + " !unzip -q $latest_zip_file\n", |
145 | 155 | " base_path = Path(\"/content/ml-latest-small/\")\n", |
146 | 156 | " rating_csv = base_path.joinpath(\"ratings.csv\")\n", |
147 | 157 | " tags_csv = base_path.joinpath(\"tags.csv\")\n", |
|
150 | 160 | }, |
151 | 161 | { |
152 | 162 | "cell_type": "code", |
153 | | - "execution_count": 32, |
| 163 | + "execution_count": 13, |
154 | 164 | "metadata": { |
155 | 165 | "id": "dNYxkIYrpWZE" |
156 | 166 | }, |
|
163 | 173 | }, |
164 | 174 | { |
165 | 175 | "cell_type": "code", |
166 | | - "execution_count": 33, |
| 176 | + "execution_count": 10, |
167 | 177 | "metadata": { |
168 | 178 | "id": "NEEvbfqBquBr" |
169 | 179 | }, |
|
181 | 191 | }, |
182 | 192 | { |
183 | 193 | "cell_type": "code", |
184 | | - "execution_count": 34, |
| 194 | + "execution_count": 14, |
185 | 195 | "metadata": { |
186 | 196 | "colab": { |
187 | 197 | "base_uri": "https://localhost:8080/", |
188 | | - "height": 228 |
| 198 | + "height": 156 |
189 | 199 | }, |
190 | 200 | "id": "zk4mZ2b0cx7F", |
191 | | - "outputId": "e0f1747d-03d8-451b-cbf0-fe693fdb0127" |
| 201 | + "outputId": "4e86c800-c489-4d49-8478-9eb1f6c87b14" |
192 | 202 | }, |
193 | 203 | "outputs": [ |
194 | 204 | { |
|
238 | 248 | ] |
239 | 249 | }, |
240 | 250 | "metadata": {}, |
241 | | - "execution_count": 34 |
| 251 | + "execution_count": 14 |
242 | 252 | } |
243 | 253 | ], |
244 | 254 | "source": [ |
|
367 | 377 | "Для оцінки що базується на спільній інформації про користувачів та їхню взаємодію з об'єктами (Collaborative Filtering) вибранно модель матричної факторизації (Matrix Factorization)." |
368 | 378 | ] |
369 | 379 | }, |
370 | | - { |
371 | | - "cell_type": "code", |
372 | | - "execution_count": 36, |
373 | | - "metadata": { |
374 | | - "id": "djCv_xDbDPFc" |
375 | | - }, |
376 | | - "outputs": [], |
377 | | - "source": [ |
378 | | - "# uid = 6\n", |
379 | | - "# iid = 258\n", |
380 | | - "# ur = 2.0\n", |
381 | | - "# dater = \"1997-12-28\"" |
382 | | - ] |
383 | | - }, |
384 | 380 | { |
385 | 381 | "cell_type": "markdown", |
386 | 382 | "metadata": { |
387 | 383 | "id": "yzuccKchc2ji" |
388 | 384 | }, |
389 | 385 | "source": [ |
390 | | - "Ми використовуємо об'єкт ***DatasetAutoFolds*** у Surprise, це означає, що ми працюємо з набором даних, який вже було розбито на файли (folds) для перехресної перевірки.\n", |
| 386 | + "Ми використовуємо об'єкт ***DatasetAutoFolds*** у Surprise.\n", |
391 | 387 | "\n", |
392 | 388 | "\n", |
393 | | - "\n", |
394 | | - "Мета цього методу - охопити загальний випадок використання, коли набір даних вже розбито на попередньо визначені складові, наприклад, набір даних movielens-100k ('ml-100k'), який визначає файли u1.base, u1.test, u2.base, u2.test і т.д... Його також можна використовувати, коли ми не хочемо виконувати перехресну перевірку, але все одно хочемо вказати наші навчальні та тестові дані (що в будь-якому випадку зводиться до 1-кратної перехресної перевірки)." |
| 389 | + "Якщо використаний метод **load_builtin** то Ми можемо працювати з набором даних, який вже було розбито на файли (folds) для перехресної перевірки. Мета цього методу - охопити загальний випадок використання, коли набір даних вже розбито на попередньо визначені складові, наприклад, набір даних movielens-100k ('ml-100k'), який визначає файли u1.base, u1.test, u2.base, u2.test і т.д... Його також можна використовувати, коли ми не хочемо виконувати перехресну перевірку, але все одно хочемо вказати наші навчальні та тестові дані (що в будь-якому випадку зводиться до 1-кратної перехресної перевірки)." |
395 | 390 | ] |
396 | 391 | }, |
397 | 392 | { |
|
411 | 406 | "source": [ |
412 | 407 | "### Algorithm SVD.\n", |
413 | 408 | "\n", |
414 | | - "Метод SVD може бути адаптований до наборів даних з неявним зворотним зв'язком (implicit feedback).\n", |
415 | | - "\n", |
416 | | - "Додаткові внутрішні фактори користувача та фільмів ініціалізуються випадковим чином відповідно до нормального розподілу." |
| 409 | + "Метод SVD може бути адаптований до наборів даних з неявним зворотним зв'язком (implicit feedback)." |
417 | 410 | ] |
418 | 411 | }, |
419 | 412 | { |
|
2549 | 2542 | "t9xezE86PB4A" |
2550 | 2543 | ], |
2551 | 2544 | "provenance": [], |
2552 | | - "authorship_tag": "ABX9TyNB1kQ7TOQY4CLnA/MWxLP1", |
| 2545 | + "authorship_tag": "ABX9TyPiYqe58RmpDg4A42fuZbtC", |
2553 | 2546 | "include_colab_link": true |
2554 | 2547 | }, |
2555 | 2548 | "kernelspec": { |
|
0 commit comments