Open source · Research · Education

Research methods made practical

I develop and maintain open-source software that turns research in data mining, machine learning, and optimization into reusable tools. Most projects are R packages, with selected Python interfaces, Bioconductor packages, and teaching resources.

Pattern mining

Discover, represent, visualize, and use frequent patterns, association rules, and sequences.

arulespy

Python

A Python interface for exploring association rules and frequent itemsets with arules.

arulesViz

R

Static and interactive visualization techniques for association rules and itemsets.

arulesSequences

R

Mining and manipulating frequent sequences using the SPADE algorithm family.

arulesCBA

R

Associative classification with CBA, CMAR, CPAR, FOIL, PART, PRM, RCAR, and RIPPER.

arulesNBMiner

R

Model-based mining of NB-frequent itemsets and NB-precise association rules.

Clustering and data streams

Analyze density-based structure and evolving data with efficient, extensible algorithms.

streamConnect

R

Connect stream-mining components using sockets and deploy them as web services.

streamMOA

R · Java

An interface to clustering algorithms from the MOA data-stream mining framework.

rEMM

R

Extensible Markov Models that add temporal structure to data-stream clustering.

Decision-making and optimization

Model sequential decisions and solve ordering, assignment, routing, and control problems.

pomdpSolve

R · C

A convenient R distribution and interface for Anthony Cassandra's pomdp-solve software.

TSP

R

Infrastructure and algorithms for traveling salesperson problems, including a Concorde interface.

qap

R

Heuristics for the quadratic assignment problem, including simulated annealing.

Recommender systems

Build, evaluate, and compare recommendation algorithms using a shared framework.

Bioinformatics

Connect established biological-sequence tools with reproducible R and Bioconductor workflows.

Educational software and materials

Open examples, assignments, and small tools for learning data mining, artificial intelligence, reinforcement learning, and programming.

Data Mining with R

R · Book

Documented R examples accompanying Introduction to Data Mining by Tan, Steinbach, Karpatne, and Kumar.

Artificial Intelligence

Python · Course

Lecture material, compact code examples, and assignments based on Artificial Intelligence: A Modern Approach.

Reinforcement Learning

Python · Course

Teaching material following Sutton and Barto's Reinforcement Learning: An Introduction.

gym-classics2

Python

Classic discrete finite Markov decision processes for reinforcement-learning experiments and instruction.

Small teaching tools

R · C++

Distribution-fitting examples and Gridhunt2, a small game for teaching object-oriented programming concepts.

Archived projects

These projects remain available for reproducibility and historical use but are no longer the recommended starting point for new work.

rRDP

R · Bioconductor

An R interface to the Ribosomal Database Project classifier for classifying ribosomal RNA sequences.

rMSA

R

An R interface to multiple-sequence alignment tools including ClustalW, MAFFT, MUSCLE, and Kalign.

QuasiAlign

R

Prototype software for efficient biological-sequence analysis using alignment-free methods.