Spaces:
Runtime error
Runtime error
init
Browse files- mock_models/crop_model.py +30 -0
mock_models/crop_model.py
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pandas as pd
|
2 |
+
import numpy as np
|
3 |
+
|
4 |
+
class MockCropModel:
|
5 |
+
def __init__(self):
|
6 |
+
self.knowledge_base = {
|
7 |
+
('loamy', 'tropical'): ['Cassava', 'Banana', 'Rice'],
|
8 |
+
('clay', 'temperate'): ['Wheat', 'Potatoes', 'Barley'],
|
9 |
+
('sandy', 'arid'): ['Sorghum', 'Millet', 'Dates'],
|
10 |
+
('default', 'default'): ['Maize', 'Beans', 'Soybeans']
|
11 |
+
}
|
12 |
+
|
13 |
+
def predict(self, soil_type, climate):
|
14 |
+
soil = soil_type.lower()
|
15 |
+
climate = climate.lower()
|
16 |
+
|
17 |
+
for key in self.knowledge_base:
|
18 |
+
if soil in key[0] and climate in key[1]:
|
19 |
+
crops = self.knowledge_base[key]
|
20 |
+
break
|
21 |
+
else:
|
22 |
+
crops = self.knowledge_base[('default', 'default')]
|
23 |
+
|
24 |
+
confidences = np.linspace(0.9, 0.7, num=len(crops))
|
25 |
+
return pd.DataFrame({
|
26 |
+
'Crop': crops,
|
27 |
+
'Confidence': confidences,
|
28 |
+
'Soil Type': soil_type,
|
29 |
+
'Climate Zone': climate
|
30 |
+
})
|