Ai-Driven-AgriTech-App / allmodelretrain.py
Raghavendra0827's picture
Upload 63 files
e454685 verified
raw
history blame
No virus
1.6 kB
from datetime import datetime, timedelta
from retrain_save_soil import soil_model
from Retrain_Crop_Recommendation import crop_reco
from retrain_Crop_yield import Crop_yel
from retrain_sum_insured import sumin
from retrain_gross_premium import grop
import pandas as pd
import time
count = 0
def clear_feedback_data(csv_filename):
headings = ['timestamp', 'briefit', 'feedbacko']
pd.DataFrame(columns=headings).to_csv(csv_filename, index=False)
def read_ratings_from_csv(csv_filename):
try:
ratings_df = pd.read_csv(csv_filename)
return ratings_df
except FileNotFoundError:
return pd.DataFrame()
def calculate_average_rating(ratings_df):
if not ratings_df.empty:
return ratings_df['briefit'].mean()
return None
def check_and_retrain_model_if_needed(csv_filename):
ratings_df = read_ratings_from_csv(csv_filename)
ratings_df['timestamp'] = pd.to_datetime(ratings_df['timestamp'])
last_month = datetime.now() - timedelta(weeks=4)
recent_ratings = ratings_df[ratings_df['timestamp'] >= last_month]
average_rating = calculate_average_rating(recent_ratings)
if average_rating is not None and average_rating < 2.5:
soil_model()
crop_reco()
sumin()
Crop_yel()
grop()
clear_feedback_data(csv_filename)
print(f"Model retrained due to average rating below 2.5 (Average Rating: {average_rating})")
csv_filename = 'feedbacko.csv'
while (count ==0):
count+=1
check_and_retrain_model_if_needed(csv_filename)
# time.sleep(24 * 60 * 60)