Skip to main content

Pretty Confusion matrix drawer, prettier than matplotlib

Project description

Pretty Confusion Matrix

🤔 Why pretty confusion matrix?

  • We can make confusion matrix by using matplotlib.
  • However it is not so pretty. I want to make confusion matrix prettier.
  • Also, it is not easy to use. It is easy to draw confusion matrix.

Design Contributors

Code Contributors

📥 How to Install?

pip install prettycm

🗞 Full Code Example

from prettycm import confusion_matrix
from prettycm import palette

# Define confusion matrix 
cm = confusion_matrix([[400,0,0,0],[0,156,8,14],[0,18,131,30],[0,60,28,75]])
cm.set_classname(["Acute", "Non-resolving","Normal","Inactive"])
cm.set_title("Retinal Specialist2")

# Define Palette and draw
pset = palette()
pset.draw(cm, "place_to_save.png")

📦 Result of generated confusion matrix

generated-confusion-matrix

📰 How to Use?

1. import package from prettycm

from prettycm import confusion_matrix
from prettycm import palette

2. build confusion matrix object

cm = confusion_matrix([[400,0,0,0],[0,156,8,14],[0,18,131,30],[0,60,28,75]])
cm.set_classname(["Acute", "Non-resolving","Normal","Inactive"]) # You can set the class name.
cm.set_title("Retinal Specialist2") # You can set the title.
  • the input of the confusion_matrix must be two-dimensional array
  • Python list or numpy array are both allowed
  • You can set the name of the class and title.

3. define palette object

pset = palette(size=5, color="blue")
  • size = the quality and size of output confusion matrix image
  • color = the color of confusion matrix. (Now only blue is supported)
  • Both parameters are not needed. size 5, color blue is defaultly set.

4. draw confusion matrix and save

pset.draw(confusion_matrix=cm, path="place_to_save.png")
  • confusion_matrix: put confusion matrix object
  • path: path to save

Done

5. Generate Confusion matrix object by confusion_matrix_by_cal

  • You can also generate confusion matrix object by y_pred, y_true.

6. Special Printer of Confusion Matrix

print(cm)
  • When you print confusion_matrix object, than python will print the confusion matrix like below
cli

7. Custom Your own color presets

from prettycm import palette
from prettycm.presets import preset_meta

class custom_green(preset_meta):
    def __init__(self, max_num):
        colors_rgb = [(204,244,202),(10,30,12)]
        super().__init__(max_num,colors_rgb)

pset = palette(size=5, color=custom_green)
  • You can customize your own color preset
  • Make your own class and inherit prettycm.presets.preset_meta
  • And You have to write custom object same as this.
  • colors_rgb consists of two 'tuple', which is brightest color RGB and darkest color RGB.
  • Other colors will automatically be calculated by preset_meta object.

📆 Update Plans

1. More color presets

  • Blue (👍 Best)
  • Red
  • Green
  • Purple
  • Custom Preset

2. Confusion matrix concat

  • Concat two confusion matrix

3. Pallet Function

  • Text Size control
  • Cleaning the code

🙏🏻 PLEASE Contribute to this project

  1. Pull requests after you modify code.
  2. Make more color presets.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prettycm-1.2.8.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

prettycm-1.2.8-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file prettycm-1.2.8.tar.gz.

File metadata

  • Download URL: prettycm-1.2.8.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.9

File hashes

Hashes for prettycm-1.2.8.tar.gz
Algorithm Hash digest
SHA256 19a86d036e26d4626938c3bedc72e2459e1af94060d7f0d00f6660fd22388ac1
MD5 f94d28a3c8f5b803da927604931d0294
BLAKE2b-256 75c1a0486077b7d7af427a40a8a478c049190dbcbe80bfe78fb19f508401097b

See more details on using hashes here.

File details

Details for the file prettycm-1.2.8-py3-none-any.whl.

File metadata

  • Download URL: prettycm-1.2.8-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.9

File hashes

Hashes for prettycm-1.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a53fe189b386a4449145a63ab737c522a4a49c1297c64e9d8f8f8a99d149d2a4
MD5 338e0dbf24de2ff5fc0935ddbe466cac
BLAKE2b-256 2897aa1514d0810afb6e52009b8b44bceceed54af4532916755efa26b306ba1b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page