VIM-MLFLOW PLUGIN TO BROWSE MLFLOW RESULTS IN VIM
vim-mlflow-zoom-screenshot I love MLflow a lot, and I use it all the time for both work and personal projects. There are projects in which I go all-out and auto-log extensive graphical artifacts to better enable modeling improvements - like with example images for the different error cases, and ROC curves, and so on. And for those it's really nice to use its website as a one-stop UI to where those artifacts are logged and reviewed by others. But there are also a lot of projects where I really don't log much more than the modeling parameters and performance metrics, just numbers, and yet I'm still leaving my terminal-based workflow in Vim and looking up and comparing those numbers on the (in this case needlessly point-and-click) MLflow website. So I wrote this Vim plugin...



PREDICTING BANK LOAN BEHAVIOR WITH RANDOM FOREST MODELS
Bank Loan PredictionLet's implement a random forest classifier from Scikit-Learn to see how well we can predict whether a bank client will have good loan behavior (meaning they won't default or become delinquent) if they are given a new loan. We'll use a public bank transactions/loans dataset from the PKDD99 Challenge conference for the modeling. In the process we'll fit and explore the assumptions made for this model, and learn about some limitations of Scikit-Learn's tree-based models.



POSTGRESQL+SCHEMASPY VIA DOCKER CONTAINERS
database relational diagramWhen prototyping a new database from its initializing SQL code, and wanting to examine details of its relational architecture or demonstrate it to others, it's really convenient to simply pull my aganse/quick_postgresql repo. I just pop in my table creation lines in init.sql, make run, and view the interactive SchemaSpy website generated at its internal port. As the database sticks around and grows into use, still it's really helpful as it evolves to be able to keep rerunning and updating that SchemaSpy website as a standard part of the workgroup toolset.



PREDICTIVE FILTERS COMPARISON
A classic textbook for predictive (tracking) filters is Applied Optimal Estimation, edited by Gelb (1974). In section 6.1 of that book are two simple radar tracking examples (6.1-2 and 6.1-3) which demonstrate several nonlinear filters. I've programmed up those examples into a Matlab script and added a few additional filters to compare and contrast them in both linear and nonlinear cases.
KalmanEtc





INTERACTIVE GPS DATA VISUALIZATIONS IN PYTHON/JUPYTER
gpsmapDid you know you can plot your geographic data on interactive maps embedded directly in your Python notebooks? Check it out, as we play with and analyze some GPS tracking data. A database of tracked walking routes data available on a health/fitness website provides a convenient trove of data not only to play with, but also to explore the geometric interference effects of downtown buildings upon GPS track solutions.



GETTING MLFLOW+DATABASE RUNNING QUICKLY VIA DOCKER

mlflow_screen_shotThis provides a get-running-quickly Docker-compose setup using containers for MLflow, PostgreSQL, and NGINX. Run MLflow's database in PostgreSQL, and put an NGINX reverse proxy in front of the MLflow website to allow some level of access restriction (say for a workgroup within an already-firewalled company intranet).



DBSCAN CLUSTERING IN DECRYPTING AN IMAGE CYPHER

fowl_cypherThis wonderful kids' book series is fun not only for the stories themselves, but also because each of the first several books involves a cipher puzzle with "fairy hieroglyphics" - I love code puzzles! Originally in the first book the hieroglyphics were long and drawn out, sequenced across the bottoms of all the pages. But then I read my son the next book in the series in electronic form, where I discovered the hieroglyphic sequence was moved to the back of the book, all perfectly lined up in matrices over a few pages at the end. And I thought, hey that seems like it'd be easy to parse and decrypt on a computer, just like the main character did.



InvGN: GAUSS-NEWTON NONLINEAR INVERSION CODE

InvGNCalculate Tikhonov-regularized, Gauss-Newton nonlinear iterated inversion to solve the damped nonlinear least squares problem, using the InvGN toolkit for Matlab/Octave. While Matlab's optimization toolbox contains lsqnonlin, it does not inherently include the Tikhonov regularization and is only the optimization component, whereas inversion also requires uncertainty quantification. My InvGN package is for weakly nonlinear, Tikhonov-regularized, inverse problems (so includes solution uncertainties and resolution quantification), handles both frequentist and Bayesian frameworks, and also works in Octave.