The facets project contains two visualizations for understanding and analyzing machine learning datasets: Facets Overview and Facets Dive.
The visualizations are implemented as Polymer web components, backed by Typescript code and can be easily embedded into Jupyter notebooks or webpages.
Live demos of the visualizations can be found on the Facets project description page.
![Overview visualization of UCI census data - Lichman, M. (2013). UCI Machine Learning Repository [http://archive.ics.uci.edu/ml/datasets/Census+Income]. Irvine, CA: University of California, School of Information and Computer Science Overview visualization of UCI census data](/img/overview-census.png)
Overview gives a high-level view of one or more data sets. It produces a visual feature-by-feature statistical analysis, and can also be used to compare statistics across two or more data sets. The tool can process both numeric and string features, including multiple instances of a number or string per feature.
Overview can help uncover issues with datasets, including the following:
Key aspects of the visualization are outlier detection and distribution comparison across multiple datasets. Interesting values (such as a high proportion of missing data, or very different distributions of a feature across multiple datasets) are highlighted in red. Features can be sorted by values of interest such as the number of missing values or the skew between the different datasets.
Details about Overview usage can be found in its README.
![Dive visualization of UCI census data - Lichman, M. (2013). UCI Machine Learning Repository [http://archive.ics.uci.edu/ml/datasets/Census+Income]. Irvine, CA: University of California, School of Information and Computer Science Dive visualization of UCI census data](/img/dive-census.png)
Dive is a tool for interactively exploring up to tens of thousands of multidimensional data points, allowing users to seamlessly switch between a high-level overview and low-level details. Each example is a represented as single item in the visualization and the points can be positioned by faceting/bucketing in multiple dimensions by their feature values. Combining smooth animation and zooming with faceting and filtering, Dive makes it easy to spot patterns and outliers in complex data sets.
Details about Dive usage can be found in its README.
git clone https://github.com/PAIR-code/facets
cd facets
Pre-built versions of the jupyter extension visualization code can be found in the facets-dist directory.
To enable use of these visualizations in Jupyter notebooks:
jupyter nbextension install facets-dist/ if jupyter was installed system-wide or jupyter nbextension install facets-dist/ --user if installed per-user (run from the facets top-level directory). You do not need to run any follow-up jupyter nbextension enable command for this extension.share/jupyter/nbextensions folder and copying the facets-dist directory into it.Note: When visualizing a large amount of data, as is done in the Dive demo Jupyter notebook, you will need to start the notebook server with an increased IOPub data rate.
This can be done with the command jupyter notebook --NotebookApp.iopub_data_rate_limit=10000000.
Pre-built docker image for Facets is available. You can try Facets in the jupyter notebook software without the above installation.
To use Facets in the jupyter notebook software with Docker:
docker run -d -p 8888:8888 kozo2/facets start-notebook.sh --NotebookApp.token='' --NotebookApp.iopub_data_rate_limit=10000000
facets_overview/Overview_demo.ipynb or facets_dive/Dive_demo.ipynb with the jupyter notebook software.If you make code changes to the visualization and would like to rebuild them for use in Jupyter notebooks, follow these directions:
bazel build facets:facets_jupyter (run from the facets top-level directory)Disclaimer: This is not an official Google product
Content type
Image
Digest
Size
1.2 GB
Last updated
about 9 years ago
docker pull kozo2/facets