Skip to content

KIZI/EasyMiner

Repository files navigation

EasyMiner - Easy association rule mining on the web

EasyMiner/R is an open source web-based project for data mining based on association rules. Key features:

  • complete Prediction API (PAPI) - RESTful
  • interactive web UI working in all modern web browsers
  • association rule mining (based on Apriori algorithm/arules package in R)
  • classification model building and rule pruning (based on Classification based on Associations/CBA/ algorithm)

As a complement to EasyMiner/R, there is also a proprietary on-demand version of EasyMiner based on Apache Spark/Hadoop.

Build Status

Project web

http://easyminer.eu

Repository content (where do I see the issues and commits?)

EasyMiner/R project is composed of three independently developed components:

  • EasyMinerCenter
    • user interaction (web UI, RESTful API)
    • written in PHP/JavaScript
  • EasyMiner-Backend
    • data manipulation and handling of mining tasks
    • three services: data service, preprocessing service and miner service
    • written in Scala
  • rCBA Build Status
    • implementation of the CBA algorithm used for rule pruning and building of classification models
    • compiled version is available also in CRAN repository
    • written in Java 8
  • EasyMiner-Scorer
    • classification scorer
    • written in Java 8
  • Evaluation Build Status
    • evaluation framework for EasyMiner
    • covers 36 UCI datasets
    • written in Python
  • Benchmark
    • benchmark framework for EasyMiner, Sci-kit and Weka
    • covers 36 UCI datasets
    • written in Python and Java

When cloning project content do not forget to clone also all the linked submodules (recursively) with:

 git clone --recursive https://github.com/KIZI/EasyMiner.git 

Installation instructions

This is an installation package of the Easyminer/R bundle for the docker environment. This installation contains backend, frontend and database. In addition to the completely free version with R backend covered here, there are installation instructions for the on-request version with Hadoop/Spark backend. An overview of available REST endpoints is provided in the end of the document.

EasyMiner with R backend

Installation using Docker compose (recommended):

Requirements: Docker compose 1.12+, Docker 1.12+

Download docker-compose.yml from this repository and at same directory run following commands:

docker-compose pull
docker-compose up --force-recreate -d easyminer

Instalation without Docker compose (alternative):

Requirements: Docker 1.12+

#!/bin/bash

docker network create easyminer
docker pull mariadb:10
docker run --name easyminer-mysql -e MYSQL_ROOT_PASSWORD=root --network easyminer -d mariadb:10 --sql-mode=""
docker pull kizi/easyminer-frontend:v2.7
docker run -d -p 8894:80 --name easyminer-frontend --network easyminer kizi/easyminer-frontend:v2.7
docker pull kizi/easyminer-backend:v2.4
docker run -d -p 8893:8893 -p 8891:8891 -p 8892:8892 --name easyminer-backend -e EM_USER_ENDPOINT=http://easyminer-frontend/easyminercenter --network easyminer kizi/easyminer-backend:v2.4
docker pull kizi/easyminer-scorer:v2.4
docker run -d -p 8080:8080 --name easyminer-scorer --network easyminer kizi/easyminer-scorer:v2.4

Additional information

  • Web GUI: http://<docker-server>:8894/easyminercenter
  • Frontend re-install page: http://<docker-server>:8894/easyminercenter/install (password: 12345)
  • Frontend API endpoint: http://<docker-server>:8894/easyminercenter/api
  • HEADS UP: Use IP address or URL for docker-server, NOT localhost! Using localhost will block crossite scripting, eventually leading to error
  • HEADS UP: If you run EasyMiner in virtual machine, use Bridged adapter (not NAT)

REST API endpoints are accessible on:

  • http://<docker-server>:8891/easyminer-data/index.html - data service
  • http://<docker-server>:8892/easyminer-preprocessing/index.html - preprocessing service
  • http://<docker-server>:8893/easyminer-miner/index.html - miner service
  • http://<docker-server>:8894/easyminercenter/api - easyminer central service

Issue tracking

EasyMiner/R is composed of four components, which are maintained separately. Before posting an issue, please select the right issue tracker.

If you are not sure which one to pick, don't worry, your issue will be migrated to the right repository.

License

EasyMiner/R components are licensed under Apache License, Version 2.0.

Copyright 2016 Department of Information and Knowledge Engineering, University of Economics, Prague

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.