Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import joblib | |
| from sklearn.model_selection import train_test_split | |
| from src.config import BASE_DATASET_PATH, META_MODEL_PATH | |
| # Load dataset | |
| df = pd.read_csv(BASE_DATASET_PATH) | |
| # Features | |
| feature_columns = [ | |
| "vader_pred", | |
| "vader_score", | |
| "lr_pred", | |
| "lr_confidence", | |
| "bert_pred", | |
| "bert_confidence", | |
| "bert_entropy", | |
| "vader_lr_disagreement", | |
| "lr_bert_disagreement", | |
| "vader_bert_disagreement", | |
| "has_negative_intensifier" | |
| ] | |
| # Target | |
| y = df["bert_failed"] | |
| # Split while preserving original rows | |
| train_df, test_df = train_test_split( | |
| df, | |
| test_size=0.2, | |
| random_state=42 | |
| ) | |
| # Test features | |
| X_test = test_df[feature_columns] | |
| # True labels | |
| y_test = test_df["bert_failed"] | |
| # Load model | |
| meta_model = joblib.load(META_MODEL_PATH) | |
| # Predictions | |
| y_pred = meta_model.predict(X_test) | |
| print("\nCorrectly Predicted Failures:\n") | |
| count = 0 | |
| for i in range(len(y_test)): | |
| if y_test.iloc[i] == 1 and y_pred[i] == 1: | |
| row = test_df.iloc[i] | |
| print("=" * 60) | |
| print("TEXT:\n") | |
| print(row["text"]) | |
| print("\nTRUE LABEL:", row["true_label"]) | |
| print("BERT PREDICTION:", row["bert_pred"]) | |
| print("BERT CONFIDENCE:", | |
| row["bert_confidence"]) | |
| print("BERT ENTROPY:", | |
| row["bert_entropy"]) | |
| print("META-MODEL WARNING: FAILURE DETECTED") | |
| print("=" * 60) | |
| count += 1 | |
| if count == 5: | |
| break |