Académique Documents
Professionnel Documents
Culture Documents
Objectifs de TP
Exercice 1 :
1. La description des données et des packages utilisés.
L'analyse de panier (Market basket analysis) est un domaine dans lequel les techniques de
Data Mining sont largement appliquées. Il sert à découvrir les différentes relations entre les
achats des clients pour prédire leurs futurs achats. En effet, cette prédiction permet
d’améliorer les chiffres d'affaires (augmenter les vents) des organisations et des
supermarchés. Dans ce TP, on va analyser un jeu des données issues du monde réel et
contient les constituants des 7501 paniers pendant certain période (une personne peut
acheter plusieurs paniers dans cette période). Chaque ligne de ce jeu de données correspond
aux constituants de panier.
Pour analyser ce jeu de données, on va utiliser l'algorithme APRIORI. Ce dernier est déjà
implémenté dans plusieurs packages dans python : apyori, mlxtend.frequent_patterns,
efficient_apriori ... etc. Pour plus de détails sur le code de l'algorithme APRIORI consultez les
sites web officiels de ces packages. Dans ce TP, on va utiliser le package efficient_apriori car
il est simple à utiliser et aussi donne une visualisation claire et simple sur les différents règles
d'association incluses dans les jeux de données.
2. Travaille demandé.
3. Charger le jeu de données Market_basket_analysis. Dans ce jeu de données on n'a pas les
colonnes (chaque ligne correspond à une transaction), donc il n'y a pas d’entête
« header=None »
Data = pd.read_csv("C:/Users/dell/Bureau/Assoc_rules/Market_Basket_analysis.csv",
header=None)
transactions = []
transaction_i = []
for i in range(0, Data.shape[0]):
for j in range(0, Data.shape[1]):
item=str(Data.values[i,j])
if item!='nan':
transaction_i.append(item)
transactions.append(transaction_i)
transaction_i=[]
transactions = []
for i in range(0, 7501):
transactions.append([str(Data.values[i,j]) for j in range(0, 20) if
str(Data.values[i,j])!='nan'])
for r in rules:
print(r)
i=1
for r in rules:
print("règle "+str(i),r)
print("\n *******************************************************")
i=i+1
7. Varier les paramètres minsupp et minconf puis visualiser et analyser les règles
d’associations obtenues.