Evaluation Tools Module#
The ex_fuzzy.eval_tools module provides evaluation and analysis tools for fuzzy classification models.
Overview#
This module includes performance metrics, statistical analysis, and model evaluation tools specifically designed for fuzzy rule-based systems.
Classes#
Main Function#
Model Evaluation#
Core Class#
FuzzyEvaluator#
Examples#
Basic Model Evaluation#
import ex_fuzzy.eval_tools as et
from ex_fuzzy.classifiers import RuleMineClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# Load data and train classifier
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
classifier = RuleMineClassifier(nRules=15, nAnts=3, verbose=True)
classifier.fit(X_train, y_train)
# Comprehensive evaluation
report = et.eval_fuzzy_model(
fl_classifier=classifier,
X_train=X_train,
y_train=y_train,
X_test=X_test,
y_test=y_test,
plot_rules=True,
plot_partitions=True,
bootstrap_results_print=True
)
print(report)
Using FuzzyEvaluator Class#
# Create evaluator
evaluator = et.FuzzyEvaluator(classifier)
# Get predictions
y_pred = evaluator.predict(X_test)
# Get specific metrics
accuracy = evaluator.get_metric('accuracy_score', X_test, y_test)
f1_score = evaluator.get_metric('f1_score', X_test, y_test, average='macro')
print(f"Accuracy: {accuracy:.3f}")
print(f"F1-score: {f1_score:.3f}")
# Detailed evaluation
evaluator.eval_fuzzy_model(
X_train, y_train, X_test, y_test,
plot_rules=True,
print_rules=True,
plot_partitions=True
)
See Also#
ex_fuzzy.classifiers: Fuzzy classification algorithmsex_fuzzy.vis_rules: Rule visualization utilitiessklearn.metrics: Standard classification metrics