Giter Site home page Giter Site logo

marziehlenjani / gputreeminer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from elaheh-sadredini/gputreeminer

0.0 1.0 0.0 303 KB

Frequent subtree mining with breadth-first search approach on the GPU (CUDA)

Makefile 9.95% C++ 39.30% C 0.75% Cuda 50.00%

gputreeminer's Introduction

GPUTreeMiner

BFS implementation of frequent subtree mining on the GPU. It uses shared memory for the generated subtree candidates. GPUTreeMiner provides pruning huristics and both weighted (counts a candidate subtree multiple times in a tree) and unique_count options (counts a candidate subtree once in a tree).

This code uses TreeMiner as the base for CPU implementation.

Usage:

1. make

2. ./gpuTreeMiner -i<input_file> -s<support> -o<print output> -p<prune> -u<unique counting>

    -i,      dataset of trees
    -s,      support threshold between (0,1)
    -o,      <True> if printing the freuqnt subtrees. Default is <False>
    -p,      <True> if pruning the database, <False> otherwise. Default is <True>
    -u,      <True> if counting the subtree matches once per tree, <False> if weighted counting. Default is <True>

You can set "Allow gap between itemsets" to "0" in order to mine the frequent consequtive itemsets.

Input format:

The input must be in the following format:

    id id length string_encoding

where id is repeated twice (the same value for the tree number), length is the number of items to follow on the line, and string_encoding is the coding of the tree

Sample input file

    0 0 7 1 2 -1 3 4 -1 -1
    1 1 11 2 1 2 -1 4 -1 -1 2 -1 3 -1
    2 2 15 1 3 2 -1 -1 5 1 2 -1 3 4 -1 -1 -1 -1

Trees are in pre-order travesal and -1 shows a backtrack.

The first tree's string encoding has length 7 (including -1's), and so on. This database has 3 trees.

Contact:

[email protected]

Citations:

Please cite the following papers if you are using this tool for your research.

[1] Elaheh Sadredini, Reza Rahimi, Ke Wang, and Kevin Skadron. "Frequent Subtree Mining on the Automata Processor: Opportunities and Challenges." ACM International Conference on Supercomputing (ICS), Chicago, June 2017

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.