Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECLAT Algorithm – Data Mining (Python Console Application)


ECLAT Algorithm Implementation

A Python implementation of the ECLAT algorithm for frequent itemset mining and association rule generation.

Usage

Prerequisites

pip install pandas openpyxl

Running the Program

There are two methods to run the program:

Method 1: Using IDE Run Button

  1. Open src/main.py in your IDE
  2. Click the Run button
  3. No additional configuration needed

Method 2: Using Terminal

  1. Navigate to the project root directory:

    cd DataMining-ECLAT
  2. Run the program as a module:

    python -m src.main

Important Note for Terminal Execution:

When running from terminal, you must modify line 87 in src/main.py:

Change:

df = pd.read_excel("../Data/Horizontal_Format.xlsx")

To:

df = pd.read_excel("Data/Horizontal_Format.xlsx")

This is because terminal execution runs from the project root, while IDE execution runs from within the src folder. The relative path must match your execution context.

Project Structure

DataMining-ECLAT/
├── Data/
│   └── Horizontal_Format.xlsx
├── src/
│   ├── eclat.py          # Printing helpers
│   ├── main.py           # Main code logic
└── README.md

Input Parameters

The program reads two parameters:

  • Minimum Support (0-1)
  • Minimum Confidence (0-1)

Input Data

The program reads transaction data from Data/Horizontal_Format.xlsx:

Sample Run

Read Inputs

img.png

Output

Vertical Format Conversion

img_1.png

Frequent Itemsets

img_2.png

Association Rules Generation

img.png

Strong Association Rules

img_3.png

Calculating Lift

img_5.png

Key Functions

checkFreqeuent(candidates)

Filters candidate itemsets based on minimum support.

generateCandidate(distinctItems)

Generates k+1 itemsets from k-itemsets using tidset intersection.

generate_association_rules(frequent_itemsets)

Creates all possible association rules from frequent itemsets.

generate_strong_association_rules(association_rules, total_transactions)

Filters rules by minimum confidence and calculates lift values.

About

ECLAT Algorithm - Data Mining Project (Python Console Application)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages