Tabular Classification
Scikit-learn
ONNX
weather-classification
random-forest
tabular
iot
embedded-systems
tiva-c
dht11
ldr
Instructions to use tamimhassan05/weather-condition-classifier with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Scikit-learn
How to use tamimhassan05/weather-condition-classifier with Scikit-learn:
from huggingface_hub import hf_hub_download import joblib model = joblib.load( hf_hub_download("tamimhassan05/weather-condition-classifier", "sklearn_model.joblib") ) # only load pickle files from sources you trust # read more about it here https://skops.readthedocs.io/en/stable/persistence.html - Notebooks
- Google Colab
- Kaggle
Weather Condition Classifier
Random Forest classifier trained on synthetic sensor data from a Tiva C / ESP8266 / Firebase Weather Monitoring System (Embedded Systems Course Project).
Model Details
| Property | Value |
|---|---|
| Algorithm | Random Forest |
| Trees | 100 |
| Max Depth | 10 |
| Export Format | ONNX (opset 12) |
| Input Features | 3 (temperature, humidity, light) |
| Output Classes | 5 |
Label Map
| Index | Label |
|---|---|
| 0 | Cloudy |
| 1 | Hot_Dry |
| 2 | Humid_Rainy |
| 3 | Night |
| 4 | Sunny |
Input Format
# Shape: [batch_size, 3] dtype: float32
# Column order: [temperature_c, humidity_pct, light_lux_adc]
import numpy as np
sample = np.array([[35.0, 30.0, 900.0]], dtype=np.float32)
Inference (Python β ONNX Runtime)
import onnxruntime as rt
import numpy as np
import joblib
sess = rt.InferenceSession("weather_model.onnx")
le = joblib.load("label_encoder.pkl")
sample = np.array([[35.0, 30.0, 900.0]], dtype=np.float32)
inp = {sess.get_inputs()[0].name: sample}
pred = sess.run(None, inp)[0]
label = le.inverse_transform(pred)[0]
print(label) # β "Sunny"
Inference (Raspberry Pi β live sensor readings)
# Replace sample values with live DHT-11 + LDR ADC readings
sample = np.array([[temperature, humidity, light_adc]], dtype=np.float32)
Training Data
Dataset: tamimhassan05/weather-monitoring-dataset
Training Report
============================================================
WEATHER CLASSIFIER β TRAINING REPORT
============================================================
Model : RandomForestClassifier
Dataset : weather_dataset.csv
Features : ['temperature_c', 'humidity_pct', 'light_lux_adc']
Train samples : 4000
Test samples : 1000
Test Accuracy : 98.70%
CV Accuracy : 98.48% Β± 0.17%
Classification Report:
precision recall f1-score support
Cloudy 1.00 1.00 1.00 200
Hot_Dry 0.97 0.97 0.97 200
Humid_Rainy 1.00 0.99 1.00 200
Night 1.00 1.00 1.00 200
Sunny 0.97 0.97 0.97 200
accuracy 0.99 1000
macro avg 0.99 0.99 0.99 1000
weighted avg 0.99 0.99 0.99 1000
Confusion Matrix:
[[200 0 0 0 0]
[ 0 194 0 0 6]
[ 0 0 199 1 0]
[ 0 0 0 200 0]
[ 0 6 0 0 194]]
Feature Importances:
temperature_c : 0.2821
humidity_pct : 0.4157
light_lux_adc : 0.3022
Hyperparameters:
n_estimators : 100
max_depth : 10
min_samples_leaf : 4
class_weight : balanced
random_state : 42
n_jobs : -1
- Downloads last month
- -