{ "cells": [ { "cell_type": "code", "execution_count": 4, "id": "d8389163", "metadata": { "ExecuteTime": { "end_time": "2024-02-28T07:38:15.682484Z", "start_time": "2024-02-28T07:37:50.813485Z" } }, "outputs": [], "source": [ "import pandas as pd\n", "\n", "df = pd.read_excel('OnlineRetail.xlsx', header=0)" ] }, { "cell_type": "code", "execution_count": 5, "id": "bc67ee34", "metadata": { "ExecuteTime": { "end_time": "2024-02-28T07:38:15.695896Z", "start_time": "2024-02-28T07:38:15.683485Z" } }, "outputs": [ { "data": { "text/plain": " InvoiceNo StockCode Description Quantity \\\n0 536365 85123A WHITE HANGING HEART T-LIGHT HOLDER 6 \n1 536365 71053 WHITE METAL LANTERN 6 \n2 536365 84406B CREAM CUPID HEARTS COAT HANGER 8 \n3 536365 84029G KNITTED UNION FLAG HOT WATER BOTTLE 6 \n4 536365 84029E RED WOOLLY HOTTIE WHITE HEART. 6 \n\n InvoiceDate UnitPrice CustomerID Country \n0 2010-12-01 08:26:00 2.55 17850.0 United Kingdom \n1 2010-12-01 08:26:00 3.39 17850.0 United Kingdom \n2 2010-12-01 08:26:00 2.75 17850.0 United Kingdom \n3 2010-12-01 08:26:00 3.39 17850.0 United Kingdom \n4 2010-12-01 08:26:00 3.39 17850.0 United Kingdom ", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
InvoiceNoStockCodeDescriptionQuantityInvoiceDateUnitPriceCustomerIDCountry
053636585123AWHITE HANGING HEART T-LIGHT HOLDER62010-12-01 08:26:002.5517850.0United Kingdom
153636571053WHITE METAL LANTERN62010-12-01 08:26:003.3917850.0United Kingdom
253636584406BCREAM CUPID HEARTS COAT HANGER82010-12-01 08:26:002.7517850.0United Kingdom
353636584029GKNITTED UNION FLAG HOT WATER BOTTLE62010-12-01 08:26:003.3917850.0United Kingdom
453636584029ERED WOOLLY HOTTIE WHITE HEART.62010-12-01 08:26:003.3917850.0United Kingdom
\n
" }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 6, "id": "373846a1", "metadata": { "ExecuteTime": { "end_time": "2024-02-28T07:38:15.700685Z", "start_time": "2024-02-28T07:38:15.696407Z" } }, "outputs": [ { "data": { "text/plain": "(541909, 8)" }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "code", "execution_count": 7, "id": "9a377803", "metadata": { "ExecuteTime": { "end_time": "2024-02-28T07:38:15.869792Z", "start_time": "2024-02-28T07:38:15.701684Z" } }, "outputs": [ { "data": { "text/plain": " Quantity InvoiceDate UnitPrice \\\ncount 541909.000000 541909 541909.000000 \nmean 9.552250 2011-07-04 13:34:57.156386048 4.611114 \nmin -80995.000000 2010-12-01 08:26:00 -11062.060000 \n25% 1.000000 2011-03-28 11:34:00 1.250000 \n50% 3.000000 2011-07-19 17:17:00 2.080000 \n75% 10.000000 2011-10-19 11:27:00 4.130000 \nmax 80995.000000 2011-12-09 12:50:00 38970.000000 \nstd 218.081158 NaN 96.759853 \n\n CustomerID \ncount 406829.000000 \nmean 15287.690570 \nmin 12346.000000 \n25% 13953.000000 \n50% 15152.000000 \n75% 16791.000000 \nmax 18287.000000 \nstd 1713.600303 ", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
QuantityInvoiceDateUnitPriceCustomerID
count541909.000000541909541909.000000406829.000000
mean9.5522502011-07-04 13:34:57.1563860484.61111415287.690570
min-80995.0000002010-12-01 08:26:00-11062.06000012346.000000
25%1.0000002011-03-28 11:34:001.25000013953.000000
50%3.0000002011-07-19 17:17:002.08000015152.000000
75%10.0000002011-10-19 11:27:004.13000016791.000000
max80995.0000002011-12-09 12:50:0038970.00000018287.000000
std218.081158NaN96.7598531713.600303
\n
" }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "code", "execution_count": 8, "id": "742d7691", "metadata": { "ExecuteTime": { "end_time": "2024-02-28T07:38:15.876557Z", "start_time": "2024-02-28T07:38:15.869792Z" } }, "outputs": [ { "data": { "text/plain": "" }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.info" ] }, { "cell_type": "code", "execution_count": 9, "id": "5b5b8cdc", "metadata": { "ExecuteTime": { "end_time": "2024-02-28T07:38:15.882036Z", "start_time": "2024-02-28T07:38:15.877596Z" } }, "outputs": [ { "data": { "text/plain": "0 United Kingdom\n1 United Kingdom\n2 United Kingdom\n3 United Kingdom\n4 United Kingdom\n ... \n541904 France\n541905 France\n541906 France\n541907 France\n541908 France\nName: Country, Length: 541909, dtype: object" }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Country']" ] }, { "cell_type": "code", "execution_count": 10, "id": "d4cc1311", "metadata": { "ExecuteTime": { "end_time": "2024-02-28T07:38:15.900937Z", "start_time": "2024-02-28T07:38:15.883083Z" } }, "outputs": [ { "data": { "text/plain": "Country\nUnited Kingdom 495478\nGermany 9495\nFrance 8557\nEIRE 8196\nSpain 2533\nNetherlands 2371\nBelgium 2069\nSwitzerland 2002\nPortugal 1519\nAustralia 1259\nNorway 1086\nItaly 803\nChannel Islands 758\nFinland 695\nCyprus 622\nSweden 462\nUnspecified 446\nAustria 401\nDenmark 389\nJapan 358\nPoland 341\nIsrael 297\nUSA 291\nHong Kong 288\nSingapore 229\nIceland 182\nCanada 151\nGreece 146\nMalta 127\nUnited Arab Emirates 68\nEuropean Community 61\nRSA 58\nLebanon 45\nLithuania 35\nBrazil 32\nCzech Republic 30\nBahrain 19\nSaudi Arabia 10\nName: count, dtype: int64" }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"Country\"].value_counts()" ] }, { "cell_type": "code", "execution_count": 11, "id": "7c38e8a1", "metadata": { "ExecuteTime": { "end_time": "2024-02-28T07:38:15.916952Z", "start_time": "2024-02-28T07:38:15.902031Z" } }, "outputs": [ { "data": { "text/plain": "True" }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.duplicated(subset=[\"InvoiceNo\"]).any()" ] }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "InvoiceNo 0\nStockCode 0\nDescription 1454\nQuantity 0\nInvoiceDate 0\nUnitPrice 0\nCustomerID 135080\nCountry 0\ndtype: int64" }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.isna().sum()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T07:39:55.201285Z", "start_time": "2024-02-28T07:39:55.151793Z" } }, "id": "14992f9c11c510c4", "execution_count": 12 }, { "cell_type": "code", "outputs": [], "source": [ "df['Description'] = df['Description'].str.strip()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T07:40:50.115934Z", "start_time": "2024-02-28T07:40:50.013818Z" } }, "id": "192399a4012c02cd", "execution_count": 13 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "1455" }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Description'].isna().sum()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T07:41:06.743426Z", "start_time": "2024-02-28T07:41:06.723926Z" } }, "id": "802455edc452f998", "execution_count": 14 }, { "cell_type": "code", "outputs": [], "source": [ "df.dropna(axis=0, subset=['Description'], inplace=True)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T07:58:11.350821Z", "start_time": "2024-02-28T07:58:11.289749Z" } }, "id": "5d16f91c978dec55", "execution_count": 15 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "(531166, 8)" }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['InvoiceNo'] = df['InvoiceNo'].astype('str')\n", "df = df[~df['InvoiceNo'].str.contains('C')]\n", "df.shape" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T08:00:14.192116Z", "start_time": "2024-02-28T08:00:14.054905Z" } }, "id": "e3243a42ab0b019b", "execution_count": 18 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "(457, 1695)" }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_de = (df[df['Country'] ==\"Germany\"] \n", " .groupby(['InvoiceNo', 'Description'])['Quantity']\n", " .sum()\n", " .unstack()\n", " .reset_index()\n", " .fillna(0)\n", " .set_index('InvoiceNo'))\n", "\n", "df_de.shape" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T08:52:18.640048Z", "start_time": "2024-02-28T08:52:18.602732Z" } }, "id": "ce1d60ca48f883da", "execution_count": 19 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "Description 10 COLOUR SPACEBOY PEN 12 COLOURED PARTY BALLOONS \\\nInvoiceNo \n536527 0.0 0.0 \n536840 0.0 0.0 \n536861 0.0 0.0 \n536967 0.0 0.0 \n536983 0.0 0.0 \n\nDescription 12 IVORY ROSE PEG PLACE SETTINGS \\\nInvoiceNo \n536527 0.0 \n536840 0.0 \n536861 0.0 \n536967 0.0 \n536983 0.0 \n\nDescription 12 MESSAGE CARDS WITH ENVELOPES 12 PENCIL SMALL TUBE WOODLAND \\\nInvoiceNo \n536527 0.0 0.0 \n536840 0.0 0.0 \n536861 0.0 0.0 \n536967 0.0 0.0 \n536983 0.0 0.0 \n\nDescription 12 PENCILS SMALL TUBE RED RETROSPOT 12 PENCILS SMALL TUBE SKULL \\\nInvoiceNo \n536527 0.0 0.0 \n536840 0.0 0.0 \n536861 0.0 0.0 \n536967 0.0 0.0 \n536983 0.0 0.0 \n\nDescription 12 PENCILS TALL TUBE POSY 12 PENCILS TALL TUBE RED RETROSPOT \\\nInvoiceNo \n536527 0.0 0.0 \n536840 0.0 0.0 \n536861 0.0 0.0 \n536967 0.0 0.0 \n536983 0.0 0.0 \n\nDescription 12 PENCILS TALL TUBE SKULLS ... YULETIDE IMAGES GIFT WRAP SET \\\nInvoiceNo ... \n536527 0.0 ... 0.0 \n536840 0.0 ... 0.0 \n536861 0.0 ... 0.0 \n536967 0.0 ... 0.0 \n536983 0.0 ... 0.0 \n\nDescription ZINC HEART T-LIGHT HOLDER ZINC STAR T-LIGHT HOLDER \\\nInvoiceNo \n536527 0.0 0.0 \n536840 0.0 0.0 \n536861 0.0 0.0 \n536967 0.0 0.0 \n536983 0.0 0.0 \n\nDescription ZINC BOX SIGN HOME ZINC FOLKART SLEIGH BELLS \\\nInvoiceNo \n536527 0.0 0.0 \n536840 0.0 0.0 \n536861 0.0 0.0 \n536967 0.0 0.0 \n536983 0.0 0.0 \n\nDescription ZINC HEART LATTICE T-LIGHT HOLDER ZINC METAL HEART DECORATION \\\nInvoiceNo \n536527 0.0 0.0 \n536840 0.0 0.0 \n536861 0.0 0.0 \n536967 0.0 0.0 \n536983 0.0 0.0 \n\nDescription ZINC T-LIGHT HOLDER STAR LARGE ZINC T-LIGHT HOLDER STARS SMALL \\\nInvoiceNo \n536527 0.0 0.0 \n536840 0.0 0.0 \n536861 0.0 0.0 \n536967 0.0 0.0 \n536983 0.0 0.0 \n\nDescription ZINC WILLIE WINKIE CANDLE STICK \nInvoiceNo \n536527 0.0 \n536840 0.0 \n536861 0.0 \n536967 0.0 \n536983 0.0 \n\n[5 rows x 1695 columns]", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Description10 COLOUR SPACEBOY PEN12 COLOURED PARTY BALLOONS12 IVORY ROSE PEG PLACE SETTINGS12 MESSAGE CARDS WITH ENVELOPES12 PENCIL SMALL TUBE WOODLAND12 PENCILS SMALL TUBE RED RETROSPOT12 PENCILS SMALL TUBE SKULL12 PENCILS TALL TUBE POSY12 PENCILS TALL TUBE RED RETROSPOT12 PENCILS TALL TUBE SKULLS...YULETIDE IMAGES GIFT WRAP SETZINC HEART T-LIGHT HOLDERZINC STAR T-LIGHT HOLDERZINC BOX SIGN HOMEZINC FOLKART SLEIGH BELLSZINC HEART LATTICE T-LIGHT HOLDERZINC METAL HEART DECORATIONZINC T-LIGHT HOLDER STAR LARGEZINC T-LIGHT HOLDER STARS SMALLZINC WILLIE WINKIE CANDLE STICK
InvoiceNo
5365270.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
5368400.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
5368610.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
5369670.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
5369830.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
\n

5 rows × 1695 columns

\n
" }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_de.head()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T08:52:31.825461Z", "start_time": "2024-02-28T08:52:31.813514Z" } }, "id": "e4247c5f2563b3ed", "execution_count": 20 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "Description 10 COLOUR SPACEBOY PEN 12 COLOURED PARTY BALLOONS \\\nInvoiceNo \n536527 0 0 \n536840 0 0 \n536861 0 0 \n536967 0 0 \n536983 0 0 \n\nDescription 12 IVORY ROSE PEG PLACE SETTINGS \\\nInvoiceNo \n536527 0 \n536840 0 \n536861 0 \n536967 0 \n536983 0 \n\nDescription 12 MESSAGE CARDS WITH ENVELOPES 12 PENCIL SMALL TUBE WOODLAND \\\nInvoiceNo \n536527 0 0 \n536840 0 0 \n536861 0 0 \n536967 0 0 \n536983 0 0 \n\nDescription 12 PENCILS SMALL TUBE RED RETROSPOT 12 PENCILS SMALL TUBE SKULL \\\nInvoiceNo \n536527 0 0 \n536840 0 0 \n536861 0 0 \n536967 0 0 \n536983 0 0 \n\nDescription 12 PENCILS TALL TUBE POSY 12 PENCILS TALL TUBE RED RETROSPOT \\\nInvoiceNo \n536527 0 0 \n536840 0 0 \n536861 0 0 \n536967 0 0 \n536983 0 0 \n\nDescription 12 PENCILS TALL TUBE SKULLS ... YULETIDE IMAGES GIFT WRAP SET \\\nInvoiceNo ... \n536527 0 ... 0 \n536840 0 ... 0 \n536861 0 ... 0 \n536967 0 ... 0 \n536983 0 ... 0 \n\nDescription ZINC HEART T-LIGHT HOLDER ZINC STAR T-LIGHT HOLDER \\\nInvoiceNo \n536527 0 0 \n536840 0 0 \n536861 0 0 \n536967 0 0 \n536983 0 0 \n\nDescription ZINC BOX SIGN HOME ZINC FOLKART SLEIGH BELLS \\\nInvoiceNo \n536527 0 0 \n536840 0 0 \n536861 0 0 \n536967 0 0 \n536983 0 0 \n\nDescription ZINC HEART LATTICE T-LIGHT HOLDER ZINC METAL HEART DECORATION \\\nInvoiceNo \n536527 0 0 \n536840 0 0 \n536861 0 0 \n536967 0 0 \n536983 0 0 \n\nDescription ZINC T-LIGHT HOLDER STAR LARGE ZINC T-LIGHT HOLDER STARS SMALL \\\nInvoiceNo \n536527 0 0 \n536840 0 0 \n536861 0 0 \n536967 0 0 \n536983 0 0 \n\nDescription ZINC WILLIE WINKIE CANDLE STICK \nInvoiceNo \n536527 0 \n536840 0 \n536861 0 \n536967 0 \n536983 0 \n\n[5 rows x 1695 columns]", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Description10 COLOUR SPACEBOY PEN12 COLOURED PARTY BALLOONS12 IVORY ROSE PEG PLACE SETTINGS12 MESSAGE CARDS WITH ENVELOPES12 PENCIL SMALL TUBE WOODLAND12 PENCILS SMALL TUBE RED RETROSPOT12 PENCILS SMALL TUBE SKULL12 PENCILS TALL TUBE POSY12 PENCILS TALL TUBE RED RETROSPOT12 PENCILS TALL TUBE SKULLS...YULETIDE IMAGES GIFT WRAP SETZINC HEART T-LIGHT HOLDERZINC STAR T-LIGHT HOLDERZINC BOX SIGN HOMEZINC FOLKART SLEIGH BELLSZINC HEART LATTICE T-LIGHT HOLDERZINC METAL HEART DECORATIONZINC T-LIGHT HOLDER STAR LARGEZINC T-LIGHT HOLDER STARS SMALLZINC WILLIE WINKIE CANDLE STICK
InvoiceNo
5365270000000000...0000000000
5368400000000000...0000000000
5368610000000000...0000000000
5369670000000000...0000000000
5369830000000000...0000000000
\n

5 rows × 1695 columns

\n
" }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def encode_units(x):\n", " if x <= 0:\n", " return 0\n", " if x >= 1:\n", " return 1\n", "\n", "df_de_sets = df_de.map(encode_units)\n", "df_de_sets.head()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T09:01:47.204060Z", "start_time": "2024-02-28T09:01:47.033821Z" } }, "id": "807fccc143c6b7d4", "execution_count": 22 }, { "cell_type": "code", "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Daming\\scoop\\apps\\python\\current\\Lib\\site-packages\\mlxtend\\frequent_patterns\\fpcommon.py:109: DeprecationWarning: DataFrames with non-bool types result in worse computationalperformance and their support might be discontinued in the future.Please use a DataFrame with bool type\n", " warnings.warn(\n" ] }, { "data": { "text/plain": " support itemsets\n0 0.102845 (6 RIBBONS RUSTIC CHARM)\n1 0.070022 (ALARM CLOCK BAKELIKE PINK)\n2 0.072210 (GUMBALL COAT RACK)\n3 0.091904 (JAM MAKING SET PRINTED)\n4 0.078775 (JUMBO BAG RED RETROSPOT)\n5 0.100656 (JUMBO BAG WOODLAND ANIMALS)\n6 0.078775 (LUNCH BAG WOODLAND)\n7 0.085339 (PACK OF 72 RETROSPOT CAKE CASES)\n8 0.115974 (PLASTERS IN TIN CIRCUS PARADE)\n9 0.107221 (PLASTERS IN TIN SPACEBOY)\n10 0.070022 (PLASTERS IN TIN STRONGMAN)\n11 0.137856 (PLASTERS IN TIN WOODLAND ANIMALS)\n12 0.818381 (POSTAGE)\n13 0.070022 (RED RETROSPOT CHARLOTTE BAG)\n14 0.070022 (RED RETROSPOT CUP)\n15 0.096280 (RED TOADSTOOL LED NIGHT LIGHT)\n16 0.137856 (REGENCY CAKESTAND 3 TIER)\n17 0.157549 (ROUND SNACK BOXES SET OF 4 FRUITS)\n18 0.245077 (ROUND SNACK BOXES SET OF4 WOODLAND)\n19 0.070022 (SET OF 3 REGENCY CAKE TINS)\n20 0.102845 (SPACEBOY LUNCH BOX)\n21 0.078775 (STRAWBERRY LUNCH BOX WITH CUTLERY)\n22 0.126915 (WOODLAND CHARLOTTE BAG)\n23 0.091904 (6 RIBBONS RUSTIC CHARM, POSTAGE)\n24 0.074398 (JAM MAKING SET PRINTED, POSTAGE)\n25 0.087527 (JUMBO BAG WOODLAND ANIMALS, POSTAGE)\n26 0.100656 (PLASTERS IN TIN CIRCUS PARADE, POSTAGE)\n27 0.100656 (PLASTERS IN TIN SPACEBOY, POSTAGE)\n28 0.118162 (PLASTERS IN TIN WOODLAND ANIMALS, POSTAGE)\n29 0.074398 (ROUND SNACK BOXES SET OF4 WOODLAND, PLASTERS ...\n30 0.080963 (RED TOADSTOOL LED NIGHT LIGHT, POSTAGE)\n31 0.120350 (REGENCY CAKESTAND 3 TIER, POSTAGE)\n32 0.150985 (ROUND SNACK BOXES SET OF 4 FRUITS, POSTAGE)\n33 0.225383 (ROUND SNACK BOXES SET OF4 WOODLAND, POSTAGE)\n34 0.091904 (SPACEBOY LUNCH BOX, POSTAGE)\n35 0.115974 (POSTAGE, WOODLAND CHARLOTTE BAG)\n36 0.131291 (ROUND SNACK BOXES SET OF 4 FRUITS, ROUND SNAC...\n37 0.070022 (ROUND SNACK BOXES SET OF4 WOODLAND, SPACEBOY ...\n38 0.124726 (ROUND SNACK BOXES SET OF 4 FRUITS, ROUND SNAC...", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
supportitemsets
00.102845(6 RIBBONS RUSTIC CHARM)
10.070022(ALARM CLOCK BAKELIKE PINK)
20.072210(GUMBALL COAT RACK)
30.091904(JAM MAKING SET PRINTED)
40.078775(JUMBO BAG RED RETROSPOT)
50.100656(JUMBO BAG WOODLAND ANIMALS)
60.078775(LUNCH BAG WOODLAND)
70.085339(PACK OF 72 RETROSPOT CAKE CASES)
80.115974(PLASTERS IN TIN CIRCUS PARADE)
90.107221(PLASTERS IN TIN SPACEBOY)
100.070022(PLASTERS IN TIN STRONGMAN)
110.137856(PLASTERS IN TIN WOODLAND ANIMALS)
120.818381(POSTAGE)
130.070022(RED RETROSPOT CHARLOTTE BAG)
140.070022(RED RETROSPOT CUP)
150.096280(RED TOADSTOOL LED NIGHT LIGHT)
160.137856(REGENCY CAKESTAND 3 TIER)
170.157549(ROUND SNACK BOXES SET OF 4 FRUITS)
180.245077(ROUND SNACK BOXES SET OF4 WOODLAND)
190.070022(SET OF 3 REGENCY CAKE TINS)
200.102845(SPACEBOY LUNCH BOX)
210.078775(STRAWBERRY LUNCH BOX WITH CUTLERY)
220.126915(WOODLAND CHARLOTTE BAG)
230.091904(6 RIBBONS RUSTIC CHARM, POSTAGE)
240.074398(JAM MAKING SET PRINTED, POSTAGE)
250.087527(JUMBO BAG WOODLAND ANIMALS, POSTAGE)
260.100656(PLASTERS IN TIN CIRCUS PARADE, POSTAGE)
270.100656(PLASTERS IN TIN SPACEBOY, POSTAGE)
280.118162(PLASTERS IN TIN WOODLAND ANIMALS, POSTAGE)
290.074398(ROUND SNACK BOXES SET OF4 WOODLAND, PLASTERS ...
300.080963(RED TOADSTOOL LED NIGHT LIGHT, POSTAGE)
310.120350(REGENCY CAKESTAND 3 TIER, POSTAGE)
320.150985(ROUND SNACK BOXES SET OF 4 FRUITS, POSTAGE)
330.225383(ROUND SNACK BOXES SET OF4 WOODLAND, POSTAGE)
340.091904(SPACEBOY LUNCH BOX, POSTAGE)
350.115974(POSTAGE, WOODLAND CHARLOTTE BAG)
360.131291(ROUND SNACK BOXES SET OF 4 FRUITS, ROUND SNAC...
370.070022(ROUND SNACK BOXES SET OF4 WOODLAND, SPACEBOY ...
380.124726(ROUND SNACK BOXES SET OF 4 FRUITS, ROUND SNAC...
\n
" }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from mlxtend.frequent_patterns import apriori\n", "\n", "df_Frequent_Itemsets = apriori(df_de_sets\n", " , min_support=0.07\n", " , use_colnames=True)\n", "df_Frequent_Itemsets\n", "\n" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T09:31:58.626891Z", "start_time": "2024-02-28T09:31:58.609867Z" } }, "id": "201880b3fe13ab0e", "execution_count": 28 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "(39, 2)" }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_Frequent_Itemsets.shape" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T09:06:45.962716Z", "start_time": "2024-02-28T09:06:45.959347Z" } }, "id": "364e7a230b0b1822", "execution_count": 24 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": " antecedents consequents \\\n0 (6 RIBBONS RUSTIC CHARM) (POSTAGE) \n1 (POSTAGE) (6 RIBBONS RUSTIC CHARM) \n2 (JUMBO BAG WOODLAND ANIMALS) (POSTAGE) \n3 (POSTAGE) (JUMBO BAG WOODLAND ANIMALS) \n4 (PLASTERS IN TIN CIRCUS PARADE) (POSTAGE) \n\n antecedent support consequent support support confidence lift \\\n0 0.102845 0.818381 0.091904 0.893617 1.091933 \n1 0.818381 0.102845 0.091904 0.112299 1.091933 \n2 0.100656 0.818381 0.087527 0.869565 1.062544 \n3 0.818381 0.100656 0.087527 0.106952 1.062544 \n4 0.115974 0.818381 0.100656 0.867925 1.060539 \n\n leverage conviction zhangs_metric \n0 0.007738 1.707221 0.093844 \n1 0.007738 1.010651 0.463569 \n2 0.005152 1.392414 0.065450 \n3 0.005152 1.007049 0.324096 \n4 0.005746 1.375117 0.064572 ", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
antecedentsconsequentsantecedent supportconsequent supportsupportconfidenceliftleverageconvictionzhangs_metric
0(6 RIBBONS RUSTIC CHARM)(POSTAGE)0.1028450.8183810.0919040.8936171.0919330.0077381.7072210.093844
1(POSTAGE)(6 RIBBONS RUSTIC CHARM)0.8183810.1028450.0919040.1122991.0919330.0077381.0106510.463569
2(JUMBO BAG WOODLAND ANIMALS)(POSTAGE)0.1006560.8183810.0875270.8695651.0625440.0051521.3924140.065450
3(POSTAGE)(JUMBO BAG WOODLAND ANIMALS)0.8183810.1006560.0875270.1069521.0625440.0051521.0070490.324096
4(PLASTERS IN TIN CIRCUS PARADE)(POSTAGE)0.1159740.8183810.1006560.8679251.0605390.0057461.3751170.064572
\n
" }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from mlxtend.frequent_patterns import association_rules\n", "\n", "df_AssociationRules = association_rules(df_Frequent_Itemsets\n", " , metric=\"lift\"\n", " , min_threshold=1)\n", "df_AssociationRules.head()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T09:07:29.743069Z", "start_time": "2024-02-28T09:07:29.733576Z" } }, "id": "d4c9131c77fdc880", "execution_count": 25 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": " antecedents \\\n24 (ROUND SNACK BOXES SET OF 4 FRUITS) \n29 (ROUND SNACK BOXES SET OF 4 FRUITS, POSTAGE) \n\n consequents antecedent support \\\n24 (ROUND SNACK BOXES SET OF4 WOODLAND) 0.157549 \n29 (ROUND SNACK BOXES SET OF4 WOODLAND) 0.150985 \n\n consequent support support confidence lift leverage conviction \\\n24 0.245077 0.131291 0.833333 3.400298 0.092679 4.52954 \n29 0.245077 0.124726 0.826087 3.370730 0.087724 4.34081 \n\n zhangs_metric \n24 0.837922 \n29 0.828405 ", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
antecedentsconsequentsantecedent supportconsequent supportsupportconfidenceliftleverageconvictionzhangs_metric
24(ROUND SNACK BOXES SET OF 4 FRUITS)(ROUND SNACK BOXES SET OF4 WOODLAND)0.1575490.2450770.1312910.8333333.4002980.0926794.529540.837922
29(ROUND SNACK BOXES SET OF 4 FRUITS, POSTAGE)(ROUND SNACK BOXES SET OF4 WOODLAND)0.1509850.2450770.1247260.8260873.3707300.0877244.340810.828405
\n
" }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_A= df_AssociationRules[(df_AssociationRules['lift'] >= 2) &\n", " (df_AssociationRules['confidence'] >= 0.8) ]\n", "df_A" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T09:10:06.163813Z", "start_time": "2024-02-28T09:10:06.152727Z" } }, "id": "2ec1bfa5621f7326", "execution_count": 26 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "
", "image/png": "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xAtqpYAyY/VJxU2jRJuA2l2Zm4jImQiSdGd9l8vKcrwDnupKEAB/fw+nGEt1OM5/SIKAdclXMP/nE9U+17z+kejVxh9iHXZRNRT+PJ0Lx+lcHHmcFbXVhBenJJIBQZLQp10gREnCO9tOWRxTo1YKmNE7Ag+29HXIMENEVN8YaIhkQqcQMDi6Ee5r6YcD6dex71wuBAG4p4UvYhp7IchNA8HRvloRETUQBhoiGREkIMRVjcbhAejfLggAIIpi+RQxwwwR3cEYaIhkSJIAo5GnZxMRVbDbadtEREREtsJAQ0RERLLHQENERESyx0BDREREssdAQ0RERLLHQENERESyx0BDREREssdAQ0RERLLHQENERESyx0BDREREssdAQ0RERLLHQENERESyx0BDREREssdAQ0RERLLHQENERESyx0BDREREssdAQ0RERLLHQENERESyx0BDREREssdAQ0RERLLHQENERESyx0BDREREssdAQ0RERLLHQENERESyx0BDREREssdAQ0RERLLHQENERESyx0BDREREssdAQ0RERLKnsncBREREdyJRFGE0GuxdBgBAEICSkhKUlekhSQ372kqlCgrF7c+vMNBYqQxAxo1SnMkuRJlBRJCnC1r5ucFLo2jwXwYiIpIPSZKQl5eD4uICe5diJidHAVEU7fLaOp07PD19IQiC1c/BQGOFHL0Ri7edwi/Hr5m1B7i7YPHgKET6uzLUEBFRpSrCjLu7DzQal9v6ELclpVKA0diwH16SJEGvL0VBQS4AwMvLz+rnYqCpo0KDhFkbj2PP2RyL+zILSvHv1Qfw5ahOaOHpYofqiIjIkYmi0RRm3N097V2OGZVKAYOh4WdoNJryz8uCglx4ePhYvfuJBwXXUVpuUaVhpoLeKGL1XxcgOUjiJiIix2E0GgH88yFO5Srej9s5poiBpg6USgW2HL1aY7+fki/jWlFZA1RERERy5Ci7mRyFLd4PBpo6EATg0vXiGvuJElBiMDZARURERAQw0NSJKEoID/aosZ+LSgE3DQ9PIiIix3D58iUkJMSb/nvgwH4AQEZGOkaOHIpu3e7F8uUfIzc3Bzt2bLNztdbhp24diKKErq0D8Nnuc9X2e6pzUwToVJBEnupERESOZcOGLfD09AIArF37HQBg9erv4OPjjffffweSJKFbt4fsWaJVOENTR828tRjS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" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "\n", "sns.scatterplot(x = \"support\"\n", " , y = \"confidence\"\n", " , size = \"lift\"\n", " , data = df_AssociationRules)\n", "plt.show()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-28T09:10:24.410928Z", "start_time": "2024-02-28T09:10:24.277270Z" } }, "id": "812f864d292074de", "execution_count": 27 }, { "cell_type": "code", "outputs": [], "source": [], "metadata": { "collapsed": false }, "id": "1ba3d127d747b70d" } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.7" } }, "nbformat": 4, "nbformat_minor": 5 }