{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Market Basket Analysis Introduction\n", "\n", "Companion notebook to http://pbpython.com/market-basket-analysis.html" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd\n", "from mlxtend.frequent_patterns import apriori\n", "from mlxtend.frequent_patterns import association_rules" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df = pd.read_excel('http://archive.ics.uci.edu/ml/machine-learning-databases/00352/Online%20Retail.xlsx')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "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", "
" ], "text/plain": [ " InvoiceNo StockCode Description Quantity \\\n", "0 536365 85123A WHITE HANGING HEART T-LIGHT HOLDER 6 \n", "1 536365 71053 WHITE METAL LANTERN 6 \n", "2 536365 84406B CREAM CUPID HEARTS COAT HANGER 8 \n", "3 536365 84029G KNITTED UNION FLAG HOT WATER BOTTLE 6 \n", "4 536365 84029E RED WOOLLY HOTTIE WHITE HEART. 6 \n", "\n", " InvoiceDate UnitPrice CustomerID Country \n", "0 2010-12-01 08:26:00 2.55 17850.0 United Kingdom \n", "1 2010-12-01 08:26:00 3.39 17850.0 United Kingdom \n", "2 2010-12-01 08:26:00 2.75 17850.0 United Kingdom \n", "3 2010-12-01 08:26:00 3.39 17850.0 United Kingdom \n", "4 2010-12-01 08:26:00 3.39 17850.0 United Kingdom " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Clean up spaces in description and remove any rows that don't have a valid invoice\n", "df['Description'] = df['Description'].str.strip()\n", "df.dropna(axis=0, subset=['InvoiceNo'], inplace=True)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df['InvoiceNo'] = df['InvoiceNo'].astype('str')\n", "df = df[~df['InvoiceNo'].str.contains('C')]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "basket = (df[df['Country'] ==\"France\"]\n", " .groupby(['InvoiceNo', 'Description'])['Quantity']\n", " .sum().unstack().reset_index().fillna(0)\n", " .set_index('InvoiceNo'))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "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 EGG HOUSE PAINTED WOOD12 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 WOODLAND...WRAP VINTAGE PETALS DESIGNYELLOW COAT RACK PARIS FASHIONYELLOW GIANT GARDEN THERMOMETERYELLOW SHARK HELICOPTERZINC STAR T-LIGHT HOLDERZINC FOLKART SLEIGH BELLSZINC HERB GARDEN CONTAINERZINC METAL HEART DECORATIONZINC T-LIGHT HOLDER STAR LARGEZINC T-LIGHT HOLDER STARS SMALL
InvoiceNo
5363700.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
5368520.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
5369740.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
5370650.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
5374630.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
\n", "

5 rows × 1563 columns

\n", "
" ], "text/plain": [ "Description 10 COLOUR SPACEBOY PEN 12 COLOURED PARTY BALLOONS \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description 12 EGG HOUSE PAINTED WOOD 12 MESSAGE CARDS WITH ENVELOPES \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description 12 PENCIL SMALL TUBE WOODLAND \\\n", "InvoiceNo \n", "536370 0.0 \n", "536852 0.0 \n", "536974 0.0 \n", "537065 0.0 \n", "537463 0.0 \n", "\n", "Description 12 PENCILS SMALL TUBE RED RETROSPOT 12 PENCILS SMALL TUBE SKULL \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description 12 PENCILS TALL TUBE POSY 12 PENCILS TALL TUBE RED RETROSPOT \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description 12 PENCILS TALL TUBE WOODLAND ... \\\n", "InvoiceNo ... \n", "536370 0.0 ... \n", "536852 0.0 ... \n", "536974 0.0 ... \n", "537065 0.0 ... \n", "537463 0.0 ... \n", "\n", "Description WRAP VINTAGE PETALS DESIGN YELLOW COAT RACK PARIS FASHION \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description YELLOW GIANT GARDEN THERMOMETER YELLOW SHARK HELICOPTER \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description ZINC STAR T-LIGHT HOLDER ZINC FOLKART SLEIGH BELLS \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description ZINC HERB GARDEN CONTAINER ZINC METAL HEART DECORATION \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description ZINC T-LIGHT HOLDER STAR LARGE ZINC T-LIGHT HOLDER STARS SMALL \n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "[5 rows x 1563 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "basket.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "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", "
Description10 COLOUR SPACEBOY PEN12 COLOURED PARTY BALLOONS12 EGG HOUSE PAINTED WOOD12 MESSAGE CARDS WITH ENVELOPES12 PENCIL SMALL TUBE WOODLAND12 PENCILS SMALL TUBE RED RETROSPOT12 PENCILS SMALL TUBE SKULL12 PENCILS TALL TUBE POSY
InvoiceNo
5363700.00.00.00.00.00.00.00.0
5368520.00.00.00.00.00.00.00.0
5369740.00.00.00.00.00.00.00.0
5370650.00.00.00.00.00.00.00.0
5374630.00.00.00.00.00.00.00.0
\n", "
" ], "text/plain": [ "Description 10 COLOUR SPACEBOY PEN 12 COLOURED PARTY BALLOONS \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description 12 EGG HOUSE PAINTED WOOD 12 MESSAGE CARDS WITH ENVELOPES \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description 12 PENCIL SMALL TUBE WOODLAND \\\n", "InvoiceNo \n", "536370 0.0 \n", "536852 0.0 \n", "536974 0.0 \n", "537065 0.0 \n", "537463 0.0 \n", "\n", "Description 12 PENCILS SMALL TUBE RED RETROSPOT 12 PENCILS SMALL TUBE SKULL \\\n", "InvoiceNo \n", "536370 0.0 0.0 \n", "536852 0.0 0.0 \n", "536974 0.0 0.0 \n", "537065 0.0 0.0 \n", "537463 0.0 0.0 \n", "\n", "Description 12 PENCILS TALL TUBE POSY \n", "InvoiceNo \n", "536370 0.0 \n", "536852 0.0 \n", "536974 0.0 \n", "537065 0.0 \n", "537463 0.0 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show a subset of columns\n", "basket.iloc[:,[0,1,2,3,4,5,6, 7]].head()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Convert the units to 1 hot encoded values\n", "def encode_units(x):\n", " if x <= 0:\n", " return 0\n", " if x >= 1:\n", " return 1 " ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "basket_sets = basket.applymap(encode_units)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# No need to track postage\n", "basket_sets.drop('POSTAGE', inplace=True, axis=1)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "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 EGG HOUSE PAINTED WOOD12 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 WOODLAND...WRAP VINTAGE PETALS DESIGNYELLOW COAT RACK PARIS FASHIONYELLOW GIANT GARDEN THERMOMETERYELLOW SHARK HELICOPTERZINC STAR T-LIGHT HOLDERZINC FOLKART SLEIGH BELLSZINC HERB GARDEN CONTAINERZINC METAL HEART DECORATIONZINC T-LIGHT HOLDER STAR LARGEZINC T-LIGHT HOLDER STARS SMALL
InvoiceNo
5363700000000000...0000000000
5368520000000000...0000000000
5369740000000000...0000000000
5370650000000000...0000000000
5374630000000000...0000000000
\n", "

5 rows × 1562 columns

\n", "
" ], "text/plain": [ "Description 10 COLOUR SPACEBOY PEN 12 COLOURED PARTY BALLOONS \\\n", "InvoiceNo \n", "536370 0 0 \n", "536852 0 0 \n", "536974 0 0 \n", "537065 0 0 \n", "537463 0 0 \n", "\n", "Description 12 EGG HOUSE PAINTED WOOD 12 MESSAGE CARDS WITH ENVELOPES \\\n", "InvoiceNo \n", "536370 0 0 \n", "536852 0 0 \n", "536974 0 0 \n", "537065 0 0 \n", "537463 0 0 \n", "\n", "Description 12 PENCIL SMALL TUBE WOODLAND \\\n", "InvoiceNo \n", "536370 0 \n", "536852 0 \n", "536974 0 \n", "537065 0 \n", "537463 0 \n", "\n", "Description 12 PENCILS SMALL TUBE RED RETROSPOT 12 PENCILS SMALL TUBE SKULL \\\n", "InvoiceNo \n", "536370 0 0 \n", "536852 0 0 \n", "536974 0 0 \n", "537065 0 0 \n", "537463 0 0 \n", "\n", "Description 12 PENCILS TALL TUBE POSY 12 PENCILS TALL TUBE RED RETROSPOT \\\n", "InvoiceNo \n", "536370 0 0 \n", "536852 0 0 \n", "536974 0 0 \n", "537065 0 0 \n", "537463 0 0 \n", "\n", "Description 12 PENCILS TALL TUBE WOODLAND ... \\\n", "InvoiceNo ... \n", "536370 0 ... \n", "536852 0 ... \n", "536974 0 ... \n", "537065 0 ... \n", "537463 0 ... \n", "\n", "Description WRAP VINTAGE PETALS DESIGN YELLOW COAT RACK PARIS FASHION \\\n", "InvoiceNo \n", "536370 0 0 \n", "536852 0 0 \n", "536974 0 0 \n", "537065 0 0 \n", "537463 0 0 \n", "\n", "Description YELLOW GIANT GARDEN THERMOMETER YELLOW SHARK HELICOPTER \\\n", "InvoiceNo \n", "536370 0 0 \n", "536852 0 0 \n", "536974 0 0 \n", "537065 0 0 \n", "537463 0 0 \n", "\n", "Description ZINC STAR T-LIGHT HOLDER ZINC FOLKART SLEIGH BELLS \\\n", "InvoiceNo \n", "536370 0 0 \n", "536852 0 0 \n", "536974 0 0 \n", "537065 0 0 \n", "537463 0 0 \n", "\n", "Description ZINC HERB GARDEN CONTAINER ZINC METAL HEART DECORATION \\\n", "InvoiceNo \n", "536370 0 0 \n", "536852 0 0 \n", "536974 0 0 \n", "537065 0 0 \n", "537463 0 0 \n", "\n", "Description ZINC T-LIGHT HOLDER STAR LARGE ZINC T-LIGHT HOLDER STARS SMALL \n", "InvoiceNo \n", "536370 0 0 \n", "536852 0 0 \n", "536974 0 0 \n", "537065 0 0 \n", "537463 0 0 \n", "\n", "[5 rows x 1562 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "basket_sets.head()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Build up the frequent items\n", "frequent_itemsets = apriori(basket_sets, min_support=0.07, use_colnames=True)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "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", "
supportitemsets
00.071429[4 TRADITIONAL SPINNING TOPS]
10.096939[ALARM CLOCK BAKELIKE GREEN]
20.102041[ALARM CLOCK BAKELIKE PINK]
30.094388[ALARM CLOCK BAKELIKE RED]
40.081633[BAKING SET 9 PIECE RETROSPOT]
\n", "
" ], "text/plain": [ " support itemsets\n", "0 0.071429 [4 TRADITIONAL SPINNING TOPS]\n", "1 0.096939 [ALARM CLOCK BAKELIKE GREEN]\n", "2 0.102041 [ALARM CLOCK BAKELIKE PINK]\n", "3 0.094388 [ALARM CLOCK BAKELIKE RED]\n", "4 0.081633 [BAKING SET 9 PIECE RETROSPOT]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "frequent_itemsets.head()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
antecedantsconsequentssupportconfidencelift
0(PLASTERS IN TIN CIRCUS PARADE)(PLASTERS IN TIN WOODLAND ANIMALS)0.1683670.6060613.545907
1(PLASTERS IN TIN WOODLAND ANIMALS)(PLASTERS IN TIN CIRCUS PARADE)0.1709180.5970153.545907
2(ALARM CLOCK BAKELIKE PINK)(ALARM CLOCK BAKELIKE GREEN)0.1020410.7250007.478947
3(ALARM CLOCK BAKELIKE GREEN)(ALARM CLOCK BAKELIKE PINK)0.0969390.7631587.478947
4(SET/6 RED SPOTTY PAPER PLATES)(SET/6 RED SPOTTY PAPER CUPS)0.1275510.9600006.968889
5(SET/6 RED SPOTTY PAPER CUPS)(SET/6 RED SPOTTY PAPER PLATES)0.1377550.8888896.968889
6(SET/6 RED SPOTTY PAPER CUPS, SET/20 RED RETRO...(SET/6 RED SPOTTY PAPER PLATES)0.1020410.9750007.644000
7(SET/6 RED SPOTTY PAPER PLATES, SET/6 RED SPOT...(SET/20 RED RETROSPOT PAPER NAPKINS)0.1224490.8125006.125000
8(SET/6 RED SPOTTY PAPER PLATES, SET/20 RED RET...(SET/6 RED SPOTTY PAPER CUPS)0.1020410.9750007.077778
9(SET/6 RED SPOTTY PAPER CUPS)(SET/6 RED SPOTTY PAPER PLATES, SET/20 RED RET...0.1377550.7222227.077778
10(SET/20 RED RETROSPOT PAPER NAPKINS)(SET/6 RED SPOTTY PAPER PLATES, SET/6 RED SPOT...0.1326530.7500006.125000
11(SET/6 RED SPOTTY PAPER PLATES)(SET/6 RED SPOTTY PAPER CUPS, SET/20 RED RETRO...0.1275510.7800007.644000
12(PLASTERS IN TIN CIRCUS PARADE)(PLASTERS IN TIN SPACEBOY)0.1683670.5303033.849607
13(PLASTERS IN TIN SPACEBOY)(PLASTERS IN TIN CIRCUS PARADE)0.1377550.6481483.849607
14(PLASTERS IN TIN WOODLAND ANIMALS)(PLASTERS IN TIN SPACEBOY)0.1709180.6119404.442233
15(PLASTERS IN TIN SPACEBOY)(PLASTERS IN TIN WOODLAND ANIMALS)0.1377550.7592594.442233
16(ALARM CLOCK BAKELIKE PINK)(ALARM CLOCK BAKELIKE RED)0.1020410.7250007.681081
17(ALARM CLOCK BAKELIKE RED)(ALARM CLOCK BAKELIKE PINK)0.0943880.7837847.681081
18(ALARM CLOCK BAKELIKE GREEN)(ALARM CLOCK BAKELIKE RED)0.0969390.8157898.642959
19(ALARM CLOCK BAKELIKE RED)(ALARM CLOCK BAKELIKE GREEN)0.0943880.8378388.642959
20(SET/6 RED SPOTTY PAPER CUPS)(SET/20 RED RETROSPOT PAPER NAPKINS)0.1377550.7407415.584046
21(SET/20 RED RETROSPOT PAPER NAPKINS)(SET/6 RED SPOTTY PAPER CUPS)0.1326530.7692315.584046
22(SPACEBOY LUNCH BOX)(DOLLY GIRL LUNCH BOX)0.1250000.5714295.743590
23(DOLLY GIRL LUNCH BOX)(SPACEBOY LUNCH BOX)0.0994900.7179495.743590
24(SET/6 RED SPOTTY PAPER PLATES)(SET/20 RED RETROSPOT PAPER NAPKINS)0.1275510.8000006.030769
25(SET/20 RED RETROSPOT PAPER NAPKINS)(SET/6 RED SPOTTY PAPER PLATES)0.1326530.7692316.030769
\n", "
" ], "text/plain": [ " antecedants \\\n", "0 (PLASTERS IN TIN CIRCUS PARADE) \n", "1 (PLASTERS IN TIN WOODLAND ANIMALS) \n", "2 (ALARM CLOCK BAKELIKE PINK) \n", "3 (ALARM CLOCK BAKELIKE GREEN) \n", "4 (SET/6 RED SPOTTY PAPER PLATES) \n", "5 (SET/6 RED SPOTTY PAPER CUPS) \n", "6 (SET/6 RED SPOTTY PAPER CUPS, SET/20 RED RETRO... \n", "7 (SET/6 RED SPOTTY PAPER PLATES, SET/6 RED SPOT... \n", "8 (SET/6 RED SPOTTY PAPER PLATES, SET/20 RED RET... \n", "9 (SET/6 RED SPOTTY PAPER CUPS) \n", "10 (SET/20 RED RETROSPOT PAPER NAPKINS) \n", "11 (SET/6 RED SPOTTY PAPER PLATES) \n", "12 (PLASTERS IN TIN CIRCUS PARADE) \n", "13 (PLASTERS IN TIN SPACEBOY) \n", "14 (PLASTERS IN TIN WOODLAND ANIMALS) \n", "15 (PLASTERS IN TIN SPACEBOY) \n", "16 (ALARM CLOCK BAKELIKE PINK) \n", "17 (ALARM CLOCK BAKELIKE RED) \n", "18 (ALARM CLOCK BAKELIKE GREEN) \n", "19 (ALARM CLOCK BAKELIKE RED) \n", "20 (SET/6 RED SPOTTY PAPER CUPS) \n", "21 (SET/20 RED RETROSPOT PAPER NAPKINS) \n", "22 (SPACEBOY LUNCH BOX) \n", "23 (DOLLY GIRL LUNCH BOX) \n", "24 (SET/6 RED SPOTTY PAPER PLATES) \n", "25 (SET/20 RED RETROSPOT PAPER NAPKINS) \n", "\n", " consequents support confidence \\\n", "0 (PLASTERS IN TIN WOODLAND ANIMALS) 0.168367 0.606061 \n", "1 (PLASTERS IN TIN CIRCUS PARADE) 0.170918 0.597015 \n", "2 (ALARM CLOCK BAKELIKE GREEN) 0.102041 0.725000 \n", "3 (ALARM CLOCK BAKELIKE PINK) 0.096939 0.763158 \n", "4 (SET/6 RED SPOTTY PAPER CUPS) 0.127551 0.960000 \n", "5 (SET/6 RED SPOTTY PAPER PLATES) 0.137755 0.888889 \n", "6 (SET/6 RED SPOTTY PAPER PLATES) 0.102041 0.975000 \n", "7 (SET/20 RED RETROSPOT PAPER NAPKINS) 0.122449 0.812500 \n", "8 (SET/6 RED SPOTTY PAPER CUPS) 0.102041 0.975000 \n", "9 (SET/6 RED SPOTTY PAPER PLATES, SET/20 RED RET... 0.137755 0.722222 \n", "10 (SET/6 RED SPOTTY PAPER PLATES, SET/6 RED SPOT... 0.132653 0.750000 \n", "11 (SET/6 RED SPOTTY PAPER CUPS, SET/20 RED RETRO... 0.127551 0.780000 \n", "12 (PLASTERS IN TIN SPACEBOY) 0.168367 0.530303 \n", "13 (PLASTERS IN TIN CIRCUS PARADE) 0.137755 0.648148 \n", "14 (PLASTERS IN TIN SPACEBOY) 0.170918 0.611940 \n", "15 (PLASTERS IN TIN WOODLAND ANIMALS) 0.137755 0.759259 \n", "16 (ALARM CLOCK BAKELIKE RED) 0.102041 0.725000 \n", "17 (ALARM CLOCK BAKELIKE PINK) 0.094388 0.783784 \n", "18 (ALARM CLOCK BAKELIKE RED) 0.096939 0.815789 \n", "19 (ALARM CLOCK BAKELIKE GREEN) 0.094388 0.837838 \n", "20 (SET/20 RED RETROSPOT PAPER NAPKINS) 0.137755 0.740741 \n", "21 (SET/6 RED SPOTTY PAPER CUPS) 0.132653 0.769231 \n", "22 (DOLLY GIRL LUNCH BOX) 0.125000 0.571429 \n", "23 (SPACEBOY LUNCH BOX) 0.099490 0.717949 \n", "24 (SET/20 RED RETROSPOT PAPER NAPKINS) 0.127551 0.800000 \n", "25 (SET/6 RED SPOTTY PAPER PLATES) 0.132653 0.769231 \n", "\n", " lift \n", "0 3.545907 \n", "1 3.545907 \n", "2 7.478947 \n", "3 7.478947 \n", "4 6.968889 \n", "5 6.968889 \n", "6 7.644000 \n", "7 6.125000 \n", "8 7.077778 \n", "9 7.077778 \n", "10 6.125000 \n", "11 7.644000 \n", "12 3.849607 \n", "13 3.849607 \n", "14 4.442233 \n", "15 4.442233 \n", "16 7.681081 \n", "17 7.681081 \n", "18 8.642959 \n", "19 8.642959 \n", "20 5.584046 \n", "21 5.584046 \n", "22 5.743590 \n", "23 5.743590 \n", "24 6.030769 \n", "25 6.030769 " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create the rules\n", "rules = association_rules(frequent_itemsets, metric=\"lift\", min_threshold=1)\n", "rules" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "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", "
antecedantsconsequentssupportconfidencelift
4(SET/6 RED SPOTTY PAPER PLATES)(SET/6 RED SPOTTY PAPER CUPS)0.1275510.9600006.968889
5(SET/6 RED SPOTTY PAPER CUPS)(SET/6 RED SPOTTY PAPER PLATES)0.1377550.8888896.968889
6(SET/6 RED SPOTTY PAPER CUPS, SET/20 RED RETRO...(SET/6 RED SPOTTY PAPER PLATES)0.1020410.9750007.644000
7(SET/6 RED SPOTTY PAPER PLATES, SET/6 RED SPOT...(SET/20 RED RETROSPOT PAPER NAPKINS)0.1224490.8125006.125000
8(SET/6 RED SPOTTY PAPER PLATES, SET/20 RED RET...(SET/6 RED SPOTTY PAPER CUPS)0.1020410.9750007.077778
18(ALARM CLOCK BAKELIKE GREEN)(ALARM CLOCK BAKELIKE RED)0.0969390.8157898.642959
19(ALARM CLOCK BAKELIKE RED)(ALARM CLOCK BAKELIKE GREEN)0.0943880.8378388.642959
24(SET/6 RED SPOTTY PAPER PLATES)(SET/20 RED RETROSPOT PAPER NAPKINS)0.1275510.8000006.030769
\n", "
" ], "text/plain": [ " antecedants \\\n", "4 (SET/6 RED SPOTTY PAPER PLATES) \n", "5 (SET/6 RED SPOTTY PAPER CUPS) \n", "6 (SET/6 RED SPOTTY PAPER CUPS, SET/20 RED RETRO... \n", "7 (SET/6 RED SPOTTY PAPER PLATES, SET/6 RED SPOT... \n", "8 (SET/6 RED SPOTTY PAPER PLATES, SET/20 RED RET... \n", "18 (ALARM CLOCK BAKELIKE GREEN) \n", "19 (ALARM CLOCK BAKELIKE RED) \n", "24 (SET/6 RED SPOTTY PAPER PLATES) \n", "\n", " consequents support confidence lift \n", "4 (SET/6 RED SPOTTY PAPER CUPS) 0.127551 0.960000 6.968889 \n", "5 (SET/6 RED SPOTTY PAPER PLATES) 0.137755 0.888889 6.968889 \n", "6 (SET/6 RED SPOTTY PAPER PLATES) 0.102041 0.975000 7.644000 \n", "7 (SET/20 RED RETROSPOT PAPER NAPKINS) 0.122449 0.812500 6.125000 \n", "8 (SET/6 RED SPOTTY PAPER CUPS) 0.102041 0.975000 7.077778 \n", "18 (ALARM CLOCK BAKELIKE RED) 0.096939 0.815789 8.642959 \n", "19 (ALARM CLOCK BAKELIKE GREEN) 0.094388 0.837838 8.642959 \n", "24 (SET/20 RED RETROSPOT PAPER NAPKINS) 0.127551 0.800000 6.030769 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rules[ (rules['lift'] >= 6) &\n", " (rules['confidence'] >= 0.8) ]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "340.0" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "basket['ALARM CLOCK BAKELIKE GREEN'].sum()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "316.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "basket['ALARM CLOCK BAKELIKE RED'].sum()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "basket2 = (df[df['Country'] ==\"Germany\"]\n", " .groupby(['InvoiceNo', 'Description'])['Quantity']\n", " .sum().unstack().reset_index().fillna(0)\n", " .set_index('InvoiceNo'))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "basket_sets2 = basket2.applymap(encode_units)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "basket_sets2.drop('POSTAGE', inplace=True, axis=1)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "frequent_itemsets2 = apriori(basket_sets2, min_support=0.05, use_colnames=True)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "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", "
antecedantsconsequentssupportconfidencelift
0(WOODLAND CHARLOTTE BAG)(ROUND SNACK BOXES SET OF4 WOODLAND)0.1269150.5000002.040179
1(ROUND SNACK BOXES SET OF4 WOODLAND)(WOODLAND CHARLOTTE BAG)0.2450770.2589292.040179
2(PLASTERS IN TIN CIRCUS PARADE)(ROUND SNACK BOXES SET OF4 WOODLAND)0.1159740.4905662.001685
3(ROUND SNACK BOXES SET OF4 WOODLAND)(PLASTERS IN TIN CIRCUS PARADE)0.2450770.2321432.001685
4(PLASTERS IN TIN WOODLAND ANIMALS)(PLASTERS IN TIN SPACEBOY)0.1378560.4444444.145125
5(PLASTERS IN TIN SPACEBOY)(PLASTERS IN TIN WOODLAND ANIMALS)0.1072210.5714294.145125
6(WOODLAND CHARLOTTE BAG)(RED RETROSPOT CHARLOTTE BAG)0.1269150.4655176.648168
7(RED RETROSPOT CHARLOTTE BAG)(WOODLAND CHARLOTTE BAG)0.0700220.8437506.648168
8(ROUND SNACK BOXES SET OF4 WOODLAND)(ROUND SNACK BOXES SET OF 4 FRUITS)0.2450770.5357143.400298
9(ROUND SNACK BOXES SET OF 4 FRUITS)(ROUND SNACK BOXES SET OF4 WOODLAND)0.1575490.8333333.400298
10(PLASTERS IN TIN WOODLAND ANIMALS)(ROUND SNACK BOXES SET OF4 WOODLAND)0.1378560.5396832.202098
11(ROUND SNACK BOXES SET OF4 WOODLAND)(PLASTERS IN TIN WOODLAND ANIMALS)0.2450770.3035712.202098
12(PLASTERS IN TIN CIRCUS PARADE)(PLASTERS IN TIN WOODLAND ANIMALS)0.1159740.5849064.242887
13(PLASTERS IN TIN WOODLAND ANIMALS)(PLASTERS IN TIN CIRCUS PARADE)0.1378560.4920634.242887
14(PLASTERS IN TIN CIRCUS PARADE)(ROUND SNACK BOXES SET OF 4 FRUITS)0.1159740.4339622.754455
15(ROUND SNACK BOXES SET OF 4 FRUITS)(PLASTERS IN TIN CIRCUS PARADE)0.1575490.3194442.754455
16(SPACEBOY LUNCH BOX)(ROUND SNACK BOXES SET OF4 WOODLAND)0.1028450.6808512.778116
17(ROUND SNACK BOXES SET OF4 WOODLAND)(SPACEBOY LUNCH BOX)0.2450770.2857142.778116
\n", "
" ], "text/plain": [ " antecedants \\\n", "0 (WOODLAND CHARLOTTE BAG) \n", "1 (ROUND SNACK BOXES SET OF4 WOODLAND) \n", "2 (PLASTERS IN TIN CIRCUS PARADE) \n", "3 (ROUND SNACK BOXES SET OF4 WOODLAND) \n", "4 (PLASTERS IN TIN WOODLAND ANIMALS) \n", "5 (PLASTERS IN TIN SPACEBOY) \n", "6 (WOODLAND CHARLOTTE BAG) \n", "7 (RED RETROSPOT CHARLOTTE BAG) \n", "8 (ROUND SNACK BOXES SET OF4 WOODLAND) \n", "9 (ROUND SNACK BOXES SET OF 4 FRUITS) \n", "10 (PLASTERS IN TIN WOODLAND ANIMALS) \n", "11 (ROUND SNACK BOXES SET OF4 WOODLAND) \n", "12 (PLASTERS IN TIN CIRCUS PARADE) \n", "13 (PLASTERS IN TIN WOODLAND ANIMALS) \n", "14 (PLASTERS IN TIN CIRCUS PARADE) \n", "15 (ROUND SNACK BOXES SET OF 4 FRUITS) \n", "16 (SPACEBOY LUNCH BOX) \n", "17 (ROUND SNACK BOXES SET OF4 WOODLAND) \n", "\n", " consequents support confidence lift \n", "0 (ROUND SNACK BOXES SET OF4 WOODLAND) 0.126915 0.500000 2.040179 \n", "1 (WOODLAND CHARLOTTE BAG) 0.245077 0.258929 2.040179 \n", "2 (ROUND SNACK BOXES SET OF4 WOODLAND) 0.115974 0.490566 2.001685 \n", "3 (PLASTERS IN TIN CIRCUS PARADE) 0.245077 0.232143 2.001685 \n", "4 (PLASTERS IN TIN SPACEBOY) 0.137856 0.444444 4.145125 \n", "5 (PLASTERS IN TIN WOODLAND ANIMALS) 0.107221 0.571429 4.145125 \n", "6 (RED RETROSPOT CHARLOTTE BAG) 0.126915 0.465517 6.648168 \n", "7 (WOODLAND CHARLOTTE BAG) 0.070022 0.843750 6.648168 \n", "8 (ROUND SNACK BOXES SET OF 4 FRUITS) 0.245077 0.535714 3.400298 \n", "9 (ROUND SNACK BOXES SET OF4 WOODLAND) 0.157549 0.833333 3.400298 \n", "10 (ROUND SNACK BOXES SET OF4 WOODLAND) 0.137856 0.539683 2.202098 \n", "11 (PLASTERS IN TIN WOODLAND ANIMALS) 0.245077 0.303571 2.202098 \n", "12 (PLASTERS IN TIN WOODLAND ANIMALS) 0.115974 0.584906 4.242887 \n", "13 (PLASTERS IN TIN CIRCUS PARADE) 0.137856 0.492063 4.242887 \n", "14 (ROUND SNACK BOXES SET OF 4 FRUITS) 0.115974 0.433962 2.754455 \n", "15 (PLASTERS IN TIN CIRCUS PARADE) 0.157549 0.319444 2.754455 \n", "16 (ROUND SNACK BOXES SET OF4 WOODLAND) 0.102845 0.680851 2.778116 \n", "17 (SPACEBOY LUNCH BOX) 0.245077 0.285714 2.778116 " ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rules2 = association_rules(frequent_itemsets2, metric=\"lift\", min_threshold=1)\n", "rules2" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "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", "
antecedantsconsequentssupportconfidencelift
5(PLASTERS IN TIN SPACEBOY)(PLASTERS IN TIN WOODLAND ANIMALS)0.1072210.5714294.145125
7(RED RETROSPOT CHARLOTTE BAG)(WOODLAND CHARLOTTE BAG)0.0700220.8437506.648168
12(PLASTERS IN TIN CIRCUS PARADE)(PLASTERS IN TIN WOODLAND ANIMALS)0.1159740.5849064.242887
\n", "
" ], "text/plain": [ " antecedants consequents \\\n", "5 (PLASTERS IN TIN SPACEBOY) (PLASTERS IN TIN WOODLAND ANIMALS) \n", "7 (RED RETROSPOT CHARLOTTE BAG) (WOODLAND CHARLOTTE BAG) \n", "12 (PLASTERS IN TIN CIRCUS PARADE) (PLASTERS IN TIN WOODLAND ANIMALS) \n", "\n", " support confidence lift \n", "5 0.107221 0.571429 4.145125 \n", "7 0.070022 0.843750 6.648168 \n", "12 0.115974 0.584906 4.242887 " ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rules2[ (rules2['lift'] >= 4) &\n", " (rules2['confidence'] >= 0.5) ]" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [default]", "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.5.2" } }, "nbformat": 4, "nbformat_minor": 1 }