File size: 992 Bytes
2d424e8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
## model.py
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor

def prepare_data(df):
    X = np.array(df[["Delivery_person_Age", "Delivery_person_Ratings", "distance"]])
    y = np.array(df["Time_taken(min)"])
    xtrain, xtest, ytrain, ytest = train_test_split(X, y, test_size=0.1, random_state=42)
    return xtrain, xtest, ytrain, ytest

def train_models(xtrain, ytrain):
    models = {}

    # Linear Regression
    lin_model = LinearRegression()
    lin_model.fit(xtrain, ytrain)
    models["LinearRegression"] = lin_model

    # Random Forest Regressor
    rf_model = RandomForestRegressor()
    rf_model.fit(xtrain, ytrain)
    models["RandomForest"] = rf_model

    # Gradient Boosting Regressor
    gb_model = GradientBoostingRegressor()
    gb_model.fit(xtrain, ytrain)
    models["GradientBoosting"] = gb_model

    return models