Visualizations for machine learning datasets

Overview

Introduction

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.

Facets Overview

Overview visualization of UCI census data

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:

  • Unexpected feature values
  • Missing feature values for a large number of examples
  • Training/serving skew
  • Training/test/validation set skew

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.

The python code to generate the statistics for visualization can be installed through pip install facets-overview.

Details about Overview usage can be found in its README.

Facets Dive

Dive visualization of UCI census data

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.

Setup

Usage in Google Colabratory/Jupyter Notebooks

Using Facets in Google Colabratory and Jupyter notebooks can be seen in this notebook. These notebooks work without the need to first download/install this repository.

Both Facets visualizations make use of HTML imports. So in order to use them, you must first load the appropriate polyfill, through <script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js"></script>, as shown in the demo notebooks in this repo.

Note that for using Facets Overview in a Jupyter notebook, there are two considerations:

  1. In the notebook, you will need to change the path that the Facets Overview python code is loaded from to the correct path given where your notebook kernel is run from.
  2. You must also have the Protocol Buffers python runtime library installed: https://github.com/google/protobuf/tree/master/python. If you used pip or anaconda to install Jupyter, you can use the same tool to install the runtime library.

When visualizing a large amount of data in Dive in a Juypter notebook, 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.

Code Installation

git clone https://github.com/PAIR-code/facets
cd facets

Building the Visualizations

If you make code changes to the visualization and would like to rebuild them, follow these directions:

  1. Install bazel: https://bazel.build/
  2. Build the visualizations: bazel build facets:facets_jupyter (run from the facets top-level directory)

Using the rebuilt Visualizations in a Jupyter notebook

If you want to use the visualizations you built locally in a Jupyter notebook, follow these directions:

  1. Move the resulting vulcanized html file from the build step into the facets-dist directory: cp -f bazel-bin/facets/facets-jupyter.html facets-dist/
  2. Install the visualizations into Jupyter as an nbextension.
  • If jupyter was installed with pip, you can use 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.
  • Alternatively, you can manually install the nbextension by finding your jupyter installation's share/jupyter/nbextensions folder and copying the facets-dist directory into it.
  1. In the notebook cell's HTML link tag that loads the built facets html, load from /nbextensions/facets-dist/facets-jupyter.html, which is the locally installed facets distribution. from the previous step.

Known Issues

  • The Facets visualizations currently work only in Chrome - Issue 9.

Disclaimer: This is not an official Google product

Comments
  • display(HTML(html)) doesn't display anything

    display(HTML(html)) doesn't display anything

    anyone could make the overview work in jupyter? i followed all the readme files and at end the display doesn't display anything and don't give me any errors too... i'm missing something?

    opened by FabricioProjects 17
  • Dive_demo.ipynb doesn't show the data

    Dive_demo.ipynb doesn't show the data

    I'm trying to run the Dive_demo.ipynb example but the HTML interface doesn't show any points. All is set to NONE. I initialized the jupyter as described on readme file: $ jupyter notebook --NotebookApp.iopub_data_rate_limit=10000000

    opened by FabricioProjects 12
  • Build Failure on OSX

    Build Failure on OSX

    Hello,

    Im having an issue trying to build the demo on OSX (Darwin LT5595 16.7.0 Darwin Kernel Version 16.7.0)

    When running the command: bazel run //facets_dive/demo

    I get the output:

    ERROR: /Users/saul.fuhrmann/FacetsTest/facets/WORKSPACE:17:1: Traceback (most recent call last):
    	File "/Users/saul.fuhrmann/FacetsTest/facets/WORKSPACE", line 17
    		closure_repositories()
    	File "/private/var/tmp/_bazel_saul.fuhrmann/64e17fd1086fe39cfd460d5fa053149c/external/io_bazel_rules_closure/closure/repositories.bzl", line 69, in closure_repositories
    		_check_bazel_version("Closure Rules", "0.4.5")
    	File "/private/var/tmp/_bazel_saul.fuhrmann/64e17fd1086fe39cfd460d5fa053149c/external/io_bazel_rules_closure/closure/repositories.bzl", line 172, in _check_bazel_version
    		fail(("%s requires Bazel >=%s but was...)))
    Closure Rules requires Bazel >=0.4.5 but was 0.10.0-homebrew
    ERROR: Error evaluating WORKSPACE file
    ERROR: error loading package '': Encountered error while reading extension file 'third_party/workspace.bzl': no such package '@org_tensorflow_tensorboard//third_party': error loading package 'external': Could not load //external package
    ERROR: error loading package '': Encountered error while reading extension file 'third_party/workspace.bzl': no such package '@org_tensorflow_tensorboard//third_party': error loading package 'external': Could not load //external package
    INFO: Elapsed time: 0.104s
    FAILED: Build did NOT complete successfully (0 packages loaded)
    ERROR: Build failed. Not running target
    

    It seems that _check_bazel_version("Closure Rules", "0.4.5") is causing the error. Has anyone encountered this issue before? What would be the best way to resolve it?

    Thanks,

    Saul

    opened by frmsaul 10
  • is it possible to load the protobuf binary format directly and display in Web Pages ?

    is it possible to load the protobuf binary format directly and display in Web Pages ?

    The Facets-Overview seems to have two implementations: Python and Javascripts. Both generate the corresponding protobuf implemenations from the protobuf definition, then both generate the same UI.

    I created a Scala Protobuf implementation using Spark DataFrame to generate the stats ( except for tensorflow). I save the protobuf base64 encoded binary string to a file and reload back with Python using the with open("path-to-binary", "rb") as f: content = f.read() protostr = content.decode("utf-8")

    the pass to the HTML_TEMPLATE as show in the code. This works great.

    I would like to do the same for Web rendering: Notice that in "gh-pages" branch, the rendering is done in index.html where

    $.when(trainAjax(), testAjax()).done(function(trainAjax, testAjax) { var overview = $("#foelem")[0]; var proto = overview.getStatsProto([ {data: trainAjax[0], name: "train"}, {data: testAjax[0], name: "test"}]); overview.protoInput = proto;

      $("#fdelem")[0].data = testAjax[0];
    });
    

    Here proto is the input DatasetFeatureStatisticsList. I try to load the binary, base64 string, none of that works. Here "stats.pb" is the binary file; "stats.txt" is the base64 encoded binary file.

    $.when(trainAjax(), testAjax(), protoAjax()).done(function(trainAjax, testAjax, protoAjax) { var overview = $("#foelem")[0];

        overview.protoInput =protoAjax; 
    
      $("#fdelem")[0].data = testAjax[0];
    });
    function trainAjax() {
      return $.getJSON({url: "train.json"});
    }
    function testAjax() {
      return $.getJSON({url: "test.json"});
    }
    function protoAjax() {
      <--
        or use stats.txt for base64encoded binary string
       -->
       return $.get({url: "stats.pb"}); 
    }
    

    }

    Is there an example, on how to reuse the binary format for web rendering in Javascript ? In this way, we just need use one implementation and results can be re-used for both Python, and Web.

    Please advice.

    opened by chesterchen-gpsw 8
  • facets dive problem of zoomed options

    facets dive problem of zoomed options

    Hi everyone,

    i'm trying to use Google Facets Dive to rapresent a confusion matrix of data in a jupyter notebook, on Chrome (windows 10).

    The problem is that options are incredibly zoomed (like +, - and other rapresentation options). Only reloading the jupyter notebook all the visualization is correctly zoomed. I would like not to reload everytime the page. How can i do?

    I'm using an example and this is my code

    HTML_TEMPLATE = """
            <script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js"></script>
            
            <link rel="import" href="/nbextensions/facets-dist/facets-jupyter.html">
            
            <facets-dive id="fd" height="600"></facets-dive>
            <script>
              var data = {jsonstr};
              var fd = document.querySelector("#fd");
              fd.data = data;
              fd['verticalFacet'] = 'predicted';
              fd['verticalBuckets'] = 8;
              fd['horizontalFacet'] = 'expected';
              fd['horizontalBuckets'] = 8;
              fd['colorBy'] = 'expected';
            </script>
            """
    
    jsonstr = df.to_json(orient='records')
    
    html = HTML_TEMPLATE.format(jsonstr=jsonstr)
    display(HTML(html))
    
    opened by matteopulega 7
  • Specify url

    Specify url

    Just run the test example in facets_dive/components. When trying to add user defined images, I generated a 800x100 png with 8 symbols in it, put it into the components/facets_dive folder and set atlas-url="test_sprite.png" in facets-dive.html But it's not found. INFO: 28,851µs /0:0:0:0:0:0:0:1:51068 404 GET /facets-dive/components/facets-dive/test_sprite.png How to specify the url?

    opened by makroid 7
  • Getting 404 GET /nbextensions/facets-dist/facets-jupyter.html

    Getting 404 GET /nbextensions/facets-dist/facets-jupyter.html

    After installing I'm getting a 404... is this due to missing nbextension config possibly?

    ✔ ~/projects/wisdot 
    04:26 $ jupyter notebook --NotebookApp.iopub_data_rate_limit=10000000
    [I 04:26:39.830 NotebookApp] [nb_conda_kernels] enabled, 4 kernels found
    [I 04:26:40.312 NotebookApp] ✓ nbpresent HTML export ENABLED
    [W 04:26:40.313 NotebookApp] ✗ nbpresent PDF export DISABLED: No module named nbbrowserpdf.exporters.pdf
    [I 04:26:40.353 NotebookApp] [jupyter_nbextensions_configurator] enabled 0.2.5
    [I 04:26:40.358 NotebookApp] [nb_conda] enabled
    [I 04:26:40.379 NotebookApp] [nb_anacondacloud] enabled
    [I 04:26:40.386 NotebookApp] Serving notebooks from local directory: /Users/charles.hack/projects/wisdot
    [I 04:26:40.386 NotebookApp] 0 active kernels 
    [I 04:26:40.387 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
    [I 04:26:40.387 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
    0:42: execution error: "http://localhost:8888/tree" doesn’t understand the “open location” message. (-1708)
    [W 04:26:53.917 NotebookApp] 404 GET /api/kernels/8d085097-d70c-4684-b62c-c8918fe91922/channels?session_id=B9C7E2A87D1C4FD185022437200F1AA1 (::1): Kernel does not exist: 8d085097-d70c-4684-b62c-c8918fe91922
    [W 04:26:53.946 NotebookApp] 404 GET /api/kernels/8d085097-d70c-4684-b62c-c8918fe91922/channels?session_id=B9C7E2A87D1C4FD185022437200F1AA1 (::1) 38.32ms referer=None
    [W 04:27:10.343 NotebookApp] Replacing stale connection: 8d085097-d70c-4684-b62c-c8918fe91922:B9C7E2A87D1C4FD185022437200F1AA1
    [I 04:27:38.571 NotebookApp] Saving file at /WisDOT Accidents v170620.ipynb
    [I 04:27:38.896 NotebookApp] Saving file at /WisDOT Accidents v170620.ipynb
    [W 04:27:43.255 NotebookApp] 404 GET /nbextensions//usr/local/share/jupyter/nbextensions/facets-jupyter.html.js?v=20170721042639 (::1) 4.62ms referer=http://localhost:8888/notebooks/WisDOT%20Accidents%20v170620.ipynb
    [W 04:27:43.281 NotebookApp] 404 GET /nbextensions/widgets/notebook/js/extension.js?v=20170721042639 (::1) 1.65ms referer=http://localhost:8888/notebooks/WisDOT%20Accidents%20v170620.ipynb
    [W 04:27:44.536 NotebookApp] 404 GET /nbextensions/facets-dist/facets-jupyter.html (::1) 1.72ms referer=http://localhost:8888/notebooks/WisDOT%20Accidents%20v170620.ipynb
    [I 04:27:44.591 NotebookApp] Kernel started: 1f1c3a9e-afee-430c-ac12-6820346bbcf1
    
    opened by hack-c 7
  • Upload big amounts of data to facets overview

    Upload big amounts of data to facets overview

    Hello,

    I have to inquiries:

    • First, I have about 2 million records or slightly more dataset that I want to visualize on Facets Overview, ofcourse uploading only 100K was enough to slow down my PC for 2 - 3 minutes. Is there more applicable method to visualize 2M records on Facets? If there are any sample code please show me.

    • Second, I created exported an HTML page of Facets Dive directly through the polymer , however I couldn't use the same method with Facets Overview and had to run it on Jupyter. Is there anything similar to simply replace the with or simply export an HTML webpae through simple Python? Also if I'm using Jupyter notebook, how can I export the result in a separate HTML file while using the display(HTML(html)) function.

    Here is my code for the facets dive: https://github.com/fatimashihab/facets/blob/master/facets%20dive/data_visualization.py

    and code: `HTML_TEMPLATE = u"""

    %(title)s """.strip()

    #export data with open(OUTPUT_FILE_PATH, "wb") as f: final_template = HTML_TEMPLATE % { 'title':'Data Visualization', 'data': dataset.to_json(orient='records'), 'presets': json.dumps(PRESETS) } f.write(final_template.encode('utf-8'))`

    I appreciate your help, please reply asap. Thank you in advance

    opened by fatimashihab 6
  • Unable to view sprite atlas in Dive

    Unable to view sprite atlas in Dive

    I have installed Facets to be used in a jupyter notebook and followed the instructions on the github page. I tried to load the provided notebook, Dive_demo.ipynb, but I am unable to view any data points (although clicking on different areas inside the image does display information on the right hand side). image

    This same visualization displays properly on the facets website https://pair-code.github.io/facets/. image

    Is there any additional setup I must complete to view the default sprite atlas?

    opened by dhaners 6
  • Updated colab_facets.ipynb to make the atlas_url and sprite feature work using base64 data url.

    Updated colab_facets.ipynb to make the atlas_url and sprite feature work using base64 data url.

    Problem: The atlas and sprite feature is missing in the current Colab notebook example. The atlas_url feature in the current Colab example didn't work directly using local files and regular url. There is no easy way to pass the image using atlas_url from Colab.

    Solution: The solution is to read image from the file and convert it into base64 string. Then create a base64 image url from the string and pass the base64 image url directly into atlas_url.

    Added new dive example showing the atlas_url and sprite feature. The notebook works in Colab and is able to show the visualizaiton properly.

    opened by jsiddique 5
  • HTML Imports is deprecated error still here!

    HTML Imports is deprecated error still here!

    image

    I was getting this error so I checked the sample: https://colab.research.google.com/github/PAIR-code/facets/blob/master/colab_facets.ipynb. it is still getting the error.

    I am on linux Ubuntu 18.04.5 LTS, Chrome Version 85.0.4183.121 (Official Build) (64-bit)

    The script is using:

    as recommended as the solution in https://github.com/PAIR-code/facets/issues/206 and https://github.com/PAIR-code/facets/issues/211

    opened by markddesimone 5
  • facets dive demo no longer builds

    facets dive demo no longer builds

    The facets dive demo no longer seems to build. Here is my best attempt in a Dockerfile:

    FROM ubuntu:focal
    
    RUN apt-get update && apt install -y apt-transport-https curl git gnupg
    
    RUN curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpg
    RUN mv bazel-archive-keyring.gpg /usr/share/keyrings
    RUN echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list
    
    RUN apt update && apt install -y bazel
    
    WORKDIR /opt
    
    RUN git clone https://github.com/PAIR-code/facets
    
    WORKDIR /opt/facets
    
    RUN bazel build //facets_dive/demo
    

    The result I see is:

    #13 70.61 WARNING: Download from https://zlib.net/zlib-1.2.11.tar.gz failed: class java.io.FileNotFoundException GET returned 404 Not Found
    #13 70.62 ERROR: An error occurred during the fetch of repository 'net_zlib':
    #13 70.62    Traceback (most recent call last):
    #13 70.62       File "/root/.cache/bazel/_bazel_root/f0edbeac36261ac6bdca9830d0450fbe/external/bazel_tools/tools/build_defs/repo/http.bzl", line 125, column 45, in _http_archive_impl
    #13 70.62               download_info = ctx.download_and_extract(
    #13 70.62 Error in download_and_extract: java.io.IOException: Error downloading [https://zlib.net/zlib-1.2.11.tar.gz] to /root/.cache/bazel/_bazel_root/f0edbeac36261ac6bdca9830d0450fbe/external/net_zlib/temp4907857517448745203/zlib-1.2.11.tar.gz: GET returned 404 Not Found
    
    opened by rmcloughlin 0
  • Support numpy >= 1.23

    Support numpy >= 1.23

    numpy.asscalar has been removed from Numpy in release 1.23.

    The function is called in:

    • facets_overview/python/base_generic_feature_statistics_generator.py
    • facets_overview/facets_overview/base_generic_feature_statistics_generator.py

    The guidance in the docs is to use numpy.ndarray.item() instead.

    opened by robmoore 0
  • Why the facets button size is too big to see (again)

    Why the facets button size is too big to see (again)

    I know this is a previous issue that was closed but I'm using the latest and I still have the oversized buttons. if I start a jupyter notebook the facet-dive html will load fine. Clear the output of that cell and re-run it and then the buttons blow up:

    Screen Shot 2021-10-05 at 9 59 45 PM

    opened by rayjennings3rd 2
  • How to save the tool outside the jupyter notebook so that the images appear on the display?

    How to save the tool outside the jupyter notebook so that the images appear on the display?

    Hello,

    I have doubts if it is possible to save the tool outside the jupyter notebook so that the images appear on the display. I can save in html format, but the images do not appear only the colored circles that are standard of the tool. Is it possible to resolve this for an image database? Below is an excerpt from my code that saves the display:

    #Displaythe Dive visualization for this data
    from IPython.core.display import display, HTML
    
    
    sprite_size = 32
    
    # Create Facets template
    HTML_TEMPLATE = """<script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js"></script>
    <link rel="import" href="https://raw.githubusercontent.com/PAIR-code/facets/1.0.0/facets-dist/facets-jupyter.html">
            <facets-dive sprite-image-width="{sprite_size}" sprite-image-height="{sprite_size}" id="elem" height="600" atlas-url="sprite_atlas.png"></facets-dive>
            <script>
              document.querySelector("#elem").data = {jsonstr};
            </script>"""
    
    html = HTML_TEMPLATE.format(jsonstr=jsonstr, sprite_size=sprite_size)
    
    
    # Display the template
    display(HTML(html))
    
    #save as html
    OUTPUT_PATH = './ISIC_2019_4.html'
    with open(OUTPUT_PATH,'w') as fo:
            fo.write(html)
    

    In general, I'm trying to host an instance of Facets Dive outside of a notebook to shared with other people that wanted to work with tool.

    I'm annexed the examples of display on jupyter and when it saved in html format

    Display on jupyter:

    Jupyter notebook

    Display save in html format:

    save_html

    Why don't the images appear? Has anyone had this problem or could you help me? Thanks :)

    opened by wesnasimone 4
  • ProtoFromDataFrames fails for dataframes with categorical columns

    ProtoFromDataFrames fails for dataframes with categorical columns

    When attempting to create the proto for facets-overview, if any of the columns are categorical, the operation will fail with an attribute error. I would expect it to properly parse the dataframe, treating the category dtype as a string and displaying it in the "Categorical Features" section in the same way.

    Below is example code to produce this error and the traceback:

    from facets_overview.generic_feature_statistics_generator import GenericFeatureStatisticsGenerator  
    import pandas as pd  
    df = pd.DataFrame({'col1': pd.Categorical(['a', 'b', 'c', 'a', 'b', 'c'])})  
    proto = GenericFeatureStatisticsGenerator().ProtoFromDataFrames([{'name': 'test', 'table': df}])
    
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File ".../facets_overview/base_generic_feature_statistics_generator.py", line 54, in ProtoFromDataFrames
        table_entries[col] = self.NdarrayToEntry(table[col])
      File ".../facets_overview/base_generic_feature_statistics_generator.py", line 119, in NdarrayToEntry
        data_type = self.DtypeToType(x.dtype)
      File ".../facets_overview/base_generic_feature_statistics_generator.py", line 66, in DtypeToType
        if dtype.char in np.typecodes['AllFloat']:
    AttributeError: 'CategoricalDtype' object has no attribute 'char'
    

    This is using facets-overview 1.0.0 and pandas 1.1.4.

    opened by ysayeed 6
Releases(1.0.0)
Owner
PAIR code
Code repositories for projects from the People+AI Research (PAIR) Initiative
PAIR code
Plot and save the ground truth and predicted results of human 3.6 M and CMU mocap dataset.

Visualization-of-Human3.6M-Dataset Plot and save the ground truth and predicted results of human 3.6 M and CMU mocap dataset. human-motion-prediction

Gaurav Kumar Yadav 5 Nov 18, 2022
Dimensionality reduction in very large datasets using Siamese Networks

ivis Implementation of the ivis algorithm as described in the paper Structure-preserving visualisation of high dimensional single-cell datasets. Ivis

beringresearch 284 Jan 01, 2023
Sprint planner considering JIRA issues and google calendar meetings schedule.

Sprint planner Sprint planner is a Python script for planning your Jira tasks based on your calendar availability. Installation Use the package manage

Apptension 2 Dec 05, 2021
A Python Library for Self Organizing Map (SOM)

SOMPY A Python Library for Self Organizing Map (SOM) As much as possible, the structure of SOM is similar to somtoolbox in Matlab. It has the followin

Vahid Moosavi 497 Dec 29, 2022
阴阳师后台全平台(使用网易 MuMu 模拟器)辅助。支持御魂,觉醒,御灵,结界突破,秘闻副本,地域鬼王。

阴阳师后台全平台辅助 Python 版本:Python 3.8.3 模拟器:网易 MuMu | 雷电模拟器 模拟器分辨率:1024*576 显卡渲染模式:兼容(OpenGL) 兼容 Windows 系统和 MacOS 系统 思路: 利用 adb 截图后,使用 opencv 找图找色,模拟点击。使用

简讯 27 Jul 09, 2022
Machine learning beginner to Kaggle competitor in 30 days. Non-coders welcome. The program starts Monday, August 2, and lasts four weeks. It's designed for people who want to learn machine learning.

30-Days-of-ML-Kaggle 🔥 About the Hands On Program 💻 Machine learning beginner → Kaggle competitor in 30 days. Non-coders welcome The program starts

Roja Achary 145 Jan 01, 2023
Tidy data structures, summaries, and visualisations for missing data

naniar naniar provides principled, tidy ways to summarise, visualise, and manipulate missing data with minimal deviations from the workflows in ggplot

Nicholas Tierney 611 Dec 22, 2022
An XLSX spreadsheet renderer for Django REST Framework.

drf-renderer-xlsx provides an XLSX renderer for Django REST Framework. It uses OpenPyXL to create the spreadsheet and returns the data.

The Wharton School 166 Dec 01, 2022
A filler visualizer built using python

filler-visualizer 42 filler のログをビジュアライズしてスポーツさながら楽しむことができます! Usage (標準入力でvisualizer.pyに渡せばALL OK) 1. 既にあるログをビジュアライズする $ ./filler_vm -t 3 -p1 john_fill

Takumi Hara 1 Nov 04, 2021
This is simply repo for line drawing rendering using freestyle in Blender.

blender_freestyle_line_drawing This is simply repo for line drawing rendering using freestyle in Blender. how to use blender2935 --background --python

MaxLin 3 Jul 02, 2022
Some method of processing point cloud

Point-Cloud Some method of processing point cloud inversion the completion pointcloud to incomplete point cloud Some model of encoding point cloud to

Tan 1 Nov 19, 2021
CompleX Group Interactions (XGI) provides an ecosystem for the analysis and representation of complex systems with group interactions.

XGI CompleX Group Interactions (XGI) is a Python package for the representation, manipulation, and study of the structure, dynamics, and functions of

Complex Group Interactions 67 Dec 28, 2022
Use Perspective to create the chart for the trader’s dashboard

Task Overview | Installation Instructions | Link to Module 3 Introduction Experience Technology at JP Morgan Chase Try out what real work is like in t

Abdulazeez Jimoh 1 Jan 22, 2022
Debugging, monitoring and visualization for Python Machine Learning and Data Science

Welcome to TensorWatch TensorWatch is a debugging and visualization tool designed for data science, deep learning and reinforcement learning from Micr

Microsoft 3.3k Dec 27, 2022
Simple Python interface for Graphviz

Simple Python interface for Graphviz

Sebastian Bank 1.3k Dec 26, 2022
High-level geospatial data visualization library for Python.

geoplot: geospatial data visualization geoplot is a high-level Python geospatial plotting library. It's an extension to cartopy and matplotlib which m

Aleksey Bilogur 1k Jan 01, 2023
股票行情实时数据接口-A股,完全免费的沪深证券股票数据-中国股市,python最简封装的API接口

股票行情实时数据接口-A股,完全免费的沪深证券股票数据-中国股市,python最简封装的API接口,包含日线,历史K线,分时线,分钟线,全部实时采集,系统包括新浪腾讯双数据核心采集获取,自动故障切换,STOCK数据格式成DataFrame格式,可用来查询研究量化分析,股票程序自动化交易系统.为量化研究者在数据获取方面极大地减轻工作量,更加专注于策略和模型的研究与实现。

dev 572 Jan 08, 2023
This component provides a wrapper to display SHAP plots in Streamlit.

streamlit-shap This component provides a wrapper to display SHAP plots in Streamlit.

Snehan Kekre 30 Dec 10, 2022
Lightweight data validation and adaptation Python library.

Valideer Lightweight data validation and adaptation library for Python. At a Glance: Supports both validation (check if a value is valid) and adaptati

Podio 258 Nov 22, 2022
3D rendered visualization of the austrian monuments registry

Visualization of the Austrian Monuments Visualization of the monument landscape of the austrian monuments registry (Bundesdenkmalamt Denkmalverzeichni

Nikolai Janakiev 3 Oct 24, 2019