Skip to main content

An implementation of Skope Rules for binary classification using PySpark

Project description

Skope Rules PySpark

Une implémentation PySpark de Skope Rules pour la classification binaire.

Installation

pip install skope-rules-pyspark

Utilisation

from pyspark.sql import SparkSession
from skope_rules_pyspark import SkopeRulesPySpark

# Créer une session Spark
spark = SparkSession.builder \
    .appName("SkopeRulesPySparkExample") \
    .master("local[2]") \
    .getOrCreate()

# Créer un DataFrame d'exemple
data = [
    (1.0, 2.0, 3.0, 1),
    (1.0, 2.0, 1.0, 1),
    (4.0, 5.0, 6.0, 0),
    (4.0, 2.0, 3.0, 0),
    (1.0, 5.0, 3.0, 1),
    (4.0, 5.0, 1.0, 0),
]

df = spark.createDataFrame(data, ["feature1", "feature2", "feature3", "label"])

# Initialiser et entraîner le modèle
skope = SkopeRulesPySpark(
    feature_names=["feature1", "feature2", "feature3"],
    precision_min=0.5,
    recall_min=0.1,
    n_estimators=2,
    max_depth=2
)

skope.fit(df)

# Obtenir les règles générées
rules = skope.get_rules()
for rule, (precision, recall, nb) in rules.items():
    print(f"{rule} | precision={precision:.2f} | recall={recall:.2f} | nb={nb}")

# Faire des prédictions
predictions = skope.predict(df)
predictions.show()

Paramètres

  • feature_names : Liste des noms des colonnes à utiliser comme features
  • precision_min : Précision minimale requise pour une règle (défaut: 0.5)
  • recall_min : Rappel minimal requis pour une règle (défaut: 0.01)
  • n_estimators : Nombre d'arbres de décision à entraîner (défaut: 10)
  • max_depth : Profondeur maximale des arbres (défaut: 3)
  • max_features : Nombre maximum de features à considérer (défaut: 1.0)
  • min_samples_split : Nombre minimum d'échantillons requis pour diviser un nœud (défaut: 2)
  • random_state : Seed pour la reproductibilité (défaut: None)

Méthodes

  • fit(df) : Entraîne le modèle sur un DataFrame PySpark
  • predict(df) : Retourne les prédictions pour un DataFrame
  • transform(df) : Applique les règles et retourne le DataFrame avec les prédictions
  • get_rules() : Retourne les règles générées avec leurs métriques

Développement

  1. Cloner le repository
  2. Installer les dépendances de développement :
    pip install -e ".[dev]"
    
  3. Lancer les tests :
    pytest tests/
    

Licence

MIT

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skope_rules_pyspark-0.1.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file skope_rules_pyspark-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for skope_rules_pyspark-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e84da3ab2236f1247c4a2382b4d4e5cf6c21837099e520c1ada638e5efe4e3d8
MD5 17901ab1b359da0ff7dad9d52cb682f7
BLAKE2b-256 a6a66f76a96571bbd5573d9cdfa6f42d7c6b622515972ac37fb1f051a0c82598

See more details on using hashes here.

Supported by

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