App: SimplML
Developer: differential enterprises
Genres: Utilities, Finance

All-numeric supervised machine learning ("tabular regression," in Apple CoreML parlance) via basis function methods, with model slicer visualization tools.

Now supporting binary classification problems.

See What's New In This Version to learn about all the latest updates!

This is a "no code" baseline app to serve as a test bed for basis function approximation methods, which are fairly simple (comparatively speaking) machine learning methods involving a single fully connected inner layer, and are usable for solving general smooth-ish function fits.  There is no need to install a myriad of Python packages or other tools to use this.  Simply download the app from the app store and read in your CSV file.

The legendary automotive miles per gallon data set which pre-dates Tensorflow and many of its users originating from one of the infamous "malaise eras" is uploaded here in the proper CSV format for this system as a tutorial data set for learning the system:

https://diffent.com/mpgfull.csv

Original data source & background:

https://www.tensorflow.org/tutorials/keras/regression

More detailed use instructions at https://diffent.com/simpleml.pdf

Features:

two basis function types (gauss & multi-quadric)

two distance metrics (Euclidean and Manhattan)

adjustable shape parameter

flexible on-screen data column selector

constant or variable basis function widths

some improper data flagging (question marks or non-numeric characters in data; however, scientific notation is supported e.g. 4.2e1

optional input variable normalization

model complexity hyperparameter adjustments (manual)

auto withhold of points for train/test split (user controllable amount via fraction of original points)

actual versus predicted plots for train, test, and out of sample evaluation points

actual versus predicted data exported to annotated columnar text files

plots in portable HTML for easy use in other systems

hyperparameters stored as user defaults

Variable importance is estimated by leaving a variable out of an already solved model
and comparing RMS error of training data set to full variable RMS error.  If RMS doesn't change much,
the variable was not very important.  Results reported out as (RMSchange/RMS - 1) per variable in
lower green output window.

User can apply this information to remove variables from models that are less important,
for improved out of sample performance.

Release notes:
On first app run, trigger the "reset" parameters feature so that the initial install has the same default parameters that the reset button provides.