prVis: a Novel Method for Visual Dimension Reduction
(Updated: )
prVis is a nonlinear dimension-reduction and visualization tool, an alternative to t-SNE and UMAP. Principal component analysis (PCA) is a linear method and cannot see nonlinear relationships among variables; prVis fixes this by expanding the data with polynomial and interaction terms first, then applying ordinary PCA — turning curved structure into linear structure that PCA can capture.
Me @ August 24, 2026
Norm Matloff, the author of prVis, passed away on June 12, 2026 due to cancer. His dedication to education and research stayed with him to the end: his last GitHub commit was on May 11, 2026, on an R package, and he was working with his daughter on a linear algebra textbook. In retrospect, I was greatly influenced by him and by my involvement in this project in the following ways:
I was inspired by his passion for writing books, tutorials, and blogs that beginners can understand. For this project I contributed documentation and gathered examples.
I neither worked on the algorithm/math side nor, as I recall, took much interest in it — its backend, polyreg, argues that neural nets are essentially polynomial regression models. I was more interested in performance optimization (adding
bigmemorysupport to make polynomial expansion feasible on large datasets).I spent a lot of time developing and optimizing user interactions to color code the resulting visualization:
- using a categorical column
- using a numerical column
- combining filter and coloring using a custom user-specified arithmetic and logic expression:
whereGrammar: <expression> ::= <subexpression> [(+|*) <subexpression>] <subexpression> ::= columnName relationalOperator value*is logical AND (set intersection),+is logical OR (union), and relational operators are:==,!=,>=,<=,>,<
It is mind-blowing to see that a project from 6 years ago has such overlap with FLIM Playground (specifically, the performance optimization, the numerical and categorical filters, the categorical visual channels). As of now, I can still take inspiration from the design I wrote before (e.g. combining filters with coloring for visualization).
Comments