Viraj2307 commited on
Commit
c4751ad
·
1 Parent(s): 27083da
Notebooks/Product Recommendation System.ipynb CHANGED
@@ -2870,14 +2870,470 @@
2870
  "cell_type": "markdown",
2871
  "metadata": {},
2872
  "source": [
2873
- "The parameters i will use:/n/n\n",
2874
  "\n",
2875
- "window = 15: Defines the maximum distance between the current and predicted word within a sentence./n\n",
2876
- "sg = 1: Means the model will use the Skip-gram approach/n\n",
2877
- "hs = 0: Indicates that hierarchical softmax is not used because there arn't large vocabularies./n\n",
2878
- "negative=10: Sets the number of negative samples to 10./n\n",
2879
- "alpha=0.03: Set learning rate for the process to 0.03./n\n",
2880
- "min_alpha=0.0007: Sets the minimum learning rate to 0.0007./n"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2881
  ]
2882
  },
2883
  {
 
2870
  "cell_type": "markdown",
2871
  "metadata": {},
2872
  "source": [
2873
+ "The parameters we will use:\n",
2874
  "\n",
2875
+ "- window = 15: Defines the maximum distance between the current and predicted word within a sentence.\n",
2876
+ "\n",
2877
+ "- sg = 1: Means the model will use the Skip-gram approach\n",
2878
+ "- hs = 0: Indicates that hierarchical softmax is not used because there arn't large vocabularies.\n",
2879
+ "- negative=10: Sets the number of negative samples to 10.\n",
2880
+ "- alpha=0.03: Set learning rate for the process to 0.03.\n",
2881
+ "- min_alpha=0.0007: Sets the minimum learning rate to 0.0007."
2882
+ ]
2883
+ },
2884
+ {
2885
+ "cell_type": "code",
2886
+ "execution_count": 22,
2887
+ "metadata": {},
2888
+ "outputs": [
2889
+ {
2890
+ "data": {
2891
+ "text/plain": [
2892
+ "(3525897, 3561890)"
2893
+ ]
2894
+ },
2895
+ "execution_count": 22,
2896
+ "metadata": {},
2897
+ "output_type": "execute_result"
2898
+ }
2899
+ ],
2900
+ "source": [
2901
+ "model = Word2Vec(window = 15, sg = 1, hs = 0,\n",
2902
+ " negative = 10, \n",
2903
+ " alpha=0.03, min_alpha=0.0007,\n",
2904
+ " seed = 121)\n",
2905
+ "\n",
2906
+ "model.build_vocab(purchases_train, progress_per=200)\n",
2907
+ "\n",
2908
+ "model.train(purchases_train, total_examples = model.corpus_count, \n",
2909
+ " epochs=10, report_delay=1)"
2910
+ ]
2911
+ },
2912
+ {
2913
+ "cell_type": "code",
2914
+ "execution_count": 23,
2915
+ "metadata": {},
2916
+ "outputs": [
2917
+ {
2918
+ "name": "stdout",
2919
+ "output_type": "stream",
2920
+ "text": [
2921
+ "Word2Vec<vocab=3146, vector_size=100, alpha=0.03>\n"
2922
+ ]
2923
+ }
2924
+ ],
2925
+ "source": [
2926
+ "print(model)"
2927
+ ]
2928
+ },
2929
+ {
2930
+ "cell_type": "markdown",
2931
+ "metadata": {},
2932
+ "source": [
2933
+ "The model has a vocabulary of 3,159 unique words and their vectors of size 100 each.\n",
2934
+ "\n"
2935
+ ]
2936
+ },
2937
+ {
2938
+ "cell_type": "markdown",
2939
+ "metadata": {},
2940
+ "source": [
2941
+ "Extracting the vectors of all the words"
2942
+ ]
2943
+ },
2944
+ {
2945
+ "cell_type": "code",
2946
+ "execution_count": 24,
2947
+ "metadata": {},
2948
+ "outputs": [
2949
+ {
2950
+ "data": {
2951
+ "text/plain": [
2952
+ "(3146, 100)"
2953
+ ]
2954
+ },
2955
+ "execution_count": 24,
2956
+ "metadata": {},
2957
+ "output_type": "execute_result"
2958
+ }
2959
+ ],
2960
+ "source": [
2961
+ "X = model.wv[model.wv.index_to_key]\n",
2962
+ "\n",
2963
+ "X.shape"
2964
+ ]
2965
+ },
2966
+ {
2967
+ "cell_type": "markdown",
2968
+ "metadata": {},
2969
+ "source": [
2970
+ "Visualizing the model"
2971
+ ]
2972
+ },
2973
+ {
2974
+ "cell_type": "markdown",
2975
+ "metadata": {},
2976
+ "source": [
2977
+ "We have 100-dimensional embeddings. We can't even imagine 4 dimensions imagine 100. We are going to reduce the dimensions from 100 to 2 by using the UMAP algorithm."
2978
+ ]
2979
+ },
2980
+ {
2981
+ "cell_type": "code",
2982
+ "execution_count": 25,
2983
+ "metadata": {},
2984
+ "outputs": [
2985
+ {
2986
+ "name": "stderr",
2987
+ "output_type": "stream",
2988
+ "text": [
2989
+ "\n",
2990
+ "[notice] A new release of pip is available: 24.1.2 -> 24.3.1\n",
2991
+ "[notice] To update, run: python.exe -m pip install --upgrade pip\n"
2992
+ ]
2993
+ },
2994
+ {
2995
+ "name": "stdout",
2996
+ "output_type": "stream",
2997
+ "text": [
2998
+ "Collecting umap-learn\n",
2999
+ " Downloading umap_learn-0.5.7-py3-none-any.whl.metadata (21 kB)\n",
3000
+ "Requirement already satisfied: numpy>=1.17 in c:\\python3.11.1\\lib\\site-packages (from umap-learn) (1.26.4)\n",
3001
+ "Requirement already satisfied: scipy>=1.3.1 in c:\\python3.11.1\\lib\\site-packages (from umap-learn) (1.12.0)\n",
3002
+ "Requirement already satisfied: scikit-learn>=0.22 in c:\\python3.11.1\\lib\\site-packages (from umap-learn) (1.4.1.post1)\n",
3003
+ "Requirement already satisfied: numba>=0.51.2 in c:\\python3.11.1\\lib\\site-packages (from umap-learn) (0.59.1)\n",
3004
+ "Collecting pynndescent>=0.5 (from umap-learn)\n",
3005
+ " Downloading pynndescent-0.5.13-py3-none-any.whl.metadata (6.8 kB)\n",
3006
+ "Requirement already satisfied: tqdm in c:\\python3.11.1\\lib\\site-packages (from umap-learn) (4.66.2)\n",
3007
+ "Requirement already satisfied: llvmlite<0.43,>=0.42.0dev0 in c:\\python3.11.1\\lib\\site-packages (from numba>=0.51.2->umap-learn) (0.42.0)\n",
3008
+ "Requirement already satisfied: joblib>=0.11 in c:\\python3.11.1\\lib\\site-packages (from pynndescent>=0.5->umap-learn) (1.3.2)\n",
3009
+ "Requirement already satisfied: threadpoolctl>=2.0.0 in c:\\python3.11.1\\lib\\site-packages (from scikit-learn>=0.22->umap-learn) (3.3.0)\n",
3010
+ "Requirement already satisfied: colorama in c:\\python3.11.1\\lib\\site-packages (from tqdm->umap-learn) (0.4.6)\n",
3011
+ "Downloading umap_learn-0.5.7-py3-none-any.whl (88 kB)\n",
3012
+ " ---------------------------------------- 0.0/88.8 kB ? eta -:--:--\n",
3013
+ " ---------------------------------------- 88.8/88.8 kB 2.5 MB/s eta 0:00:00\n",
3014
+ "Downloading pynndescent-0.5.13-py3-none-any.whl (56 kB)\n",
3015
+ " ---------------------------------------- 0.0/56.9 kB ? eta -:--:--\n",
3016
+ " ---------------------------------------- 56.9/56.9 kB 2.9 MB/s eta 0:00:00\n",
3017
+ "Installing collected packages: pynndescent, umap-learn\n",
3018
+ "Successfully installed pynndescent-0.5.13 umap-learn-0.5.7\n"
3019
+ ]
3020
+ }
3021
+ ],
3022
+ "source": [
3023
+ "!pip install umap-learn"
3024
+ ]
3025
+ },
3026
+ {
3027
+ "cell_type": "code",
3028
+ "execution_count": 26,
3029
+ "metadata": {},
3030
+ "outputs": [
3031
+ {
3032
+ "data": {
3033
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA08AAALgCAYAAABMA0yVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC5BElEQVR4nOzde3yU9Zk3/s+ccphyCBlBAmEIRCEoGJASolaCK6fU3SoWFsXSApa1/dlnhUhX6bZP2/V5Fl0RcLeuWpTQh0qhsKLu0giBQlA0hFKCREmQQBgSguiEcHBCMpmZ3x+T7819nLlznIR83q+XrzqTmXvumcm69yfX93tdllAoFAIRERERERFFZI31CRAREREREfUEDE9EREREREQmMDwRERERERGZwPBERERERERkAsMTERERERGRCQxPREREREREJjA8ERERERERmWCP9QnEQjAYxLlz59C3b19YLJZYnw4REREREcVIKBTClStXMGTIEFitkWtLvTI8nTt3DsOGDYv1aRARERERUTdx9uxZpKamRnxMrwxPffv2BRD+gPr16xfjsyEiIiIioli5fPkyhg0bJmWESHpleBJL9fr168fwREREREREprbzsGEEERERERGRCQxPREREREREJjA8ERERERERmcDwREREREREZALDExERERERkQkMT0RERERERCYwPBEREREREZnA8ERERERERGQCwxMREREREZEJDE9EREREREQmMDwRERERERGZwPBERERERERkAsMTERERERGRCQxPREREREREJjA8ERERERERmcDwREREREREZALDExERERERkQkMT0RERERERCYwPBEREREREZnA8ERERERERGQCwxMREREREZEJDE9EREREREQmMDwRERERERGZwPBERERERERkAsMTERERERGRCQxPREREREREJjA8ERERERERmWCP9QlQ7/S3/74fZeeuYOyQvviff5wS69MhIiIiIoqKlSfqciI4AUDZuSv423/fH+MzIiIiIiKKjuGJupwITka3iYiIiIi6I4Yn6nJjh/SNeJuIiIiIqDuKeXhKS0uDxWLR/PPkk0/qPn7Dhg2axyYkJHTxWVN7/M8/TpECE/c8EREREVFPEfOGEYcOHUIgEJBul5WVYfr06Zg7d67hc/r164eKigrptsVi6dRzpI7HwEREREREPU3Mw9PAgQMVt59//nmkp6cjJyfH8DkWiwWDBw/u7FMjIiIiIiKSxHzZnlxTUxN+//vfY/HixRGrSVevXsXw4cMxbNgwPPjgg/j0008jHrexsRGXL19W/ENERERERNQa3So8vfPOO6ivr8fChQsNHzN69GisX78e7777Ln7/+98jGAzi7rvvRnV1teFzVq5cif79+0v/DBs2rBPOnoiIiIiIbmSWUCgUivVJCDNnzkRcXBz++7//2/Rz/H4/xowZg0cffRTPPfec7mMaGxvR2Ngo3b58+TKGDRuGS5cuoV+/fu0+byIiIiIi6pkuX76M/v37m8oGMd/zJJw5cwa7d+/G22+/3arnORwOTJgwASdPnjR8THx8POLj49t7ikRERERE1It1m2V7+fn5GDRoEB544IFWPS8QCODYsWNISUnppDMjIiIiIiLqJuEpGAwiPz8fP/jBD2C3K4th3//+97FixQrp9r/8y79g165dOHXqFP7617/ie9/7Hs6cOYMf/vCHXX3aRERERETUi3SLZXu7d++Gx+PB4sWLNT/zeDywWq9nvIsXL2LJkiU4f/48BgwYgIkTJ+Kjjz7Cbbfd1pWnTEREREREvUy3ahjRVVqzKYyIiIiIiG5crckG3WLZHhERERERUXfH8ERERERERGQCwxMREREREZEJDE9EREREREQmMDwRERERERGZwPBERERERERkAsMTERERERGRCQxPREREREREJjA8ERERERERmcDwREREREREZALDExERERERkQkMT0RERERERCYwPBEREREREZnA8ERERERERGQCwxMREREREZEJDE9EREREREQmMDwRERERERGZwPBERERERERkAsMTERERERGRCQxPREREREREJjA8ERERERERmcDwREREREREZALDExERERERkQkMT0RERERERCYwPBEREREREZnA8ERERERERGQCwxMREREREZEJDE9EREREREQmMDwRERERERGZwPBERERERERkAsMTERERERGRCQxPREREREREJjA8ERERERERmcDwREREREREZALDExERERERkQkMT0RERERERCYwPBEREREREZnA8ERERERERGQCwxMREREREZEJDE9EREREREQmMDwRERERERGZwPBERERERERkAsMTERERERGRCQxPREREREREJjA8ERERERERmcDwREREREREZALDExERERERkQkMT0RERERERCYwPBEREREREZnA8ERERERERGQCwxMREREREZEJDE9EREREREQmMDwRERERERGZwPBERERERERkAsMTERERERGRCQxPREREREREJjA8ERERERERmcDwREREREREZALDExERERERkQn2WJ8AEZFQXOnF/HXFCAJIdFhw/Llvx/qUiIiIiCSsPBFRt1Bc6cUjLcEJABr8IYz++Y6YnhMRERGRHMMTEXUL20trNPc1NgMery8GZ0NERESkxfBERN3C7PFDde8vqarr4jMhIiIi0sfwRETdQna6Cy/PG6+4L8FuRVZacmxOiIiIiEiFDSOIqNt4cMJQTHAPQEFZLQCg+qIPD796AI9MGoblMzNifHZERETU27HyRETditvlxBM56bhyzY+NxR58dbUJv9lbiV+8cyzWp0ZERES9HMMTEXVLmw+dVdzeWOxh8wgiIiKKKYYnIuqWHpk0THMfm0cQERFRLDE8EVG3tHxmBhZku6XbiQ4bm0cQERFRTFlCoVAo1ifR1S5fvoz+/fvj0qVL6NevX6xPh4gi8Hh9KKmqQ1ZaMtwuZ6xPh4iIiG4wrckG7LZHRN2a2+VkaGqFd4/U4K0SDx7LcuPBCfqzs4iIiKhtGJ6IiG4Aq3aW45W9lRBLCUpOh/eHMUARERF1HO55IiLq4VbtLMdvZMFJeKvEE5PzISIiulExPBER9XC/+6hK9/7Hsty69xMREVHbMDwREfVwfeMdmvuGJsVzyR4REVEHY3giIurhnsnNUNwemhSPA89Oi9HZEBER3bjYMIKIqIcTFSZ22SMiIupcDE9ERDeABycMZWgiIiLqZFy2R0REREREZELMw9OvfvUrWCwWxT8ZGRkRn7N161ZkZGQgISEB48aNw5/+9KcuOlsiIiIiIuqtYh6eAOD2229HbW2t9M+HH35o+NiPPvoIjz76KB5//HEcOXIEDz30EB566CGUlZV14RkTEREREVFv0y3Ck91ux+DBg6V/brrpJsPHvvzyy5g1axZ++tOfYsyYMXjuuedw55134je/+U0XnjEREREREfU23SI8ff755xgyZAhGjhyJxx57DB6Px/CxH3/8MaZNU7bgnTlzJj7++GPD5zQ2NuLy5cuKf4iIiIiIiFoj5uFp8uTJ2LBhA95//328+uqrOH36NO69915cuXJF9/Hnz5/H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AgAASCA8AQAAJBCeAAAAEghPAAAACYQnAACABMITAABAAuEJAAAggfAEAACQQHgCAABIIDwBAAAkEJ4AAAASCE8AAAAJhCcAAIAEwhMAAEAC4QkAACCB8AQAAJBAeAIAAEggPAEAACQQngAAABIITwAAAAmEJwAAgATCEwAAQALhCQAAIIHwBAAAkEB4AgAASCA8AQAAJBCeAAAAEghPAAAACYQnAACABMITAABAAuEJAAAggfAEAACQQHgCAABIIDwBAAAkEJ4AAAASCE8AAAAJhCcAAIAEwhMAAEAC4QkAACCB8AQAAJBAeAIAAEggPAEAACQQngAAABIITwAAAAmEJwAAgATCEwAAQALhCQAAIIHwBAAAkEB4AgAASCA8AQAAJBCeAAAAEghPAAAACYQnAACABMITAABAAuEJAAAggfAEAACQQHgCAABIIDwBAAAkEJ4AAAASCE8AAAAJhCcAAIAEwhMAAEAC4QkAACCB8AQAAJBAeAIAAEggPAEAACRotfC0cOHCKCgoqPf26quvNljv1FNP3af8FVdccQBbDgAAdESdW+uBR40aFRs2bKiz74Ybboj58+fHl770pUbrXnbZZXHzzTfntrt169YibQQAANij1cJTUVFR9O3bN7ddU1MTTz75ZFx11VVRUFDQaN1u3brVqQsAANDS2sw1T0899VRs2bIlvv3tbzdZ9pFHHonDDjssjjnmmJgxY0Zs37690fLV1dVRVVVV5wYAAJCPVpt5+rTZs2fH2LFjo3///o2W++Y3vxmDBg2K8vLyeP3112P69OlRUVERv/vd7xqsM2vWrLjpppuau8kAAEAHUpBlWdacB7zuuuvi9ttvb7TMW2+9FcOGDcttr127NgYNGhSPPfZYTJgwIa/HW7BgQYwePTrefffdGDp0aL1lqquro7q6OrddVVUVAwYMiMrKyigpKcnr8QAAgPajqqoqSktLk7JBs888TZs2LSZNmtRomSFDhtTZnjNnTvTs2TPOOuusvB9vxIgRERGNhqfi4uIoLi7O+9gAAAB7NHt46tWrV/Tq1Su5fJZlMWfOnLj44oujS5cueT/eihUrIiKiX79+edcFAABI1eoLRixYsCBWrVoVl1566T73rVu3LoYNGxZLly6NiIj33nsvbrnllli2bFm8//778dRTT8XFF18cJ598chx77LEHuukAAEAH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",
3034
+ "text/plain": [
3035
+ "<Figure size 1000x900 with 1 Axes>"
3036
+ ]
3037
+ },
3038
+ "metadata": {},
3039
+ "output_type": "display_data"
3040
+ }
3041
+ ],
3042
+ "source": [
3043
+ "import umap.umap_ as umap\n",
3044
+ "import warnings\n",
3045
+ "warnings.filterwarnings('ignore')\n",
3046
+ "\n",
3047
+ "cluster_embedding = umap.UMAP(n_neighbors=30, min_dist=0.0,\n",
3048
+ " n_components=2, random_state=42).fit_transform(X)\n",
3049
+ "\n",
3050
+ "plt.figure(figsize=(10,9))\n",
3051
+ "plt.scatter(cluster_embedding[:, 0], cluster_embedding[:, 1], s=3, cmap='Spectral');"
3052
+ ]
3053
+ },
3054
+ {
3055
+ "cell_type": "markdown",
3056
+ "metadata": {},
3057
+ "source": [
3058
+ "Every dot in this plot is a product. There are several tiny clusters representing similar products."
3059
+ ]
3060
+ },
3061
+ {
3062
+ "cell_type": "markdown",
3063
+ "metadata": {},
3064
+ "source": [
3065
+ "Recommending Products system Usage"
3066
+ ]
3067
+ },
3068
+ {
3069
+ "cell_type": "markdown",
3070
+ "metadata": {},
3071
+ "source": [
3072
+ "Now, our next step is to suggest similar products for a certain product or a product’s vector.\n",
3073
+ "\n",
3074
+ "Let's create a product-ID and product-description dictionary to easily map a product’s description to its ID and vice versa."
3075
+ ]
3076
+ },
3077
+ {
3078
+ "cell_type": "code",
3079
+ "execution_count": 28,
3080
+ "metadata": {},
3081
+ "outputs": [],
3082
+ "source": [
3083
+ "products = train_df[[\"StockCode\", \"Description\"]]\n",
3084
+ "\n",
3085
+ "# remove duplicates\n",
3086
+ "products.drop_duplicates(inplace=True, subset='StockCode', keep=\"last\")\n",
3087
+ "\n",
3088
+ "products_dict = products.groupby('StockCode')['Description'].apply(list).to_dict()"
3089
+ ]
3090
+ },
3091
+ {
3092
+ "cell_type": "code",
3093
+ "execution_count": 29,
3094
+ "metadata": {},
3095
+ "outputs": [
3096
+ {
3097
+ "data": {
3098
+ "text/plain": [
3099
+ "['RED WOOLLY HOTTIE WHITE HEART.']"
3100
+ ]
3101
+ },
3102
+ "execution_count": 29,
3103
+ "metadata": {},
3104
+ "output_type": "execute_result"
3105
+ }
3106
+ ],
3107
+ "source": [
3108
+ "products_dict['84029E']"
3109
+ ]
3110
+ },
3111
+ {
3112
+ "cell_type": "markdown",
3113
+ "metadata": {},
3114
+ "source": [
3115
+ "Create a function to return top 5 similar products by default:"
3116
+ ]
3117
+ },
3118
+ {
3119
+ "cell_type": "code",
3120
+ "execution_count": 30,
3121
+ "metadata": {},
3122
+ "outputs": [],
3123
+ "source": [
3124
+ "def similar_products(v, n = 5):\n",
3125
+ " \n",
3126
+ " # extract most similar products\n",
3127
+ " ms = model.wv.most_similar([v], topn= n+1)[1:]\n",
3128
+ " \n",
3129
+ " # extract name and similarity score\n",
3130
+ " new_ms = []\n",
3131
+ " for j in ms:\n",
3132
+ " pair = (products_dict[j[0]][0], j[1])\n",
3133
+ " new_ms.append(pair)\n",
3134
+ " \n",
3135
+ " return new_ms "
3136
+ ]
3137
+ },
3138
+ {
3139
+ "cell_type": "code",
3140
+ "execution_count": 31,
3141
+ "metadata": {},
3142
+ "outputs": [
3143
+ {
3144
+ "data": {
3145
+ "text/plain": [
3146
+ "['CHOCOLATE HOT WATER BOTTLE']"
3147
+ ]
3148
+ },
3149
+ "execution_count": 31,
3150
+ "metadata": {},
3151
+ "output_type": "execute_result"
3152
+ }
3153
+ ],
3154
+ "source": [
3155
+ "products_dict['22112']"
3156
+ ]
3157
+ },
3158
+ {
3159
+ "cell_type": "code",
3160
+ "execution_count": 32,
3161
+ "metadata": {},
3162
+ "outputs": [
3163
+ {
3164
+ "data": {
3165
+ "text/plain": [
3166
+ "[('HOT WATER BOTTLE I AM SO POORLY', 0.8668386936187744),\n",
3167
+ " ('HOT WATER BOTTLE TEA AND SYMPATHY', 0.8468259572982788),\n",
3168
+ " ('RETROSPOT HEART HOT WATER BOTTLE', 0.7833042740821838),\n",
3169
+ " ('HOT WATER BOTTLE KEEP CALM', 0.760246217250824),\n",
3170
+ " ('SCOTTIE DOG HOT WATER BOTTLE', 0.757988452911377)]"
3171
+ ]
3172
+ },
3173
+ "execution_count": 32,
3174
+ "metadata": {},
3175
+ "output_type": "execute_result"
3176
+ }
3177
+ ],
3178
+ "source": [
3179
+ "similar_products(model.wv['22112'])"
3180
+ ]
3181
+ },
3182
+ {
3183
+ "cell_type": "markdown",
3184
+ "metadata": {},
3185
+ "source": [
3186
+ "The results are pretty relevant and match well with the input product.\n",
3187
+ "\n",
3188
+ "BUT \n",
3189
+ "\n",
3190
+ "what we need is to recommend products based on the multiple purchases that made in the past. Let's see.\n",
3191
+ "\n",
3192
+ "One simple solution is to take the average of all the vectors of the products the user has bought so far and use this vector to find similar products."
3193
+ ]
3194
+ },
3195
+ {
3196
+ "cell_type": "code",
3197
+ "execution_count": 33,
3198
+ "metadata": {},
3199
+ "outputs": [],
3200
+ "source": [
3201
+ "def aggregate_vectors(products):\n",
3202
+ " product_vec = []\n",
3203
+ " for i in products:\n",
3204
+ " try:\n",
3205
+ " product_vec.append(model.wv[i])\n",
3206
+ " except KeyError:\n",
3207
+ " continue\n",
3208
+ " \n",
3209
+ " return np.mean(product_vec, axis=0)"
3210
+ ]
3211
+ },
3212
+ {
3213
+ "cell_type": "markdown",
3214
+ "metadata": {},
3215
+ "source": [
3216
+ "Using Validation list of purchase sequences."
3217
+ ]
3218
+ },
3219
+ {
3220
+ "cell_type": "code",
3221
+ "execution_count": 34,
3222
+ "metadata": {},
3223
+ "outputs": [
3224
+ {
3225
+ "data": {
3226
+ "text/plain": [
3227
+ "(242, 123)"
3228
+ ]
3229
+ },
3230
+ "execution_count": 34,
3231
+ "metadata": {},
3232
+ "output_type": "execute_result"
3233
+ }
3234
+ ],
3235
+ "source": [
3236
+ "len(purchases_val[0]), len(purchases_val[1])"
3237
+ ]
3238
+ },
3239
+ {
3240
+ "cell_type": "markdown",
3241
+ "metadata": {},
3242
+ "source": [
3243
+ "The length of the first list of products purchased by a user is 247 and the secound is 696. We will pass this products’ sequence of the validation set to the function aggregate_vectors to return array of 100 dimensions"
3244
+ ]
3245
+ },
3246
+ {
3247
+ "cell_type": "code",
3248
+ "execution_count": 35,
3249
+ "metadata": {},
3250
+ "outputs": [
3251
+ {
3252
+ "data": {
3253
+ "text/plain": [
3254
+ "((100,), (100,))"
3255
+ ]
3256
+ },
3257
+ "execution_count": 35,
3258
+ "metadata": {},
3259
+ "output_type": "execute_result"
3260
+ }
3261
+ ],
3262
+ "source": [
3263
+ "aggregate_vectors(purchases_val[0]).shape, aggregate_vectors(purchases_val[1]).shape"
3264
+ ]
3265
+ },
3266
+ {
3267
+ "cell_type": "markdown",
3268
+ "metadata": {},
3269
+ "source": [
3270
+ "Now we can use this result to get the most similar products:"
3271
+ ]
3272
+ },
3273
+ {
3274
+ "cell_type": "code",
3275
+ "execution_count": 37,
3276
+ "metadata": {},
3277
+ "outputs": [
3278
+ {
3279
+ "data": {
3280
+ "text/plain": [
3281
+ "[('RIBBON REEL CHRISTMAS SOCK BAUBLE', 0.7117326259613037),\n",
3282
+ " ('RIBBON REEL SNOWY VILLAGE', 0.6936593651771545),\n",
3283
+ " ('RIBBON REEL SOCKS AND MITTENS', 0.6842150092124939),\n",
3284
+ " ('RIBBON REEL CHRISTMAS PRESENT ', 0.6820096373558044),\n",
3285
+ " ('RIBBON REEL MAKING SNOWMEN ', 0.6784197092056274)]"
3286
+ ]
3287
+ },
3288
+ "execution_count": 37,
3289
+ "metadata": {},
3290
+ "output_type": "execute_result"
3291
+ }
3292
+ ],
3293
+ "source": [
3294
+ "similar_products(aggregate_vectors(purchases_val[11]))"
3295
+ ]
3296
+ },
3297
+ {
3298
+ "cell_type": "markdown",
3299
+ "metadata": {},
3300
+ "source": [
3301
+ "WOOOW!! IT'S COOLL\n",
3302
+ "\n",
3303
+ "The model recommended very relative products based the user's past boughts. We can easily get product suggestions based on the last few purchases."
3304
+ ]
3305
+ },
3306
+ {
3307
+ "cell_type": "code",
3308
+ "execution_count": 38,
3309
+ "metadata": {},
3310
+ "outputs": [
3311
+ {
3312
+ "data": {
3313
+ "text/plain": [
3314
+ "[('ASSORTED COLOUR MINI CASES', 0.681169331073761),\n",
3315
+ " ('BAKING SET 9 PIECE RETROSPOT ', 0.6694015264511108),\n",
3316
+ " ('RETROSPOT TEA SET CERAMIC 11 PC ', 0.6445483565330505),\n",
3317
+ " ('TRADITIONAL KNITTING NANCY', 0.6320570111274719),\n",
3318
+ " ('6 RIBBONS RUSTIC CHARM', 0.6178888082504272)]"
3319
+ ]
3320
+ },
3321
+ "execution_count": 38,
3322
+ "metadata": {},
3323
+ "output_type": "execute_result"
3324
+ }
3325
+ ],
3326
+ "source": [
3327
+ "similar_products(aggregate_vectors(purchases_val[11][-10:]))"
3328
+ ]
3329
+ },
3330
+ {
3331
+ "cell_type": "markdown",
3332
+ "metadata": {},
3333
+ "source": [
3334
+ "Coool!\n",
3335
+ "\n",
3336
+ "The customer seems to be interested in Home Decor recently."
3337
  ]
3338
  },
3339
  {
app.py CHANGED
@@ -148,7 +148,10 @@ basket = (
148
  .applymap(lambda x: 1 if x > 0 else 0)
149
  )
150
 
 
151
  frequent_itemsets = apriori(basket, min_support=0.05, use_colnames=True)
 
 
152
  if not frequent_itemsets.empty:
153
  rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1)
154
 
 
148
  .applymap(lambda x: 1 if x > 0 else 0)
149
  )
150
 
151
+ # Generate frequent itemsets
152
  frequent_itemsets = apriori(basket, min_support=0.05, use_colnames=True)
153
+
154
+ # Generate association rules
155
  if not frequent_itemsets.empty:
156
  rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1)
157