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.
Platforms: R-universe · GitHub · PyPI · Bioconductor
Pattern mining
Discover, represent, visualize, and use frequent patterns, association rules, and sequences.
arules
R · Python interfaceCore infrastructure and fast algorithms for mining and analyzing frequent itemsets and association rules.
arulespy
PythonA Python interface for exploring association rules and frequent itemsets with arules.
arulesViz
RStatic and interactive visualization techniques for association rules and itemsets.
arulesSequences
RMining and manipulating frequent sequences using the SPADE algorithm family.
arulesCBA
RAssociative classification with CBA, CMAR, CPAR, FOIL, PART, PRM, RCAR, and RIPPER.
arulesNBMiner
RModel-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.
dbscan
RFast implementations of DBSCAN, HDBSCAN, OPTICS, LOF, and nearest-neighbor search.
stream
RAn extensible framework for data-stream clustering, evaluation, and experimentation.
streamConnect
RConnect stream-mining components using sockets and deploy them as web services.
streamMOA
R · JavaAn interface to clustering algorithms from the MOA data-stream mining framework.
rEMM
RExtensible 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.
pomdp
RDefine, solve, simulate, and analyze partially observable Markov decision processes.
pomdpSolve
R · CA convenient R distribution and interface for Anthony Cassandra's pomdp-solve software.
TSP
RInfrastructure and algorithms for traveling salesperson problems, including a Concorde interface.
seriation
RReorder matrices, dissimilarities, and dendrograms to reveal structure and improve visualization.
qap
RHeuristics 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.
rBLAST
R · BioconductorAn R interface to BLAST for searching genetic sequence databases within 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 · BookDocumented R examples accompanying Introduction to Data Mining by Tan, Steinbach, Karpatne, and Kumar.
Artificial Intelligence
Python · CourseLecture material, compact code examples, and assignments based on Artificial Intelligence: A Modern Approach.
Reinforcement Learning
Python · CourseTeaching material following Sutton and Barto's Reinforcement Learning: An Introduction.
gym-classics2
PythonClassic 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 · BioconductorAn R interface to the Ribosomal Database Project classifier for classifying ribosomal RNA sequences.
rMSA
RAn R interface to multiple-sequence alignment tools including ClustalW, MAFFT, MUSCLE, and Kalign.
QuasiAlign
RPrototype software for efficient biological-sequence analysis using alignment-free methods.