fraud-detector / check_sklearn_version.py
MyNameIsTatiBond's picture
Deploy: Updated app with VotingEnsemble and added models via LFS
09ca083
import joblib
import os
import sys
from sklearn.base import is_classifier
models_dir = "models"
files = [
"best_tree_models_calibrated.joblib",
"best_tree_models_uncalibrated.joblib"
]
print(f"Checking models in {models_dir}...")
for f in files:
path = os.path.join(models_dir, f)
try:
models = joblib.load(path)
if isinstance(models, dict) and 'Trees' in models:
xgb_model = models['Trees'].get('XGBoost')
if xgb_model:
print(f"\n--- {f} XGBoost Analysis ---")
print(f"Type: {type(xgb_model)}")
# Check sklearn version
if hasattr(xgb_model, '_sklearn_version'):
print(f"Sklearn Ver: {xgb_model._sklearn_version}")
# Check classifier status
print(f"is_classifier(model): {is_classifier(xgb_model)}")
# Check Pipeline internals
if hasattr(xgb_model, 'steps'):
print("Pipeline Steps:")
for name, step in xgb_model.steps:
print(f" - {name}: {type(step).__name__}")
if hasattr(step, '_sklearn_version'):
print(f" Step Sklearn Ver: {step._sklearn_version}")
if hasattr(step, '__class__'):
print(f" is_classifier(step): {is_classifier(step)}")
except Exception as e:
print(f"Error loading {f}: {e}")