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 some Python modules, and Bioconductor packages.
Platforms: R-universe · GitHub · PyPI · Bioconductor
Pattern mining
Discover, represent, visualize, and share frequent patterns, association rules, and sequences using the arules package family.
arules
R · CRANCore infrastructure and fast algorithms for mining and analyzing frequent itemsets and association rules.
arulespy
Python · PyPIA Python interface for exploring association rules and frequent itemsets with arules.
arulesViz
R · CRANStatic and interactive visualization techniques for association rules and itemsets.
arulesSequences
R · CRANMining and manipulating frequent sequences using the SPADE algorithm family.
arulesCBA
R · CRANAssociative classification with CBA, CMAR, CPAR, FOIL, PART, PRM, RCAR, and RIPPER.
arulesNBMiner
R · CRANModel-based mining of NB-frequent itemsets and NB-precise association rules.
pmml
R · CRANGenerate predictive model markup language (PMML) to export and exchange various predictive models including association rules.
Clustering and data streams
Analyze density-based structure in static and evolving data with efficient, extensible algorithms.
dbscan
R · CRANFast implementations of density-based algorithms like DBSCAN, HDBSCAN, OPTICS, LOF, and nearest-neighbor search.
stream
R · CRANAn extensible framework for data-stream clustering, evaluation, and experimentation.
streamConnect
RConnect stream-mining components using sockets and deploy them as web services.
streamMOA
R · Java · CRANAn interface to clustering algorithms from the Java-based MOA (Massive Online Analysis) data-stream mining framework.
rEMM
R · CRANExtensible Markov Models that add temporal structure learning to data-stream clustering.
Discrete optimization and optimal decision-making
Model and solve discrete optimization problems for data analysis, visualization and decision-making.
pomdp
R · CRANDefine, solve, simulate, and analyze partially observable Markov decision processes (POMDPs).
seriation
R · CRANInfrastructure to reorder matrices, dissimilarities, and dendrograms to reveal structure in data and improve visualization.
pomdpSolve
R · C · CRANA convenient R distribution and interface for Anthony Cassandra's popular pomdp-solve software to solve POMDPs.
TSP
R · CRANInfrastructure and algorithms for traveling salesperson problems, including a Concorde solver interface.
markovDP
RWork with Markov decision processes (MDPs) using dynamic programming and reinforcement learning.
qap
R · CRANHeuristics for the quadratic assignment problem (QAP).
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.
rRDP
RAn R interface to the Ribosomal Database Project classifier for classifying ribosomal RNA sequences.
Educational software
All software above can be used for educational purposes. Specifically for educational purposes, I have compiled an created code examples, coding assignments, howw-tos, R libraries, and Python modules. All software isaccompanied by educational material including instructions and presentation slides shared under a creative commons library.
Artificial Intelligence
Python · Course materialsSlides, compact code examples, and exercises for an introduction to AI using Russell and Norvig’s Artificial Intelligence: A Modern Approach.
Reinforcement Learning
Python · Course materialsSlides, code examples, and exercises for an introductory course in reinforcement learning.
R Companion for Introduction to Data Mining
R · Companion bookR examples accompanying Introduction to Data Mining by Tan, Steinbach, Karpatne, and Kumar.
Data Structures
C++ · Code examplesCode for an introductory data-structures course using Mark Allen Weiss’s Data Structures and Algorithm Analysis in C++.
gym-classics2
Python · RL packageClassic discrete finite Markov decision processes and algorithms for teaching reinforcement learning.
Additional examples
R · C++ · Small toolsTools for fitting distributions and Gridhunt2, a game for teaching encapsulation, composition, inheritance, and polymorphism.
Archived projects
These projects remain available for reproducibility and historical use but are no longer the recommended starting point for new work.