हीटमैप्स

Python में Market Basket Analysis

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

MovieLens डेटासेट

import pandas as pd

# Load ratings data.
ratings = pd.read_csv('datasets/movie_ratings.csv')
print(ratings.head())
   userId  movieId  title
0    3149    54286  Bourne Ultimatum, The (2007) 
1    3149     1220  Blues Brothers, The (1980)
2    3149     4007  Wall Street (1987)
3    3149     7156  Fog of War: Eleven...
4    3149    97304  Argo (2012)
Python में Market Basket Analysis

रेटिंग्स से "लेन-देन" बनाना

# Recover unique user IDs.
user_id = movies['userId'].unique()

# Create library of highly rated movies for each user.
libraries = [list(ratings[ratings['userId'] == u].title) for u in user_id]

# Print example library.
print(library[0])
['Battlestar Galactica (2003)',
 'Gorgon, The (1964)',
 'Under the Skin (2013)',
 'Upstream Color (2013)',
 'Destry Rides Again (1939)',
 'Dr. Phibes Rises Again (1972)']
Python में Market Basket Analysis

लेन-देन का वन-हॉट एन्कोडिंग

from mlxtend.preprocessing import TransactionEncoder

# Instantiate transaction encoder.
encoder = TransactionEncoder()

# One-hot encode libraries.
onehot = encoder.fit(libraries).transform(libraries)

# Use movie titles as column headers.
onehot = pd.DataFrame(onehot, columns = encoder.columns_)

# Print onehot header.
print(onehot.head())
Python में Market Basket Analysis

लेन-देन का वन-हॉट एन्कोडिंग

 

   (500) Days of Summer (2009)  .45 (2006)  10 Things I Hate About You (1999) 
0                        False       False                              False   
1                        False       False                              False   
2                        False       False                              False   
3                        False       False                              False   
4                        False       False                              False
Python में Market Basket Analysis

हीटमैप क्या है?

चित्र में एक हीटमैप का उदाहरण दिखाया गया है.

Python में Market Basket Analysis

डेटा तैयार करना

  1. नियम जेनरेट करें.
    • Apriori एल्गोरिदम और एसोसिएशन रूल्स का उपयोग करें.
  2. Antecedents और consequents को स्ट्रिंग में बदलें.
    • mlxtend में डिफ़ॉल्ट रूप से frozen sets के रूप में स्टोर होते हैं.
  3. रूल्स को मैट्रिक्स फॉर्मेट में बदलें.
    • हीटमैप्स के लिए उपयुक्त.
Python में Market Basket Analysis

डेटा तैयार करना

from mlxtend.frequent_patterns import association_rules, apriori
import seaborn as sns
# Apply the apriori algorithm
frequent_itemsets = apriori(onehot, min_support=0.10,
                            use_colnames=True, max_len=2)

# Recover the association rules
rules = association_rules(frequent_itemsets)
Python में Market Basket Analysis

हीटमैप बनाना

# Convert antecedents and consequents into strings
rules['antecedents'] = rules['antecedents'].apply(lambda a: ','.join(list(a)))
rules['consequents'] = rules['consequents'].apply(lambda a: ','.join(list(a)))
# Print example.
print(rules[['antecedents','consequents']])
            antecedents                    consequents
0  Batman Begins (2005)  Dark Knight Rises, The (2012)
Python में Market Basket Analysis

हीटमैप बनाना

# Transform antecedent, consequent, and support columns into matrix
support_table = rules.pivot(index='consequents', columns='antecedents', 
                                values='support')
# Generate heatmap
sns.heatmap(support_table)
Python में Market Basket Analysis

हीटमैप बनाना

चित्र MovieLens डेटा से बना हीटमैप दिखाता है.

Python में Market Basket Analysis

हीटमैप्स को कस्टमाइज़ करना

sns.heatmap(pivot, annot=True, cbar=False, cmap='ocean')

यह चित्र हीटमैप का कस्टमाइज़्ड संस्करण दिखाता है.

Python में Market Basket Analysis

अभ्यास करते हैं!

Python में Market Basket Analysis

Preparing Video For Download...