persadian commited on
Commit
59bdcfe
·
verified ·
1 Parent(s): 48adb14
Files changed (1) hide show
  1. 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
+ })