Skip to main content

🦈 SharkPy

A friendly machine learning framework with shark-themed feedback! SharkPy simplifies the machine learning workflow while making it fun and educational.

Features

  • Model Battle Arena: Compare multiple models automatically
  • Smart Reporting: Generate reports in TXT, PDF, and DOCX formats
  • Interactive Visualization: Beautiful plots with shark-themed styling
  • Model Explanations: Clear explanations of model behavior
  • Automated Optimization: Hyperparameter tuning with Optuna
  • Shapash Integration: Interactive dashboards for model interpretation

Quick Start

Installation

# Basic installation
pip install sharkpy

# Full installation (includes LightGBM and CatBoost)
pip install sharkpy[full]

# Development installation
pip install sharkpy[dev]

Basic Usage

from sharkpy import Shark
import pandas as pd

# Create a Shark instance
shark = Shark()

# Load your data
data = pd.read_csv('your_data.csv')

# Train a model
shark.learn(
    data=data,
    target='target_column',
    model_choice='random_forest'
)

# Make predictions
predictions = shark.predict(new_data)

# Generate reports
shark.report(export_path='report.pdf', format='pdf')

Model Battle Example

# Define models to compete
models = [
    'linear_regression',
    'random_forest',
    'xgboost',
    'lightgbm',
    'catboost'
]

# Let them battle!
battle_results = shark.battle(
    data=data,
    target='target_column',
    models=models,
    metric='r2'
)

# Get the champion
print(f"Winner: {battle_results['champion']}")
print(f"Score: {battle_results['score']:.4f}")

Supported Models

  • Linear Regression
  • Logistic Regression
  • Random Forest
  • Support Vector Machines
  • Ridge Regression
  • Lasso Regression
  • K-Nearest Neighbors
  • XGBoost
  • LightGBM (with full installation)
  • CatBoost (with full installation)

Reports

SharkPy can generate comprehensive reports in multiple formats:

# Text report
shark.report(export_path='report.txt', format='txt')

# PDF report (requires MS Word or LibreOffice)
shark.report(export_path='report.pdf', format='pdf')

# Word document
shark.report(export_path='report.docx', format='docx')

Visualizations

# Prediction plot
shark.plot(kind="prediction")

# Feature importance
shark.plot(kind="feature_importance")

# Interactive Shapash dashboard
shark.explain_with_shapash()

Model Explanations

# Get friendly explanations of your model
shark.explain()

# Create interactive Shapash dashboard
shark.explain_with_shapash(title_story="My Analysis")

Save & Load Models

# Save your model
shark.save_model(name="my_model")

# Load a saved model
shark.load_model("models/my_model.joblib")

Development

# Install development dependencies
pip install sharkpy[dev]

# Run tests
pytest

# Format code
black sharkpy/

Documentation

Full documentation is available at sharkpy.readthedocs.io

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Built with scikit-learn, XGBoost, and other amazing open-source tools
  • Inspired by making machine learning more accessible and fun

Contact


Made with 🦈 by SharkPy Team

Metadata

Release files for sharkpy 1.0.1

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

Source distribution (sdist)

Source distribution for sharkpy 1.0.1
File Size Uploaded
sharkpy-1.0.1.tar.gz 2.4 MB Details

Built distribution (wheel)

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

Total release size: 2.4 MB

Release files / sharkpy-1.0.1.tar.gz

Download URL sharkpy-1.0.1.tar.gz
Size 2.4 MB
Tags Source
SHA-256 checksum
How to use checksums
e0bdfecaa6defc9d30f400b6e597ce0bac442f15a00a5ca09d86150e39c4785a
BLAKE2b-256 checksum
How to use checksums
ded05dace448b2a53be080d4d8d8b98939c448ddd96865658934e1d34ce31db7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.4

Release files / sharkpy-1.0.1-py3-none-any.whl

Download URL sharkpy-1.0.1-py3-none-any.whl
Size 35.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
923c349712e5bf36d14ab8d700513c7a79146279aa0908d9ca5e9d7feda3f14e
BLAKE2b-256 checksum
How to use checksums
fa728b7da07b6e50f901913967fc3c81e9dbcc60f9f1230118a40545fe328f55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

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