An interactive visual interface for exploring and debugging black-box machine learning models without writing code.
The What-If Tool is an open-source visualization tool for interpreting and debugging machine learning models. It provides an interactive interface to explore model predictions, analyze performance across data subsets, and investigate fairness issues without requiring any coding. The tool integrates with TensorBoard, Jupyter notebooks, and Google Colab, supporting TensorFlow models, AI Platform Prediction, and custom prediction functions.
Machine learning researchers, data scientists, and model developers who need to debug, interpret, or explain black-box models. It's also suitable for non-technical stakeholders who want to understand model behavior on specific datasets.
Developers choose the What-If Tool for its comprehensive, code-free visualization capabilities that go beyond basic metrics. It uniquely combines counterfactual analysis, interactive data editing, fairness evaluation, and attribution visualization in a single, user-friendly interface.
Source code/webpage/demos for the What-If Tool
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows manual editing of any data point's features with immediate re-inference, enabling real-time what-if analysis without coding, as demonstrated in the Datapoint Editor tab.
Provides tools to evaluate model fairness across data slices, adjust classification thresholds for equality of opportunity, and analyze demographic parity, all within the Performance tab.
Supports visualization of feature attribution scores from methods like SHAP or gradients, displaying them alongside predictions and enabling their use in custom layouts and slicing.
Works out-of-the-box with TensorBoard, Jupyter notebooks, and Google Colab, requiring minimal setup for supported environments like TensorFlow Serving or AI Platform.
Primarily designed for TensorFlow models and tf.Example data formats; using other frameworks necessitates writing and maintaining custom prediction functions, adding complexity.
The README admits the tool can handle only up to tens of thousands of examples, making it unsuitable for very large datasets common in production ML.
Using with TensorBoard requires model serving via TensorFlow Serving and specific API configurations (gRPC, not REST), which can be cumbersome for teams not already in that ecosystem.