CropSeek-LLM / mock_models /crop_model.py
persadian's picture
init
59bdcfe verified
raw
history blame contribute delete
1 kB
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
})