{ "cells": [ { "cell_type": "markdown", "id": "5aa81727", "metadata": {}, "source": [ "## バスケット分析(アソシエーション分析)とは?\n", "\n", "ある事象と\"同時に発生する事象\"が何かを分析する手法。\n", "\n", "ex.)消費者が「ある商品」を購入した際に、よく一緒に買われている商品は何か?\n", "\n", "\n", "## よく使用される指標\n", "\n", "### ・Confidence(信頼度)\n", "「リンゴを買った人のうち、どれくらいの人がミカンも買ったか」という確率\n", "\n", "### ・Support(支持度)\n", "「そもそもリンゴとミカンを一緒に買った人がどのくらいいるのか」という指標\n", "\n", "### ・Lift(リフト)\n", "「そもそもミカン自体がどれだけ売れているのか」という指標\n", "\n", "\n", "## Aprioriアルゴリズム\n", "実際は1対1だけでなく、「リンゴとミカンを買った人がモモをどれだけ買うか」、のような多対多の関係性もある。\n", "\n", "・・・が、商品数が多くなってくるとそこまですべて計算するのはほぼ無理なので、この計算を高速で行うためのアルゴリズム。\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "49793bcb", "metadata": {}, "outputs": [], "source": [ "#データの読み込み&整形\n", "import pandas as pd\n", "\n", "df_sales = pd.read_csv(\"9-8_baslet.csv\",index_col=\"名前\")\n", "df_sales = df_sales.fillna(False).replace(\"○\",True)" ] }, { "cell_type": "code", "execution_count": 2, "id": "26645d61", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | antecedents | \n", "consequents | \n", "antecedent support | \n", "consequent support | \n", "support | \n", "confidence | \n", "lift | \n", "leverage | \n", "conviction | \n", "
---|---|---|---|---|---|---|---|---|---|
0 | \n", "(バナナ) | \n", "(みかん) | \n", "0.307692 | \n", "0.384615 | \n", "0.192308 | \n", "0.625000 | \n", "1.625000 | \n", "0.073964 | \n", "1.641026 | \n", "
1 | \n", "(みかん) | \n", "(バナナ) | \n", "0.384615 | \n", "0.307692 | \n", "0.192308 | \n", "0.500000 | \n", "1.625000 | \n", "0.073964 | \n", "1.384615 | \n", "
2 | \n", "(バナナ) | \n", "(すいか) | \n", "0.307692 | \n", "0.307692 | \n", "0.153846 | \n", "0.500000 | \n", "1.625000 | \n", "0.059172 | \n", "1.384615 | \n", "
3 | \n", "(すいか) | \n", "(バナナ) | \n", "0.307692 | \n", "0.307692 | \n", "0.153846 | \n", "0.500000 | \n", "1.625000 | \n", "0.059172 | \n", "1.384615 | \n", "
4 | \n", "(もも, りんご) | \n", "(みかん) | \n", "0.192308 | \n", "0.384615 | \n", "0.115385 | \n", "0.600000 | \n", "1.560000 | \n", "0.041420 | \n", "1.538462 | \n", "
5 | \n", "(りんご, みかん) | \n", "(もも) | \n", "0.192308 | \n", "0.346154 | \n", "0.115385 | \n", "0.600000 | \n", "1.733333 | \n", "0.048817 | \n", "1.634615 | \n", "
6 | \n", "(もも) | \n", "(りんご, みかん) | \n", "0.346154 | \n", "0.192308 | \n", "0.115385 | \n", "0.333333 | \n", "1.733333 | \n", "0.048817 | \n", "1.211538 | \n", "
7 | \n", "(みかん) | \n", "(もも, りんご) | \n", "0.384615 | \n", "0.192308 | \n", "0.115385 | \n", "0.300000 | \n", "1.560000 | \n", "0.041420 | \n", "1.153846 | \n", "
8 | \n", "(バナナ, りんご) | \n", "(みかん) | \n", "0.153846 | \n", "0.384615 | \n", "0.115385 | \n", "0.750000 | \n", "1.950000 | \n", "0.056213 | \n", "2.461538 | \n", "
9 | \n", "(りんご, みかん) | \n", "(バナナ) | \n", "0.192308 | \n", "0.307692 | \n", "0.115385 | \n", "0.600000 | \n", "1.950000 | \n", "0.056213 | \n", "1.730769 | \n", "
10 | \n", "(バナナ) | \n", "(りんご, みかん) | \n", "0.307692 | \n", "0.192308 | \n", "0.115385 | \n", "0.375000 | \n", "1.950000 | \n", "0.056213 | \n", "1.292308 | \n", "
11 | \n", "(みかん) | \n", "(バナナ, りんご) | \n", "0.384615 | \n", "0.153846 | \n", "0.115385 | \n", "0.300000 | \n", "1.950000 | \n", "0.056213 | \n", "1.208791 | \n", "
12 | \n", "(なし, りんご) | \n", "(すいか) | \n", "0.192308 | \n", "0.307692 | \n", "0.115385 | \n", "0.600000 | \n", "1.950000 | \n", "0.056213 | \n", "1.730769 | \n", "
13 | \n", "(りんご, すいか) | \n", "(なし) | \n", "0.153846 | \n", "0.346154 | \n", "0.115385 | \n", "0.750000 | \n", "2.166667 | \n", "0.062130 | \n", "2.615385 | \n", "
14 | \n", "(なし) | \n", "(りんご, すいか) | \n", "0.346154 | \n", "0.153846 | \n", "0.115385 | \n", "0.333333 | \n", "2.166667 | \n", "0.062130 | \n", "1.269231 | \n", "
15 | \n", "(すいか) | \n", "(なし, りんご) | \n", "0.307692 | \n", "0.192308 | \n", "0.115385 | \n", "0.375000 | \n", "1.950000 | \n", "0.056213 | \n", "1.292308 | \n", "
16 | \n", "(バナナ, もも) | \n", "(みかん) | \n", "0.153846 | \n", "0.384615 | \n", "0.115385 | \n", "0.750000 | \n", "1.950000 | \n", "0.056213 | \n", "2.461538 | \n", "
17 | \n", "(バナナ, みかん) | \n", "(もも) | \n", "0.192308 | \n", "0.346154 | \n", "0.115385 | \n", "0.600000 | \n", "1.733333 | \n", "0.048817 | \n", "1.634615 | \n", "
18 | \n", "(もも, みかん) | \n", "(バナナ) | \n", "0.192308 | \n", "0.307692 | \n", "0.115385 | \n", "0.600000 | \n", "1.950000 | \n", "0.056213 | \n", "1.730769 | \n", "
19 | \n", "(バナナ) | \n", "(もも, みかん) | \n", "0.307692 | \n", "0.192308 | \n", "0.115385 | \n", "0.375000 | \n", "1.950000 | \n", "0.056213 | \n", "1.292308 | \n", "
20 | \n", "(もも) | \n", "(バナナ, みかん) | \n", "0.346154 | \n", "0.192308 | \n", "0.115385 | \n", "0.333333 | \n", "1.733333 | \n", "0.048817 | \n", "1.211538 | \n", "
21 | \n", "(みかん) | \n", "(バナナ, もも) | \n", "0.384615 | \n", "0.153846 | \n", "0.115385 | \n", "0.300000 | \n", "1.950000 | \n", "0.056213 | \n", "1.208791 | \n", "