Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| #import lightgbm as lgb | |
| #from sklearn.preprocessing import LabelEncoder | |
| import subprocess | |
| import sys | |
| import warnings | |
| warnings.filterwarnings('ignore') | |
| try: | |
| import lightgbm as lgb | |
| from sklearn.preprocessing import LabelEncoder | |
| from scipy.stats import boxcox | |
| except: | |
| print("An exception occurred") | |
| subprocess.run([sys.executable, "-m", "pip", "install", "lightgbm"]) | |
| subprocess.run([sys.executable, "-m", "pip", "install", "scipy"]) | |
| subprocess.run([sys.executable, "-m", "pip", "install", "scikit-learn"]) | |
| from sklearn.preprocessing import LabelEncoder | |
| import lightgbm as lgb | |
| from scipy.stats import boxcox | |
| def preprocess_input(input_data): | |
| # Preprocess the input data (assuming a similar preprocessing as in the training script) | |
| input_data['rain'] = boxcox(input_data['rain'] + 1)[0] | |
| return input_data | |
| def load_model(model_path='inference/lgbm_model.txt'): | |
| # Load the trained LightGBM model | |
| model = lgb.Booster(model_file=model_path) | |
| return model | |
| def predict(input_data, model): | |
| # Preprocess the input data | |
| preprocessed_data = preprocess_input(pd.DataFrame([input_data])) | |
| # Make predictions using the loaded model | |
| prediction = model.predict(preprocessed_data, num_iteration=model.best_iteration) | |
| predicted_class = prediction.argmax(axis=1) | |
| # Decode the predicted class (inverse transform) | |
| label_encoder = LabelEncoder() | |
| predicted_label = label_encoder.inverse_transform(predicted_class)[0] | |
| return predicted_label | |