Skip to main content

Quick-Show

Quick-Show Pypi Version Contributor Covenant Python Version Code convention

Quick-Show helps you draw plots quickly and easily.
It is an abstraction using popular libraries such as Scikit-Learn and MatPlotLib, thus it is very light and convenient.

Note: Quick-Show is sub-modules of other packages to manage quickshow more lightly and use more widly. This is a project under development. With the end of the project, I plan to provide documents in major version 1 and sphinx. It is NOT recommended to use prior to major version 1.



Installation

$ pip install quickshow

Tutorial

  1. Main-tutorials: https://github.com/DSDanielPark/quick-show/blob/main/tutorial/tutorial.ipynb
  2. Sub-tutorial-folder: Tutorials for each function can be found in this folder. The tutorial is synchronized with the Python file name provided by QuickShow.

Features

2D or 3D t-SNE and PCA plots using specific columns of a refined dataframe. Create a scatter plot very quickly and easily by inputting a clean dataframe and column names that do not have missing data.

  1. vis_tsne2d: Simple visuallization of 2-dimensional t-distributed stochastic neighbor embedding
  2. vis_tsne3d: Simple visuallization of 3-dimensional t-distributed stochastic neighbor embedding
  3. vis_pca: Simple visuallization of Principal Component Analysis (PCA)

Later these functions are encapsulated into classes.

  1. vis_cm: Visuallization heatmap of confusion_matrix and return classification report dataframe.
  2. get_total_cr_df: When the confusion matrix dataframe created by the vis_cm function is saved as csv, the directory of the folder where these csv files exist is received as input and the confusion matrices of all csv files are merged into a single data frame.
  3. vis_multi_plot: It takes the return dataframe of get_total_cr_df as input and draws a nice plot. However, if you want to use this function, please note that the suffix of the multiple csv files input to get_total_cr_df must be exp and an integer, such as exp3, and the integers must be contiguous.

  1. vis_cluster_plot: Produces a plot to see how spread out the actual label values ​​are within the clusters.

4 Utils

  1. find_all_files: If you enter the top folder path as an auxiliary function, it returns a list of files including keywords while recursively searching subfolders. This is implemented with the glob package.
  2. rcparam: It simply shows some rcparams method in matploblib. Check by calling qs.rcparam?



Examples

Feature 1

See example dataframe...
import pandas as pd
df = pd.DataFrame([3,2,3,2,3,3,1,1])
df['val'] = [np.array([np.random.randint(0,10000),np.random.randint(0,10000),np.random.randint(0,10000)]) for x in df[0]]
df.columns = ['labels', 'values']
print(df)
labels values
0 3 [8231 3320 6894]
1 2 [3485 7 7374]
... ... ...
6 1 [5218 9846 2488]
7 1 [6661 5105 136]
from quickshow import vis_tsne2d, vis_tsne3d, vis_pca

return_df = vis_tsne2d(df, 'values', 'labels', True, './save/fig1.png')
return_df = vis_tsne3d(df, 'values', 'labels', True, './save/fig2.png')
return_df = vis_pca(df, 'values', 'labels', 2, True, './save/fig3.png')
return_df = vis_pca(df, 'values', 'labels', 3, True, './save/fig4.png')

  • All function returns the dataframe which used to plot. Thus, use the returned dataframe object to customize your plot. Or use matplotlib's rcparam methods.
  • If the label column does not exist, simply enter None as an argument.
  • For more details, please check doc string.

Feature 2

See example dataframe...
import pandas as pd
label_list, num_rows = ['cat', 'dog', 'horse', 'dorphin'], 300
df = pd.DataFrame([label_list[np.random.randint(4)] for _ in range(num_rows)], columns=['real'])
df['predicted'] = [label_list[np.random.randint(4)] for _ in range(num_rows)]  
print(df)
real predicted
0 cat cat
1 horse cat
... ... ...
7 horse dog
299 dorphin horse
from quickshow import vis_cm

df_cr, cm = vis_cm(df, 'real', 'predicted', 'vis_cm.csv', 'vis_cm.png')
print(df_cr)
cat dog dorphin horse accuracy macro avg weighted avg
precision 0.304878 0.344828 0.285714 0.276316 0.3 0.302934 0.304337
recall 0.328947 0.246914 0.328767 0.3 0.3 0.301157 0.3
f1-score 0.316456 0.28777 0.305732 0.287671 0.3 0.299407 0.299385
support 76 81 73 70 0.3 300 300

confusion matirx will be shown as below.

  • This function return pandas.DataFrame obejct of classification report and confusion metix as shown below.


Use Case

[1] Korean-news-topic-classification-using-KO-BERT: all plots were created through Quick-Show.

References

[1] Scikit-Learn https://scikit-learn.org
[2] Matplotlib https://matplotlib.org/

Contacts

Maintainers: Daniel Park, South Korea e-mail parkminwoo1991@gmail.com




Could you kindly add this badge to your repository? Thank you!

![Quick-Show](https://img.shields.io/badge/pypi-quickshow-blue)

Metadata

Release files for quickshow 0.1.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quickshow 0.1.14
File Size Uploaded
quickshow-0.1.14.tar.gz 12.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quickshow 0.1.14
File Interpreter ABI Platform
quickshow-0.1.14-py3-none-any.whl Python 3 none any Details

Total release size: 25.8 kB

Release files / quickshow-0.1.14.tar.gz

Download URL quickshow-0.1.14.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d1824364dcc23e822930a569965df0470a2079e081fd2bce2d316b87bba07205
BLAKE2b-256 checksum
How to use checksums
ab3b4e05e6d0dca97ed2e835229d1055e08da302c7a6c5c13432d42d6592f8c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.25.1 requests-toolbelt/0.10.1 urllib3/1.26.4 tqdm/4.64.1 importlib-metadata/4.6.4 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.7

Release files / quickshow-0.1.14-py3-none-any.whl

Download URL quickshow-0.1.14-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b549c0d9ec9351526794e0e3aaec73eb26878c2fb6405e6218cc14332924e37
BLAKE2b-256 checksum
How to use checksums
2910262755db60d311a7e168ccc3eeada7e61a7589704dccd762f92becf385a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.25.1 requests-toolbelt/0.10.1 urllib3/1.26.4 tqdm/4.64.1 importlib-metadata/4.6.4 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.7

Release history Release notifications | RSS feed

This release

0.1.14 This release

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

3 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page