Pretty Confusion matrix drawer, prettier than matplotlib


License
MIT
Install
pip install prettycm==1.2.9

Documentation

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.