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 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/
Licence
MIT
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
skope_rules_pyspark-0.1.0.tar.gz
(13.8 kB
view details)
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.0.tar.gz.
File metadata
- Download URL: skope_rules_pyspark-0.1.0.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
461d8a4321e5c40bc6c8ed04cb335776c8cac25b996501ad52c74aadd4dbff14
|
|
| MD5 |
187730d44e1b5d82a818f073b58a5289
|
|
| BLAKE2b-256 |
8e04a47225b044c5ad36b9aefdb8ce2b2288d8297a9b644a8fab7d3026985028
|
File details
Details for the file skope_rules_pyspark-0.1.0-py3-none-any.whl.
File metadata
- Download URL: skope_rules_pyspark-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c39d249ff6d5f56e743b72ff57094da9d4c4a141352115c628fcf6614cefbefd
|
|
| MD5 |
31c192713b7817fe71fbd1a094333f65
|
|
| BLAKE2b-256 |
5399106ed84ef20d258666f8ac8a4be87b288055541935b7ffbff51a1e000f56
|