Giter Site home page Giter Site logo

Comments (6)

udayRage avatar udayRage commented on June 8, 2024

Dear Charlie,

Good day!

You have asked an interesting question. The answer is known only to people who have been working and pursuing research since the early days of pattern mining. Please read this email.

  1. In AI, generating first-order logic (or association) rules from the data has been challenging.

  2. Agarwal effectively addressed the association rule generation problem through a two-step process:
    Step 1: finding frequent patterns from the data, which is a computationally expensive step even Apriori property exists
    Step 2: Generating association rules from frequent patterns, which is a simple process.

  3. Later, these two steps were separated and studied independently (2000 to 2010):
    a) For step 1, researchers worked on developing faster algorithms, ECLAT and FP-growth, to discover frequent patterns efficiently.

    b) For step 2, researchers investigated alternative interestingness measures, such as kulk and lift, to discover interesting association rules.

  4. The motivation behind this two-step is as follows:

  • Depending on the data distribution of a given dataset, the user can choose any fast algorithm to find frequent patterns. That is, the users do not have to stick with Apriori algorithm for frequent pattern discovery.
  • Later, if needed, the user can input the generated frequent patterns to any rule mining algorithm with an interestingness measure and extract association rules.
  • If we tightly couple both frequent pattern mining and association rule mining with the Apriori algorithm, then due to the slowness of Apriori, the results may take more time, or you may not get results.

That is why our code implements rule mining and pattern mining separately. Our code and the pattern mining libraries, such as SPMF and WEKA (which are Java-based), also implemented similarly.

I hope I have answered your question.


Researchers (including Agarwal) released that frequent patterns were more interesting than association rules in many applications. Thus, pattern mining has emerged with several models, such as correlated pattern mining, sequence pattern mining, and fault-tolerant patterns. Meanwhile, the research on association rule mining ended due to its simplicity.

from pami.

CharlieAprog avatar CharlieAprog commented on June 8, 2024

from pami.

udayRage avatar udayRage commented on June 8, 2024

Q) It required a path to a dataset, rather than accepting the results directly from a frequent pattern algorithm.
Ans) No need.
First, you can generate frequent patterns and store them in a dataframe using obj.getPatternsAsDataFrame()
Second, just pass the frequent pattern data frame into a rule mining algorithm to generate rules.

You don't need to save the patterns in a file and read again from a file, which is a time consuming and computationally expensive operation.

I will ask my students tomorrow to check. We will check the code tomorrow and update you in the comments.

from pami.

udayRage avatar udayRage commented on June 8, 2024

Dear Charlie,

Good day!

Thank you very much for your valuable feedback.

   We have incorporated your suggestion and modified the Association rule mining code to accept the data frame as an input and output association rules.

Please check the below provided jupyter notebook. 

Google Collab

from pami.

udayRage avatar udayRage commented on June 8, 2024

Dear Charlie,

Good day!

Thank you very much for your valuable feedback.

   We have incorporated your suggestion and modified the Association rule mining code to accept the data frame as an input and output association rules.

Please check the below provided jupyter notebook. 

Google Collab

from pami.

udayRage avatar udayRage commented on June 8, 2024

We will now close this issue.

IF you find any further issues, please feel free to inform us, and we will be glad to incorporate them.

from pami.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.