modelviz - Python package to make visualizations a breeze
modelviz is a Python package designed for comprehensive and customizable data visualization and model evaluation. With modules for visualizing relationships, confusion matrices, ROC curves, data distributions, and handling missing values, modelviz simplifies exploratory data analysis (EDA) and model performance evaluation.
Installation
Install modelviz via pip:
pip install modelviz
Features
1. Confusion Matrix (confusion_matrix.py)
- Visualize Confusion Matrices:
- Supports both binary and multi-class confusion matrices.
- Displays proportions, TP, FP, FN, and TN labels.
- Includes detailed metrics like Accuracy, Precision, Recall, F1 Score, MCC, and Cohen's Kappa.
- Option to normalize the confusion matrix.
Example Usage:
from modelviz.confusion_matrix import plot_confusion_matrix
import numpy as np
cm = np.array([[50, 10], [5, 35]]) # Binary confusion matrix
classes = ["Negative", "Positive"]
plot_confusion_matrix(cm, classes, "Logistic Regression")
2. Histogram (histogram.py)
- Feature Histograms:
- Automatically generate histograms for all numeric columns in a pandas DataFrame.
- Skip binary columns for cleaner visualizations.
- Customize bins, colors, and titles.
Example Usage:
from modelviz.histogram import plot_feature_histograms
import pandas as pd
df = pd.DataFrame({
'Age': [25, 30, 35, 40],
'Income': [40000, 50000, 60000, 70000],
'Gender': [0, 1, 0, 1]
})
plot_feature_histograms(df, exclude_binary=True, bins=10, color='blue')
3. ROC Curve (roc.py)
- ROC Curve Visualization:
- Plot Receiver Operating Characteristic (ROC) curves.
- Highlight thresholds like Youden's J and adjusted thresholds.
- Display key metrics like AUC (Area Under Curve).
Example Usage:
from modelviz.roc import plot_roc_curve_with_youdens_thresholds
fpr = [0.0, 0.1, 0.2, 0.3]
tpr = [0.0, 0.4, 0.6, 1.0]
thresholds = [1.0, 0.8, 0.5, 0.2]
plot_roc_curve_with_youdens_thresholds(fpr, tpr, thresholds, roc_auc=0.85, model_name="My Model")
4. Relationships (relationships.py)
- Correlation Matrix:
- Generate and visualize correlation matrices for numeric features.
- Customize heatmaps with annotations, colormap, and figure size.
Example Usage:
from modelviz.relationships import plot_correlation_matrix
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [4, 3, 2, 1],
'C': [5, 6, 7, 8]
})
plot_correlation_matrix(df, method='pearson')
5. K-Fold Visualization (kfold.py)
- Visualize K-Fold Splits:
- Display data distribution across training and validation sets for K-Fold Cross-Validation.
- Easy visualization for understanding fold assignments.
6. Handling Missing Values (missvals.py)
- Missing Value Analysis:
- Visualize missing data in a DataFrame.
- Quickly identify patterns and percentage of missing values.
7. Model Evaluation (model_eval.py)
- Aggregate Model Metrics:
- Summarize key evaluation metrics for multiple models.
- Compare performance across models.
Importing the Package
Each module in the package is designed to be imported separately. For example:
from modelviz.confusion_matrix import plot_confusion_matrix
from modelviz.histogram import plot_feature_histograms
from modelviz.roc import plot_roc_curve_with_youdens_thresholds
Contributing
Contributions are welcome! If you have suggestions or new feature ideas, feel free to open an issue or create a pull request on GitHub.
Metadata
Release files for modelviz 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| modelviz-3.0.1.tar.gz | 31.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| modelviz-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.3 kB
Release files / modelviz-3.0.1.tar.gz
| Download URL | modelviz-3.0.1.tar.gz |
|---|---|
| Size | 31.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7810b123acaaf3d36e5c7b378ebdd8fefa1b1ce92d5ab9f518f4c46bbbd9fc68
|
|
BLAKE2b-256 checksum How to use checksums |
a3ac365136e794a9346263862fa61f052d90f7385eff08bc4c17030969eaa9f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|
Release files / modelviz-3.0.1-py3-none-any.whl
| Download URL | modelviz-3.0.1-py3-none-any.whl |
|---|---|
| Size | 38.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c0dbf3c20000cdcf78f2d253821da7011534a01ad4e96ad2a162f2956c5db6f1
|
|
BLAKE2b-256 checksum How to use checksums |
51ca83e6e25ea78445c7a4784c6439fe73cae765dd8097afc3fc99459346fb17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|