Package: howso-engine
The Howso Engine™ is a natively and fully explainable ML engine, serving as an alternative to black box AI neural networks. Its core functionality gives users data exploration and machine learning capabilities through the creation and use of Trainees that help users store, explore, and analyze the relationships in their data, as well as make understandable, debuggable predictions. Howso leverages an instance-based learning approach with strong ties to thek-nearest neighbors algorithmandinformation theoryto scale for real world applications.At the core of Howso is the concept of a Trainee, a collection of data elements that comprise knowledge. In traditional ML, this is typically referred to as a model, but a Trainee is original training data coupled with metadata, parameters, details of feature attributes, with data lineage and provenance. Unlike traditional ML, Trainees are designed to be versatile so that after a single training instance (no re-training required!), they can:Performclassificationon any target feature using any set of input featuresPerformregressionon any target feature using any set of input featuresPerformonline and reinforcement learningPerformanomaly detectionbased on any set of featuresMeasurefeature importancefor predicting any target featureIdentifycounterfactualsUnderstandincreases and decreases in accuracyfor features and individual casesForecasttime seriesSynthesizedata that maintains the same feature relationships of the original data while maintaining privacyAnd more!Furthermore, Trainees are auditable, debuggable, and editable.Debuggable: Every prediction of a Trainee can be drilled down to investigate which cases from the training data were used to make the prediction.Auditable: Trainees manage metadata about themselves including: when data is trained, when training data is edited, when data is removed, etc.Editable: Specific cases of training data can be removed, edited, and emphasized (through case weighting) without the need to retrain.ResourcesDocumentationHowso Engine Recipes (sample notebooks)Howso PlaygroundGeneral OverviewThis Repo provides the Python interface withHowso Enginethat exposes the Howso
Engine functionality. The Client objects directly interface with the engine API
endpoints while the Trainee objects provides the python functionality for
general users. Client functions may be called by the user but for most workflows
the Trainee functionality is sufficient. Each Trainee represents an individual
Machine Learning object or model that can perform functions like training and
predicting, while a client may manage the API interface for multiple Trainees.Supported PlatformsCompatible with Python versions: 3.8, 3.9, 3.10, and 3.11Operating SystemsOSx86_64arm64WindowsYesNoLinuxYesYesMacOSYesYesInstallTo install the current release:pipinstallhowso-engineYou can verify your installation is working by running the following command in
your python environment terminal:verify_howso_installSee the Howso EngineInstall Guidefor
additional help and troubleshooting information.UsageThe Howso Engine is designed to support users in the pursuit of many different
machine learning tasks using Python.Below is a very high-level set of steps recommended for using the Howso Engine:Define the feature attributes of the data (Feature types, bounds, etc.)Create a Trainee and set the feature attributesTrain the Trainee with the dataCall Analyze on the Trainee to find optimal hyperparametersExplore your data!Once the Trainee has been given feature attributes, trained, and analyzed, then
the Trainee is ready to be used for all supported machine learning tasks. At
this point one could start making predictions on unseen data, investigate the
most noisy features, find the most anomalous training cases, and much more.Please see theUser Guidefor
basic workflows as well as additional information about:Anomaly detectionClassificationRegressionTime-series forecastingFeature importance analysisReinforcement learningData synthesisPrediction auditingMeasuring model performance (global or conditional)Bias mitigationTrainee editingID-based privacyThere is also a set of basicJupyter notebooksto run
that provides acomplete set of examplesof how
to use Howso Engine.LicenseLicenseContributingContributing