GithubHelp home page GithubHelp logo

flankedgonerogue / mining-fis-using-clm Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 817 KB

CLM-miner is an algorithm that uses a CLM matrix to find FIs in a transaction database.

CMake 0.03% C++ 99.97%
clm dsa frequent-itemset-mining frequent-itemsets clm-miner

mining-fis-using-clm's Introduction

Mining FIs using CLM

Interacting with the CPP part

Required command-line arguments

transactions: the input transactions

max-nodes: the maximum number of nodes in the universe transactions

min-support: the minimum support number to find valid FIs

Optional command-line arguments

graph-output: the JSON file to store graph output in

fis-output: the JSON file to store FIs found using min-support in

image: the initial image JSON file to load the graph from, this should be an instance of JSON using the output argument.

Return codes

 0 : Success
 1 : Invalid set of arguments
 2 : Max Nodes number not provided
 3 : Max Nodes number is invalid
 4 : Min Support number not provided
 5 : Min Support number is invalid
 6 : Transactions not provided
10 : Bad Graph Output file
11 : Failed to write to Graph Output file
20 : Bad FIs Output file
21 : Failed to write to FIs Output file
30 : Failed to load up image file

Example Run

A simple run to process the transactions CDEF DE FG CDF DF CEF BCDEF with a min support of 2.

clm-miner -transactions "CDEF DE FG CDF DF CEF BCDEF" -min-support 4 -max-nodes 6

Output:

Nodes: 
	node : weight
	B : 1
	C : 4
	D : 5
	E : 4
	F : 6
	G : 1
Edges: 
	from : to : extra information : weight
	C : D : E,F, : 2
	C : E : F, : 3
	C : F :  : 4
	D : E : F, : 2
	D : F :  : 4
	E : F :  : 3
	D : E :  : 1
	F : G :  : 1
	C : D : F, : 1
	B : C : D,E,F, : 1
	B : D : E,F, : 1
	B : E : F, : 1
	B : F :  : 1
CLM: 
	  | B | B C D E F G | C | B C D E F G | D | B C D E F G | E | B C D E F G | F | B C D E F G | G | B C D E F G | 
	B | 1 | 0 0 0 0 0 0 | 1 | 0 0 1 1 1 0 | 1 | 0 0 0 1 1 0 | 1 | 0 0 0 0 1 0 | 1 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 
	C | 0 | 0 0 0 0 0 0 | 4 | 0 0 0 0 0 0 | 3 | 0 0 0 2 3 0 | 3 | 0 0 0 0 3 0 | 4 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 
	D | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 5 | 0 0 0 0 0 0 | 3 | 0 0 0 0 2 0 | 4 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 
	E | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 4 | 0 0 0 0 0 0 | 3 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 
	F | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 6 | 0 0 0 0 0 0 | 1 | 0 0 0 0 0 0 | 
	G | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 0 | 0 0 0 0 0 0 | 1 | 0 0 0 0 0 0 | 
FIs:
	C
	CD
	CE
	CF
	D
	DE
	DF
	E
	EF
	F

Process finished with exit code 0

Contributors

- Abdur Rahman Goraya (Graph, CLM, CLM-Miner, CPP API)
- Syed Ahsan Naqvi (UI)
- Mian Ali Ahmed
- Ubaid Ur Rehman (Alpha Tester)
- Course Instructor: Dr. Zahid Halim
- Course Lab Instructor: Sir Usama Arshad

Based on

This project is based on the paper

On the Efficient Representation of Datasets as Graphs to Mine Maximal Frequent Itemsets

by

  • Zahid Halim, Senior Member, IEEE
  • Omer Ali
  • Muhammad Ghufran Khan

mining-fis-using-clm's People

Contributors

flankedgonerogue avatar

Stargazers

 avatar

Watchers

 avatar

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.