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 featuresprecision_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 PySparkpredict(df): Retourne les prédictions pour un DataFrametransform(df): Applique les règles et retourne le DataFrame avec les prédictionsget_rules(): Retourne les règles générées avec leurs métriques
Développement
- Cloner le repository
- Installer les dépendances de développement :
pip install -e ".[dev]"
- Lancer les tests :
pytest tests/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35c2d239b8d4f5cf56a25d0f925a0d41f363b7b57c3952c5ea03d08fef1031f3
|
|
| MD5 |
4b8e6d7a919e14c3d856b7851fb9a448
|
|
| BLAKE2b-256 |
d7216488d0326fadef4be36fbbdd29892de58b7cc63fd0412bb593f4d7cefc69
|
File details
Details for the file skope_rules_pyspark-0.1.2-py3-none-any.whl.
File metadata
- Download URL: skope_rules_pyspark-0.1.2-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ca91b0431092cc16ecfc317b824cddd3e053dfdd6f5e409f62365d147db57c9
|
|
| MD5 |
2bc9ba463d271a9d8231c655154c9a10
|
|
| BLAKE2b-256 |
7d97a06e6f86604cff36a700b15ca82c3cddbdbff08827adbce491f308398d46
|