diff --git a/l4/TM-Lab4.ipynb b/l4/TM-Lab4.ipynb
index 2acab09c33d9ee099a557b7b61d94febaed1ff50..94fcda6f3c6511341ca695df30a4664738a63327 100644
--- a/l4/TM-Lab4.ipynb
+++ b/l4/TM-Lab4.ipynb
@@ -45,7 +45,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 43,
    "metadata": {
     "deletable": false,
     "editable": false,
@@ -87,7 +87,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 44,
    "metadata": {
     "deletable": false,
     "editable": false,
@@ -120,7 +120,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 45,
    "metadata": {},
    "outputs": [
     {
@@ -200,7 +200,7 @@
        "4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         i loved these movies , and i cant wiat for the third one ! very funny , not suitable for chilren  "
       ]
      },
-     "execution_count": 4,
+     "execution_count": 45,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -239,7 +239,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 46,
    "metadata": {
     "deletable": false,
     "nbgrader": {
@@ -259,67 +259,65 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<Compressed Sparse Row sparse matrix of dtype 'float64'\n",
-      "\twith 954629 stored elements and shape (11914, 46925)>\n",
-      "  Coords\tValues\n",
-      "  (0, 5904)\t0.056929425503622226\n",
-      "  (0, 41949)\t0.08871509850773031\n",
-      "  (0, 2200)\t0.12878618103532022\n",
-      "  (0, 4687)\t0.049990934843139635\n",
-      "  (0, 25057)\t0.07972497370578226\n",
-      "  (0, 41787)\t0.21550414938872559\n",
-      "  (0, 42272)\t0.08751936359847944\n",
-      "  (0, 38871)\t0.14374254531641648\n",
-      "  (0, 22502)\t0.09040211869379988\n",
-      "  (0, 40449)\t0.06429030175302079\n",
-      "  (0, 18713)\t0.044436413072373164\n",
-      "  (0, 20556)\t0.05271819406050571\n",
-      "  (0, 4170)\t0.06279703318273992\n",
-      "  (0, 6980)\t0.0881303883930043\n",
-      "  (0, 35111)\t0.16074473556255148\n",
-      "  (0, 29214)\t0.09472887649028774\n",
-      "  (0, 4600)\t0.0718196911674412\n",
-      "  (0, 35499)\t0.06431081194600634\n",
-      "  (0, 45614)\t0.0478290012138695\n",
-      "  (0, 38876)\t0.06742052297220374\n",
-      "  (0, 3212)\t0.10453317434877729\n",
-      "  (0, 23098)\t0.040835261598743754\n",
-      "  (0, 16304)\t0.1217614426568117\n",
-      "  (0, 2675)\t0.08300156850282825\n",
-      "  (0, 46300)\t0.06605615495132\n",
+      "  (0, 5852)\t0.06504921495797875\n",
+      "  (0, 2193)\t0.1471548307342515\n",
+      "  (0, 24915)\t0.09109607037535733\n",
+      "  (0, 42017)\t0.10000216663596506\n",
+      "  (0, 38646)\t0.16424440693327647\n",
+      "  (0, 18604)\t0.05077433612468867\n",
+      "  (0, 4137)\t0.07175371390261905\n",
+      "  (0, 34910)\t0.18367160329602414\n",
+      "  (0, 35298)\t0.07348340148157195\n",
+      "  (0, 38651)\t0.07703664761414432\n",
+      "  (0, 22961)\t0.04665955586418074\n",
+      "  (0, 16212)\t0.13912816064642342\n",
+      "  (0, 46001)\t0.07547768108871165\n",
+      "  (0, 27240)\t0.07027979137637975\n",
+      "  (0, 29992)\t0.10498855014070822\n",
+      "  (0, 37262)\t0.15862890511379435\n",
+      "  (0, 6359)\t0.16847668322988485\n",
+      "  (0, 29829)\t0.18837129365521577\n",
+      "  (0, 11631)\t0.13389849435116866\n",
+      "  (0, 42711)\t0.15441726046867182\n",
+      "  (0, 23154)\t0.16025244813278974\n",
+      "  (0, 7857)\t0.17431187089400274\n",
+      "  (0, 31744)\t0.11208114345458911\n",
+      "  (0, 3360)\t0.11013363412464255\n",
+      "  (0, 34949)\t0.10288475324710696\n",
       "  :\t:\n",
-      "  (11913, 32444)\t0.07922618423770325\n",
-      "  (11913, 6294)\t0.05863819402358507\n",
-      "  (11913, 42792)\t0.12543932408492287\n",
-      "  (11913, 11533)\t0.07437313257929593\n",
-      "  (11913, 42024)\t0.07025000460686229\n",
-      "  (11913, 19337)\t0.07605517235233637\n",
-      "  (11913, 32951)\t0.08479262474849049\n",
-      "  (11913, 8859)\t0.08853424584225827\n",
-      "  (11913, 1950)\t0.06515689023034478\n",
-      "  (11913, 42020)\t0.07226804019811872\n",
-      "  (11913, 4924)\t0.1349954584575545\n",
-      "  (11913, 29438)\t0.08713346374692296\n",
-      "  (11913, 31398)\t0.08589788637265237\n",
-      "  (11913, 32599)\t0.08204034937040544\n",
-      "  (11913, 29040)\t0.06770143044434682\n",
-      "  (11913, 30758)\t0.15401898409780365\n",
-      "  (11913, 5438)\t0.33917049899396196\n",
-      "  (11913, 28990)\t0.07700949204890183\n",
-      "  (11913, 46361)\t0.07986215367610885\n",
-      "  (11913, 14484)\t0.08126293577144417\n",
-      "  (11913, 35261)\t0.0901513300951947\n",
-      "  (11913, 25685)\t0.0901513300951947\n",
-      "  (11913, 46553)\t0.0901513300951947\n",
-      "  (11913, 45196)\t0.09742264016600881\n",
-      "  (11913, 35491)\t0.09742264016600881\n"
+      "  (11913, 32246)\t0.08886417613773476\n",
+      "  (11913, 6242)\t0.06577162401859972\n",
+      "  (11913, 42531)\t0.1406992182866755\n",
+      "  (11913, 11469)\t0.08342074299088129\n",
+      "  (11913, 41773)\t0.07879602991267151\n",
+      "  (11913, 19227)\t0.0853074055898735\n",
+      "  (11913, 32753)\t0.09510778303071214\n",
+      "  (11913, 8800)\t0.09930457830889507\n",
+      "  (11913, 1947)\t0.07308333003447777\n",
+      "  (11913, 41769)\t0.08105956275801945\n",
+      "  (11913, 4879)\t0.15141787167451937\n",
+      "  (11913, 29254)\t0.09773338883349404\n",
+      "  (11913, 31201)\t0.09634750149743919\n",
+      "  (11913, 32401)\t0.09202068895530031\n",
+      "  (11913, 28864)\t0.07593741763117687\n",
+      "  (11913, 30563)\t0.17275563960467433\n",
+      "  (11913, 5388)\t0.38043113212284857\n",
+      "  (11913, 28814)\t0.08637781980233716\n",
+      "  (11913, 46061)\t0.08957751227447372\n",
+      "  (11913, 14405)\t0.09114870174987476\n",
+      "  (11913, 35060)\t0.10111838344497676\n",
+      "  (11913, 25541)\t0.10111838344497676\n",
+      "  (11913, 46253)\t0.10111838344497676\n",
+      "  (11913, 44924)\t0.10927426000399708\n",
+      "  (11913, 35290)\t0.10927426000399708\n"
      ]
     }
    ],
    "source": [
     "from sklearn.feature_extraction.text import TfidfVectorizer\n",
+    "from sklearn.feature_extraction import text\n",
     "\n",
-    "vectorizer = TfidfVectorizer()\n",
+    "vectorizer = TfidfVectorizer(stop_words=list(text.ENGLISH_STOP_WORDS))\n",
     "\n",
     "reviews = vectorizer.fit_transform(df['text'])\n",
     "print(reviews)\n"
@@ -336,7 +334,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 47,
    "metadata": {
     "deletable": false,
     "nbgrader": {
@@ -381,7 +379,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 48,
    "metadata": {
     "deletable": false,
     "nbgrader": {
@@ -426,19 +424,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 50,
+   "execution_count": 49,
    "metadata": {},
    "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\n"
-     ]
-    },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAGdCAYAAADqsoKGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAkUElEQVR4nO3dfXBU5eG38W9e2A1vu2nQ7JIhaJAWiPIiqLBqETSy0m1HapwqIlIFLUxwDGlBMsOgYmeiWI1YQWxVYquMwli1EiXGAKFIQAykjUEZX6LB4iYqkgWEBJLz/NEn58cCQTcJbLhzfWbOjHvOfU7uc8/OcrnshhjLsiwBAACc5WKjPQEAAICOQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMEJ8tCdwujQ3N2vPnj3q3bu3YmJioj0dAADwI1iWpf379yslJUWxsZG992Js1OzZs0epqanRngYAAGiD3bt3q1+/fhGdY2zU9O7dW9L/FsXlckV5NgAA4McIhUJKTU21/xyPhLFR0/JXTi6Xi6gBAOAs05aPjvBBYQAAYASiBgAAGIGoAQAARiBqAACAEYgaAABgBKIGAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEYgagAAgBGIGgAAYASiBgAAGCE+2hMAELnz5xdGewqIss8fCkR7CkCnwzs1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjBBR1Nx///2KiYkJ2wYPHmwfP3z4sLKystSnTx/16tVLmZmZqq2tDbtGTU2NAoGAevTooeTkZM2dO1dHjx4NG7NhwwaNHDlSTqdTAwcOVEFBQdvvEAAAdAkRv1Nz4YUX6quvvrK3TZs22cfmzJmjN954Q6tXr1Zpaan27NmjG264wT7e1NSkQCCgxsZGbd68Wc8//7wKCgq0cOFCe0x1dbUCgYDGjx+viooKZWdna8aMGSoqKmrnrQIAAJPFR3xCfLy8Xu8J++vr6/Xss89q5cqVuvrqqyVJK1as0JAhQ7RlyxaNGTNGb7/9tnbu3Kl33nlHHo9HI0aM0IMPPqh7771X999/vxwOh5YvX660tDQ9+uijkqQhQ4Zo06ZNys/Pl9/vb+ftAgAAU0X8Ts3HH3+slJQUDRgwQFOmTFFNTY0kqby8XEeOHFFGRoY9dvDgwerfv7/KysokSWVlZRo6dKg8Ho89xu/3KxQKqaqqyh5z7DVaxrRcozUNDQ0KhUJhGwAA6DoiiprRo0eroKBAa9eu1VNPPaXq6mr9/Oc/1/79+xUMBuVwOJSYmBh2jsfjUTAYlCQFg8GwoGk53nLsVGNCoZAOHTrU6tzy8vLkdrvtLTU1NZJbAwAAZ7mI/vpp4sSJ9n8PGzZMo0eP1nnnnadVq1ape/fuHT65SOTm5ionJ8d+HAqFCBsAALqQdn2lOzExUT/72c/0ySefyOv1qrGxUfv27QsbU1tba38Gx+v1nvBtqJbHPzTG5XKdMpycTqdcLlfYBgAAuo52Rc2BAwf06aefqm/fvho1apS6deumkpIS+/iuXbtUU1Mjn88nSfL5fKqsrFRdXZ09pri4WC6XS+np6faYY6/RMqblGgAAACcTUdT84Q9/UGlpqT7//HNt3rxZv/71rxUXF6fJkyfL7XZr+vTpysnJ0fr161VeXq7bb79dPp9PY8aMkSRNmDBB6enpmjp1qv7973+rqKhICxYsUFZWlpxOpyRp5syZ+uyzzzRv3jx99NFHWrZsmVatWqU5c+Z0/N0DAABjRPSZmi+//FKTJ0/Wt99+q3PPPVdXXnmltmzZonPPPVeSlJ+fr9jYWGVmZqqhoUF+v1/Lli2zz4+Li9OaNWs0a9Ys+Xw+9ezZU9OmTdOiRYvsMWlpaSosLNScOXO0ZMkS9evXT8888wxf5wYAAKcUY1mWFe1JnA6hUEhut1v19fV8vgbGOX9+YbSngCj7/KFAtKcAnBbt+fObf/sJAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEYgagAAgBGIGgAAYASiBgAAGIGoAQAARiBqAACAEYgaAABgBKIGAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEYgagAAgBGIGgAAYASiBgAAGIGoAQAARiBqAACAEYgaAABgBKIGAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEYgagAAgBGIGgAAYASiBgAAGIGoAQAARiBqAACAEYgaAABgBKIGAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEYgagAAgBGIGgAAYASiBgAAGIGoAQAARiBqAACAEYgaAABgBKIGAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEZoV9Q89NBDiomJUXZ2tr3v8OHDysrKUp8+fdSrVy9lZmaqtrY27LyamhoFAgH16NFDycnJmjt3ro4ePRo2ZsOGDRo5cqScTqcGDhyogoKC9kwVAAAYrs1Rs23bNj399NMaNmxY2P45c+bojTfe0OrVq1VaWqo9e/bohhtusI83NTUpEAiosbFRmzdv1vPPP6+CggItXLjQHlNdXa1AIKDx48eroqJC2dnZmjFjhoqKito6XQAAYLg2Rc2BAwc0ZcoU/fWvf9VPfvITe399fb2effZZPfbYY7r66qs1atQorVixQps3b9aWLVskSW+//bZ27typF154QSNGjNDEiRP14IMPaunSpWpsbJQkLV++XGlpaXr00Uc1ZMgQzZ49WzfeeKPy8/M74JYBAICJ2hQ1WVlZCgQCysjICNtfXl6uI0eOhO0fPHiw+vfvr7KyMklSWVmZhg4dKo/HY4/x+/0KhUKqqqqyxxx/bb/fb1/jZBoaGhQKhcI2AADQdcRHesJLL72k7du3a9u2bSccCwaDcjgcSkxMDNvv8XgUDAbtMccGTcvxlmOnGhMKhXTo0CF17979hJ+dl5enBx54INLbAQAAhojonZrdu3frnnvu0YsvvqiEhITTNac2yc3NVX19vb3t3r072lMCAABnUERRU15errq6Oo0cOVLx8fGKj49XaWmpnnjiCcXHx8vj8aixsVH79u0LO6+2tlZer1eS5PV6T/g2VMvjHxrjcrlO+i6NJDmdTrlcrrANAAB0HRFFzTXXXKPKykpVVFTY2yWXXKIpU6bY/92tWzeVlJTY5+zatUs1NTXy+XySJJ/Pp8rKStXV1dljiouL5XK5lJ6ebo859hotY1quAQAAcLyIPlPTu3dvXXTRRWH7evbsqT59+tj7p0+frpycHCUlJcnlcunuu++Wz+fTmDFjJEkTJkxQenq6pk6dqsWLFysYDGrBggXKysqS0+mUJM2cOVNPPvmk5s2bpzvuuEPr1q3TqlWrVFhY2BH3DAAADBTxB4V/SH5+vmJjY5WZmamGhgb5/X4tW7bMPh4XF6c1a9Zo1qxZ8vl86tmzp6ZNm6ZFixbZY9LS0lRYWKg5c+ZoyZIl6tevn5555hn5/f6Oni4AADBEjGVZVrQncTqEQiG53W7V19fz+RoY5/z5vGvZ1X3+UCDaUwBOi/b8+c2//QQAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAI8RHewIAgLPP+fMLoz0FRNnnDwWiPYUT8E4NAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAI0QUNU899ZSGDRsml8sll8sln8+nt956yz5++PBhZWVlqU+fPurVq5cyMzNVW1sbdo2amhoFAgH16NFDycnJmjt3ro4ePRo2ZsOGDRo5cqScTqcGDhyogoKCtt8hAADoEiKKmn79+umhhx5SeXm53n//fV199dW6/vrrVVVVJUmaM2eO3njjDa1evVqlpaXas2ePbrjhBvv8pqYmBQIBNTY2avPmzXr++edVUFCghQsX2mOqq6sVCAQ0fvx4VVRUKDs7WzNmzFBRUVEH3TIAADBRjGVZVnsukJSUpEceeUQ33nijzj33XK1cuVI33nijJOmjjz7SkCFDVFZWpjFjxuitt97SL3/5S+3Zs0cej0eStHz5ct177736+uuv5XA4dO+996qwsFAffPCB/TNuvvlm7du3T2vXrv3R8wqFQnK73aqvr5fL5WrPLQKdzvnzC6M9BUTZ5w8FovrzeQ7idD0H2/Pnd5s/U9PU1KSXXnpJBw8elM/nU3l5uY4cOaKMjAx7zODBg9W/f3+VlZVJksrKyjR06FA7aCTJ7/crFArZ7/aUlZWFXaNlTMs1WtPQ0KBQKBS2AQCAriPiqKmsrFSvXr3kdDo1c+ZMvfrqq0pPT1cwGJTD4VBiYmLYeI/Ho2AwKEkKBoNhQdNyvOXYqcaEQiEdOnSo1Xnl5eXJ7XbbW2pqaqS3BgAAzmIRR82gQYNUUVGhrVu3atasWZo2bZp27tx5OuYWkdzcXNXX19vb7t27oz0lAABwBsVHeoLD4dDAgQMlSaNGjdK2bdu0ZMkS3XTTTWpsbNS+ffvC3q2pra2V1+uVJHm9Xr333nth12v5dtSxY47/xlRtba1cLpe6d+/e6rycTqecTmektwMAAAzR7t9T09zcrIaGBo0aNUrdunVTSUmJfWzXrl2qqamRz+eTJPl8PlVWVqqurs4eU1xcLJfLpfT0dHvMsddoGdNyDQAAgJOJ6J2a3NxcTZw4Uf3799f+/fu1cuVKbdiwQUVFRXK73Zo+fbpycnKUlJQkl8ulu+++Wz6fT2PGjJEkTZgwQenp6Zo6daoWL16sYDCoBQsWKCsry36XZebMmXryySc1b9483XHHHVq3bp1WrVqlwkI+aQ8AAFoXUdTU1dXptttu01dffSW3261hw4apqKhI1157rSQpPz9fsbGxyszMVENDg/x+v5YtW2afHxcXpzVr1mjWrFny+Xzq2bOnpk2bpkWLFtlj0tLSVFhYqDlz5mjJkiXq16+fnnnmGfn9/g66ZQAAYKJ2/56azorfUwOT8TtCwO+pQbQZ9XtqAAAAOpOIv/0E/g8F0f+/ZADAiXinBgAAGIGoAQAARiBqAACAEYgaAABgBKIGAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEYgagAAgBGIGgAAYASiBgAAGIGoAQAARiBqAACAEYgaAABgBKIGAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEYgagAAgBGIGgAAYASiBgAAGIGoAQAARiBqAACAEYgaAABgBKIGAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEYgagAAgBGIGgAAYASiBgAAGIGoAQAARiBqAACAEYgaAABgBKIGAAAYgagBAABGIGoAAIARiBoAAGAEogYAABiBqAEAAEYgagAAgBGIGgAAYASiBgAAGIGoAQAARiBqAACAESKKmry8PF166aXq3bu3kpOTNWnSJO3atStszOHDh5WVlaU+ffqoV69eyszMVG1tbdiYmpoaBQIB9ejRQ8nJyZo7d66OHj0aNmbDhg0aOXKknE6nBg4cqIKCgrbdIQAA6BIiiprS0lJlZWVpy5YtKi4u1pEjRzRhwgQdPHjQHjNnzhy98cYbWr16tUpLS7Vnzx7dcMMN9vGmpiYFAgE1NjZq8+bNev7551VQUKCFCxfaY6qrqxUIBDR+/HhVVFQoOztbM2bMUFFRUQfcMgAAMFF8JIPXrl0b9rigoEDJyckqLy/X2LFjVV9fr2effVYrV67U1VdfLUlasWKFhgwZoi1btmjMmDF6++23tXPnTr3zzjvyeDwaMWKEHnzwQd177726//775XA4tHz5cqWlpenRRx+VJA0ZMkSbNm1Sfn6+/H5/B906AAAwSbs+U1NfXy9JSkpKkiSVl5fryJEjysjIsMcMHjxY/fv3V1lZmSSprKxMQ4cOlcfjscf4/X6FQiFVVVXZY469RsuYlmsAAAAcL6J3ao7V3Nys7OxsXXHFFbroooskScFgUA6HQ4mJiWFjPR6PgsGgPebYoGk53nLsVGNCoZAOHTqk7t27nzCfhoYGNTQ02I9DoVBbbw0AAJyF2vxOTVZWlj744AO99NJLHTmfNsvLy5Pb7ba31NTUaE8JAACcQW2KmtmzZ2vNmjVav369+vXrZ+/3er1qbGzUvn37wsbX1tbK6/XaY47/NlTL4x8a43K5TvoujSTl5uaqvr7e3nbv3t2WWwMAAGepiKLGsizNnj1br776qtatW6e0tLSw46NGjVK3bt1UUlJi79u1a5dqamrk8/kkST6fT5WVlaqrq7PHFBcXy+VyKT093R5z7DVaxrRc42ScTqdcLlfYBgAAuo6IPlOTlZWllStX6vXXX1fv3r3tz8C43W51795dbrdb06dPV05OjpKSkuRyuXT33XfL5/NpzJgxkqQJEyYoPT1dU6dO1eLFixUMBrVgwQJlZWXJ6XRKkmbOnKknn3xS8+bN0x133KF169Zp1apVKiws7ODbBwAApojonZqnnnpK9fX1GjdunPr27WtvL7/8sj0mPz9fv/zlL5WZmamxY8fK6/XqH//4h308Li5Oa9asUVxcnHw+n2699VbddtttWrRokT0mLS1NhYWFKi4u1vDhw/Xoo4/qmWee4evcAACgVRG9U2NZ1g+OSUhI0NKlS7V06dJWx5x33nl68803T3mdcePGaceOHZFMDwAAdGH8208AAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMELEUbNx40b96le/UkpKimJiYvTaa6+FHbcsSwsXLlTfvn3VvXt3ZWRk6OOPPw4bs3fvXk2ZMkUul0uJiYmaPn26Dhw4EDbmP//5j37+858rISFBqampWrx4ceR3BwAAuoyIo+bgwYMaPny4li5detLjixcv1hNPPKHly5dr69at6tmzp/x+vw4fPmyPmTJliqqqqlRcXKw1a9Zo48aNuuuuu+zjoVBIEyZM0Hnnnafy8nI98sgjuv/++/WXv/ylDbcIAAC6gvhIT5g4caImTpx40mOWZenxxx/XggULdP3110uS/va3v8nj8ei1117TzTffrA8//FBr167Vtm3bdMkll0iS/vznP+sXv/iF/vSnPyklJUUvvviiGhsb9dxzz8nhcOjCCy9URUWFHnvssbD4AQAAaNGhn6mprq5WMBhURkaGvc/tdmv06NEqKyuTJJWVlSkxMdEOGknKyMhQbGystm7dao8ZO3asHA6HPcbv92vXrl367rvvTvqzGxoaFAqFwjYAANB1dGjUBINBSZLH4wnb7/F47GPBYFDJyclhx+Pj45WUlBQ25mTXOPZnHC8vL09ut9veUlNT239DAADgrGHMt59yc3NVX19vb7t37472lAAAwBnUoVHj9XolSbW1tWH7a2tr7WNer1d1dXVhx48ePaq9e/eGjTnZNY79GcdzOp1yuVxhGwAA6Do6NGrS0tLk9XpVUlJi7wuFQtq6dat8Pp8kyefzad++fSovL7fHrFu3Ts3NzRo9erQ9ZuPGjTpy5Ig9pri4WIMGDdJPfvKTjpwyAAAwRMRRc+DAAVVUVKiiokLS/z4cXFFRoZqaGsXExCg7O1t//OMf9c9//lOVlZW67bbblJKSokmTJkmShgwZouuuu0533nmn3nvvPb377ruaPXu2br75ZqWkpEiSbrnlFjkcDk2fPl1VVVV6+eWXtWTJEuXk5HTYjQMAALNE/JXu999/X+PHj7cft4TGtGnTVFBQoHnz5ungwYO66667tG/fPl155ZVau3atEhIS7HNefPFFzZ49W9dcc41iY2OVmZmpJ554wj7udrv19ttvKysrS6NGjdI555yjhQsX8nVuAADQqoijZty4cbIsq9XjMTExWrRokRYtWtTqmKSkJK1cufKUP2fYsGH617/+Fen0AABAF2XMt58AAEDXRtQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACEQNAAAwAlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACN06qhZunSpzj//fCUkJGj06NF67733oj0lAADQSXXaqHn55ZeVk5Oj++67T9u3b9fw4cPl9/tVV1cX7akBAIBOqNNGzWOPPaY777xTt99+u9LT07V8+XL16NFDzz33XLSnBgAAOqH4aE/gZBobG1VeXq7c3Fx7X2xsrDIyMlRWVnbScxoaGtTQ0GA/rq+vlySFQqEOn19zw/cdfk2cXU7H8yoSPAfBcxDRdrqegy3XtSwr4nM7ZdR88803ampqksfjCdvv8Xj00UcfnfScvLw8PfDAAyfsT01NPS1zRNfmfjzaM0BXx3MQ0Xa6n4P79++X2+2O6JxOGTVtkZubq5ycHPtxc3Oz9u7dqz59+igmJsbeHwqFlJqaqt27d8vlckVjqmc91rB9WL/2Yw3bh/VrP9awfU61fpZlaf/+/UpJSYn4up0yas455xzFxcWptrY2bH9tba28Xu9Jz3E6nXI6nWH7EhMTW/0ZLpeLJ2I7sYbtw/q1H2vYPqxf+7GG7dPa+kX6Dk2LTvlBYYfDoVGjRqmkpMTe19zcrJKSEvl8vijODAAAdFad8p0aScrJydG0adN0ySWX6LLLLtPjjz+ugwcP6vbbb4/21AAAQCfUaaPmpptu0tdff62FCxcqGAxqxIgRWrt27QkfHo6U0+nUfffdd8JfVeHHYw3bh/VrP9awfVi/9mMN2+d0rV+M1ZbvTAEAAHQynfIzNQAAAJEiagAAgBGIGgAAYASiBgAAGKFLRM3evXs1ZcoUuVwuJSYmavr06Tpw4MApzxk3bpxiYmLCtpkzZ56hGUff0qVLdf755yshIUGjR4/We++9d8rxq1ev1uDBg5WQkKChQ4fqzTffPEMz7ZwiWb+CgoITnmsJCQlncLady8aNG/WrX/1KKSkpiomJ0WuvvfaD52zYsEEjR46U0+nUwIEDVVBQcNrn2ZlFuoYbNmw44TkYExOjYDB4ZibcyeTl5enSSy9V7969lZycrEmTJmnXrl0/eB6vg//TlvXrqNfBLhE1U6ZMUVVVlYqLi7VmzRpt3LhRd9111w+ed+edd+qrr76yt8WLF5+B2Ubfyy+/rJycHN13333avn27hg8fLr/fr7q6upOO37x5syZPnqzp06drx44dmjRpkiZNmqQPPvjgDM+8c4h0/aT//VbNY59rX3zxxRmccedy8OBBDR8+XEuXLv1R46urqxUIBDR+/HhVVFQoOztbM2bMUFFR0WmeaecV6Rq22LVrV9jzMDk5+TTNsHMrLS1VVlaWtmzZouLiYh05ckQTJkzQwYMHWz2H18H/05b1kzroddAy3M6dOy1J1rZt2+x9b731lhUTE2P997//bfW8q666yrrnnnvOwAw7n8suu8zKysqyHzc1NVkpKSlWXl7eScf/5je/sQKBQNi+0aNHW7/73e9O6zw7q0jXb8WKFZbb7T5Dszu7SLJeffXVU46ZN2+edeGFF4btu+mmmyy/338aZ3b2+DFruH79ekuS9d13352ROZ1t6urqLElWaWlpq2N4HWzdj1m/jnodNP6dmrKyMiUmJuqSSy6x92VkZCg2NlZbt2495bkvvviizjnnHF100UXKzc3V999/f7qnG3WNjY0qLy9XRkaGvS82NlYZGRkqKys76TllZWVh4yXJ7/e3Ot5kbVk/STpw4IDOO+88paam6vrrr1dVVdWZmK4ReP51nBEjRqhv37669tpr9e6770Z7Op1GfX29JCkpKanVMTwPW/dj1k/qmNdB46MmGAye8BZqfHy8kpKSTvn3xbfccoteeOEFrV+/Xrm5ufr73/+uW2+99XRPN+q++eYbNTU1nfCbmz0eT6vrFQwGIxpvsras36BBg/Tcc8/p9ddf1wsvvKDm5mZdfvnl+vLLL8/ElM96rT3/QqGQDh06FKVZnV369u2r5cuX65VXXtErr7yi1NRUjRs3Ttu3b4/21KKuublZ2dnZuuKKK3TRRRe1Oo7XwZP7sevXUa+DnfafSfgh8+fP18MPP3zKMR9++GGbr3/sZ26GDh2qvn376pprrtGnn36qCy64oM3XBY7n8/nC/qHWyy+/XEOGDNHTTz+tBx98MIozQ1cxaNAgDRo0yH58+eWX69NPP1V+fr7+/ve/R3Fm0ZeVlaUPPvhAmzZtivZUzko/dv066nXwrI2a3//+9/rtb397yjEDBgyQ1+s94QOaR48e1d69e+X1en/0zxs9erQk6ZNPPjE6as455xzFxcWptrY2bH9tbW2r6+X1eiMab7K2rN/xunXrposvvliffPLJ6ZiicVp7/rlcLnXv3j1Kszr7XXbZZV3+D/LZs2fbXy7p16/fKcfyOniiSNbveG19HTxr//rp3HPP1eDBg0+5ORwO+Xw+7du3T+Xl5fa569atU3Nzsx0qP0ZFRYWk/71NazKHw6FRo0appKTE3tfc3KySkpKwij6Wz+cLGy9JxcXFrY43WVvW73hNTU2qrKw0/rnWUXj+nR4VFRVd9jloWZZmz56tV199VevWrVNaWtoPnsPz8P+0Zf2O1+bXwXZ/1PgscN1111kXX3yxtXXrVmvTpk3WT3/6U2vy5Mn28S+//NIaNGiQtXXrVsuyLOuTTz6xFi1aZL3//vtWdXW19frrr1sDBgywxo4dG61bOKNeeukly+l0WgUFBdbOnTutu+66y0pMTLSCwaBlWZY1depUa/78+fb4d99914qPj7f+9Kc/WR9++KF13333Wd26dbMqKyujdQtRFen6PfDAA1ZRUZH16aefWuXl5dbNN99sJSQkWFVVVdG6hajav3+/tWPHDmvHjh2WJOuxxx6zduzYYX3xxReWZVnW/PnzralTp9rjP/vsM6tHjx7W3LlzrQ8//NBaunSpFRcXZ61duzZatxB1ka5hfn6+9dprr1kff/yxVVlZad1zzz1WbGys9c4770TrFqJq1qxZltvttjZs2GB99dVX9vb999/bY3gdbF1b1q+jXge7RNR8++231uTJk61evXpZLpfLuv322639+/fbx6urqy1J1vr16y3Lsqyamhpr7NixVlJSkuV0Oq2BAwdac+fOterr66N0B2fen//8Z6t///6Ww+GwLrvsMmvLli32sauuusqaNm1a2PhVq1ZZP/vZzyyHw2FdeOGFVmFh4RmececSyfplZ2fbYz0ej/WLX/zC2r59exRm3Tm0fL34+K1lzaZNm2ZdddVVJ5wzYsQIy+FwWAMGDLBWrFhxxufdmUS6hg8//LB1wQUXWAkJCVZSUpI1btw4a926ddGZfCdwsrWTFPa84nWwdW1Zv456HYz5/xMAAAA4q521n6kBAAA4FlEDAACMQNQAAAAjEDUAAMAIRA0AADACUQMAAIxA1AAAACMQNQAAwAhEDQAAMAJRAwAAjEDUAAAAIxA1AADACP8PwAix6WYBRG8AAAAASUVORK5CYII=",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAGhCAYAAACK3QWkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAvjklEQVR4nO3dfXBUVZ7G8ac70EyIuQmxYkYmIOm4IiqQMJYhmxALccUEV6dKWGF2gYEY0BWZZGQLRF5HCpBCYXkRJAbfZ1jE2Z0VIuIiZQpEqlSERV156YhBJToi3YEE89K9f6S6pe0Adt9gIuf7qbJCn3vuyelfDs3j7dM3jkAgEBAAAMAlztnREwAAAPgpEHoAAIARCD0AAMAIhB4AAGAEQg8AADACoQcAABiB0AMAAIxA6AEAAEbo0tET6CiBQEB+f+R9GZ1OR5vt+PGooT3Uzz5qaA/1s48a2nOu+jmdDjkcjpjHNTb0+P0BnThxOqytSxenevRIkM9Xr+ZmfwfN7OeNGtpD/eyjhvZQP/uooT3nq19KSoLi4mIPPby9BQAAjEDoAQAARogp9Pznf/6nfvOb36h///7KycnRvffeqzNnzoSOv/nmm7rzzjvVv39/DR8+XK+88krEGI2NjXrssceUl5enrKwsTZgwQR6PJ6LfkSNHNGHCBGVlZSkvL09LlixRY2NjLNMGAAAGi3pPz5o1a1ReXq777rtPWVlZ+vbbb7V79261tLRIkt59911NmTJFI0eO1MyZM/XOO+/okUceUUJCgm6//fbQOAsWLFBlZaVmzJihtLQ0rV27Vr/73e+0ZcsWJSYmSpK8Xq/Gjx+vPn36aOXKlaqtrdXixYt15swZzZkzp51KAAAATBBV6PF4PFq1apWefPJJ3XzzzaH24cOHh/68Zs0aDRgwQH/84x8lSYMHD1ZNTY1WrFgRCj3Hjx/Xpk2bNHfuXI0cOVKS1L9/fw0dOlQbNmxQSUmJJGnDhg06ffq0Vq1apeTkZElSS0uL5s+fr8mTJystLS32Zw4AAIwS1dtbf/nLX5Senh4WeM7W2NioPXv2hF3RkaSioiIdOXJEx44dkyTt3LlTfr8/rF9ycrLy8vJUVVUVaquqqlJubm4o8EhSYWGh/H6/du3aFc3UAQCA4aIKPfv27dM111yjJ598Urm5ubrhhhs0evRo7du3T5L02WefqampSW63O+y8zMxMSQrt2fF4PLr88suVlJQU0e/sfT0ejydiLMuylJqa2ub+HwAAgHOJ6u2tr7/+WgcOHNDBgwc1d+5cxcfHa+3atZo4caK2bdsmr9crqTWYnC34OHjc5/OF9u38sF+wT7DfD8eSpKSkpLB+serSJTzzxcU5w74ietTQHupnHzW0h/rZRw3tuZj1iyr0BAIB1dfX69///d917bXXSpIGDhyoW265RS+++KLy8/PbfYIXi9PpUI8eCW0es6z4n3g2lx5qaA/1s48a2kP97KOG9lyM+kUVeizLUnJycijwSK17ca677jodPnxYI0aMkCTV1dWFnefz+SQp9HaWZVk6depUxPg+ny/sLS/LsiLGklqvGP3wrbFo+f0B+Xz1YW1xcU5ZVrx8vga1tHAXzVhQQ3uon33U0B7qZx81tOd89bOseFtXgKIKPVdffbU+++yzNo9999136t27t7p27SqPx6MhQ4aEjgX33wT357jdbv3tb3+LCC8/3MPjdrsj9u7U1dXp66+/jtjrE4tz3R68pcXPrcNtoob2UD/7qKE91M8+amjPxahfVHFp6NChOnnypD7++ONQ27fffqsPP/xQ119/vVwul3JycvT666+HnVdZWanMzEylp6dLkvLz8+V0OrVt27ZQH6/Xq507d6qgoCDUVlBQoLfffjt0pUiStm7dKqfTqby8vOieKQAAMFpUV3puvfVW9e/fX1OnTlVZWZm6deumdevWyeVy6be//a0k6f7779e4ceM0b948FRYWas+ePdq8ebOWLVsWGueXv/ylRo4cqSVLlsjpdCotLU1PPfWUEhMTNXr06FC/0aNH64UXXtADDzygyZMnq7a2VkuWLNHo0aO5Rw8AAIiKIxAIRP7u9vM4ceKEFi1apB07dqipqUk33nijHn74YV199dWhPtu3b9fy5ctVXV2tnj17atKkSaGbEAY1NjZq2bJl+utf/6rTp09r0KBBmjVrVujj7UFHjhzRo48+qr179yohIUF33XWXysrK5HK5bDzt1stm5/ot699+e5pLkjGihvZQP/uooT3Uzz5qaM/56tf6W9Zj39MTdei5VBB6Lg5qaA/1s48a2kP97KOG9lzM0BP1794CAOB8nE6HnE5HR0+jw3CfntZPSPv9ne+aCqEHANBunE6HkpO7G/0PfpDJ9+lpafHr5Mn6Thd8CD0A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771Ldq21J9bfxWHqGmxublZpaak8Ho+efvpppaWlXfAc1uD3YqlfW+ysv0vqSk+07r//fo0bN07z5s1TYWGh9uzZo82bN2vZsmVh/a677jr95je/0cKFCyVJixcvlsPhUFZWlizL0v79+/XUU0/phhtu0K233toRT+WiGz16tF544QU98MADmjx5smpra7VkyRKNHj06bOGOHz9eX3zxhd544w1JUrdu3TR58mStXLlSKSkpuuaaa/TnP/9ZJ0+eVHFxcUc9nZ9crPXbvHmzduzYoZtvvllXXHGFampqtG7dOsXFxWnChAkd9XQ6RENDg9566y1J0ueff65Tp05p69atklr31aWkpLD+LiCWGrIGvzd//nzt2LFDM2bM0KlTp/TBBx+Ejl133XVyuVyswfOIpX7tvf6MDj033nijVq5cqeXLl2vTpk3q2bOnFixYEHY/BUlqaWmR3+8PPc7MzNSf//xnbdy4UWfOnFFaWppGjhypqVOnqkuXS7OkSUlJeu655/Too4/qgQceUEJCgkaOHKmysrKwfn6/Xy0tLWFtJSUlCgQCWr9+fegW7BUVFUZ96iPW+qWnp+urr77SwoULVVdXp8TERA0ePFhTp041qn6S9M033+j3v/99WFvw8fPPP6+cnBzW3wXEUkPW4PeC99RavHhxxLHt27crPT2dNXgesdSvvdefIxCI4j7kAAAAP1PG7ukBAABmIfQAAAAjEHoAAIARCD0AAMAIhB4AAGAEQg8AADACoQcAABiB0AMAAIxA6AEAAEYg9AAAACMQegAAgBH+HxEb00izXWKrAAAAAElFTkSuQmCC",
       "text/plain": [
        "<Figure size 640x480 with 1 Axes>"
       ]
@@ -468,7 +459,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 54,
+   "execution_count": 50,
    "metadata": {
     "deletable": false,
     "nbgrader": {
@@ -502,9 +493,14 @@
     "        cluster.  Example:\n",
     "          [[\"first\", \"foo\", ...], [\"second\", \"bar\", ...], [\"third\", \"baz\", ...]]\n",
     "    \"\"\"\n",
-    "    centers = kmeans.cluster_centers_\n",
-    "    labels = kmeans.labels_\n",
-    "    print()"
+    "    centroids = kmeans.cluster_centers_\n",
+    "    feature_names = vectorizer.get_feature_names_out()\n",
+    "    \n",
+    "    for centroid in centroids:\n",
+    "        top_term_indexes = np.argsort(centroid)[::-1][:top_n]\n",
+    "        top_terms = [feature_names[i] for i in top_term_indexes]\n",
+    "\n",
+    "        yield top_terms"
    ]
   },
   {
@@ -522,18 +518,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 51,
    "metadata": {
     "tags": [
      "solution"
     ]
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Cluster 0: product, use, software, does, program, great, used, work, easy, just\n",
+      "Cluster 1: camera, lens, pictures, canon, digital, use, flash, battery, quality, great\n",
+      "Cluster 2: book, movie, like, album, cd, just, music, great, good, quot\n"
+     ]
+    }
+   ],
    "source": [
     "summaries = compute_cluster_summaries(kmeans, vectorizer, 10)\n",
     "\n",
-    "#for idx, terms in enumerate(summaries):\n",
-    "#    print(f\"Cluster {idx}: {', '.join(terms)}\")"
+    "for idx, terms in enumerate(summaries):\n",
+    "   print(f\"Cluster {idx}: {', '.join(terms)}\")"
    ]
   },
   {
@@ -574,7 +580,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 52,
    "metadata": {
     "deletable": false,
     "nbgrader": {
@@ -592,7 +598,19 @@
      "solution"
     ]
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "ename": "NotImplementedError",
+     "evalue": "",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mNotImplementedError\u001b[0m                       Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[52], line 6\u001b[0m\n\u001b[1;32m      3\u001b[0m sns\u001b[39m.\u001b[39mset()\n\u001b[1;32m      5\u001b[0m \u001b[39m# YOUR CODE HERE\u001b[39;00m\n\u001b[0;32m----> 6\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mNotImplementedError\u001b[39;00m()\n",
+      "\u001b[0;31mNotImplementedError\u001b[0m: "
+     ]
+    }
+   ],
    "source": [
     "from sklearn.metrics import rand_score, adjusted_rand_score, v_measure_score\n",
     "import seaborn as sns\n",
@@ -1030,7 +1048,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.0"
+   "version": "3.10.12"
   }
  },
  "nbformat": 4,