Spaces:
Sleeping
Sleeping
| import joblib | |
| import numpy as np | |
| import pandas as pd | |
| from typing import List | |
| class RandomForestModel: | |
| def __init__(self): | |
| self.scaler = joblib.load("scalers/rf_scaler.joblib") | |
| self.model = joblib.load("models/random_forest.joblib") | |
| self.secondary_model_features = [ | |
| "machine_probability", "backspace_count_normalized", "typing_duration_normalized", "letter_discrepancy_normalized" | |
| ] | |
| def preprocess_input(self, secondary_model_features: List[float]) -> np.ndarray: | |
| features_df = pd.DataFrame([secondary_model_features], columns=[ | |
| self.secondary_model_features]) | |
| features_df = self.scaler.transform(features_df) | |
| return features_df.values.astype(np.float32).reshape(1, -1) | |
| def predict(self, secondary_model_features: List[float]): | |
| return int(self.model.predict(self.preprocess_input(secondary_model_features))[0]) | |