File size: 3,117 Bytes
234347f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

---
tags:
- tabular-classification
- scikit-learn
- xgboost
metrics:
- accuracy
- f1
- precision
- recall
model-index:
- name: XGBoost Predictive Maintenance Model
  results:
    - task:
        type: tabular-classification
        name: Tabular Classification
      dataset:
        name: Engine Sensor Data
        type: custom
      metrics:
        - type: accuracy
          value: 0.6647
        - type: precision
          value: 0.6479
        - type: recall
          value: 0.6647
        - type: f1
          value: 0.6358
---
# XGBoost Predictive Maintenance Model

This model is an XGBoost Classifier trained to predict engine condition (healthy or failing) based on sensor data. It's part of a predictive maintenance system.

## Model Details

-   **Model Type:** XGBoost Classifier
-   **Task:** Binary Classification (Engine Condition: 0 = Healthy, 1 = Failing)
-   **Best Parameters (from GridSearchCV):**
    ```json
    {'objective': 'binary:logistic', 'base_score': None, 'booster': None, 'callbacks': None, 'colsample_bylevel': None, 'colsample_bynode': None, 'colsample_bytree': None, 'device': None, 'early_stopping_rounds': None, 'enable_categorical': False, 'eval_metric': 'logloss', 'feature_types': None, 'feature_weights': None, 'gamma': None, 'grow_policy': None, 'importance_type': None, 'interaction_constraints': None, 'learning_rate': 0.01, 'max_bin': None, 'max_cat_threshold': None, 'max_cat_to_onehot': None, 'max_delta_step': None, 'max_depth': 6, 'max_leaves': None, 'min_child_weight': None, 'missing': nan, 'monotone_constraints': None, 'multi_strategy': None, 'n_estimators': 200, 'n_jobs': None, 'num_parallel_tree': None, 'random_state': 42, 'reg_alpha': None, 'reg_lambda': None, 'sampling_method': None, 'scale_pos_weight': None, 'subsample': None, 'tree_method': None, 'validate_parameters': None, 'verbosity': None, 'use_label_encoder': False}
    ```

## Training Data

The model was trained on the `Engine Sensor Data` dataset, which includes various engine sensor readings such as RPM, oil pressure, fuel pressure, coolant pressure, and temperatures.

-   **Features (X_train):** `X_train.csv` (scaled numerical features)
-   **Target (y_train):** `y_train.csv` (Engine Condition)

## Evaluation Results

The model was evaluated on a held-out test set (`X_test.csv`, `y_test.csv`).

-   **Accuracy:** 0.6647
-   **Precision (weighted):** 0.6479
-   **Recall (weighted):** 0.6647
-   **F1-score (weighted):** 0.6358

## Usage

This model can be used to predict the `Engine Condition` for new engine sensor data. It was trained using `scikit-learn` and `xgboost` libraries.

To load and use the model:

```python
import joblib

# Load the model
model = joblib.load('best_xgboost_model.joblib')

# Make predictions (example with dummy data)
# from sklearn.preprocessing import StandardScaler
# scaler = StandardScaler()
# new_data = scaler.fit_transform([[750, 3.0, 7.0, 2.5, 78.0, 80.0]]) # Example scaled data matching training features
# prediction = model.predict(new_data)
# print("Predicted Engine Condition: [predicted value]") # Modified to avoid NameError
```