Skip to main content

An implementation of Skope Rules for binary classification and regression using PySpark

Project description

Skope Rules PySpark

Ce package fournit une implémentation de Skope Rules pour la classification binaire en utilisant PySpark. Il permet de générer des règles de décision à partir d'un ensemble de données d'entraînement.

Installation

pip install skope-rules-pyspark

Utilisation

Exemple simple

from pyspark.sql import SparkSession
from skope_rules_pyspark import SkopeRulesPySpark

# Initialiser une session Spark
spark = SparkSession.builder.appName("SkopeRulesExample").getOrCreate()

# Charger les données d'entraînement
train_data = spark.read.csv("path/to/train_data.csv", header=True, inferSchema=True)

# Initialiser et entraîner le modèle
model = SkopeRulesPySpark()
model.fit(train_data, target_col="target")

# Générer les règles
rules = model.generate_rules()
print(rules)

Exemple complet

from pyspark.sql import SparkSession
from skope_rules_pyspark import SkopeRulesPySpark

# Initialiser une session Spark
spark = SparkSession.builder.appName("SkopeRulesExample").getOrCreate()

# Charger les données d'entraînement
train_data = spark.read.csv("path/to/train_data.csv", header=True, inferSchema=True)

# Initialiser et entraîner le modèle
model = SkopeRulesPySpark()
model.fit(train_data, target_col="target")

# Générer les règles
rules = model.generate_rules()
print(rules)

# Prédire sur de nouvelles données
test_data = spark.read.csv("path/to/test_data.csv", header=True, inferSchema=True)
predictions = model.predict(test_data)
print(predictions)

Fonctionnalités

  • Génération de règles de décision pour la classification binaire
  • Utilisation de PySpark pour le traitement de données à grande échelle
  • Compatible avec les versions récentes de PySpark (>=3.0.0)

Dépendances

  • pyspark>=3.0.0
  • numpy>=1.21.6

Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

Auteur

Mickael Assaraf - mickael.assaraf@gmail.com

Liens

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/
    

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

skope_rules_pyspark-0.1.2.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

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

skope_rules_pyspark-0.1.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file skope_rules_pyspark-0.1.2.tar.gz.

File metadata

  • Download URL: skope_rules_pyspark-0.1.2.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for skope_rules_pyspark-0.1.2.tar.gz
Algorithm Hash digest
SHA256 35c2d239b8d4f5cf56a25d0f925a0d41f363b7b57c3952c5ea03d08fef1031f3
MD5 4b8e6d7a919e14c3d856b7851fb9a448
BLAKE2b-256 d7216488d0326fadef4be36fbbdd29892de58b7cc63fd0412bb593f4d7cefc69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for skope_rules_pyspark-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3ca91b0431092cc16ecfc317b824cddd3e053dfdd6f5e409f62365d147db57c9
MD5 2bc9ba463d271a9d8231c655154c9a10
BLAKE2b-256 7d97a06e6f86604cff36a700b15ca82c3cddbdbff08827adbce491f308398d46

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