Spaces:
Running
Running
import pandas as pd | |
import numpy as np | |
class MockCropModel: | |
def __init__(self): | |
self.knowledge_base = { | |
('loamy', 'tropical'): ['Cassava', 'Banana', 'Rice'], | |
('clay', 'temperate'): ['Wheat', 'Potatoes', 'Barley'], | |
('sandy', 'arid'): ['Sorghum', 'Millet', 'Dates'], | |
('default', 'default'): ['Maize', 'Beans', 'Soybeans'] | |
} | |
def predict(self, soil_type, climate): | |
soil = soil_type.lower() | |
climate = climate.lower() | |
for key in self.knowledge_base: | |
if soil in key[0] and climate in key[1]: | |
crops = self.knowledge_base[key] | |
break | |
else: | |
crops = self.knowledge_base[('default', 'default')] | |
confidences = np.linspace(0.9, 0.7, num=len(crops)) | |
return pd.DataFrame({ | |
'Crop': crops, | |
'Confidence': confidences, | |
'Soil Type': soil_type, | |
'Climate Zone': climate | |
}) |