smrup/Food-Delivery-Time-Prediction-using-Machine-Learning
0
1## model.py2import numpy as np3from sklearn.model_selection import train_test_split4from sklearn.linear_model import LinearRegression5from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor6 7def prepare_data(df):8 X = np.array(df[["Delivery_person_Age", "Delivery_person_Ratings", "distance"]])9 y = np.array(df["Time_taken(min)"])10 xtrain, xtest, ytrain, ytest = train_test_split(X, y, test_size=0.1, random_state=42)11 return xtrain, xtest, ytrain, ytest12 13def train_models(xtrain, ytrain):14 models = {}15 16 # Linear Regression17 lin_model = LinearRegression()18 lin_model.fit(xtrain, ytrain)19 models["LinearRegression"] = lin_model20 21 # Random Forest Regressor22 rf_model = RandomForestRegressor()23 rf_model.fit(xtrain, ytrain)24 models["RandomForest"] = rf_model25 26 # Gradient Boosting Regressor27 gb_model = GradientBoostingRegressor()28 gb_model.fit(xtrain, ytrain)29 models["GradientBoosting"] = gb_model30 31 return models32 33 