Record of Experiments: Cloud Application Development Lab

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

RECORD OF EXPERIMENTS

Cloud Application Development Lab

Submitted By

Sarthak Goyal
Enrolment No.: R110218138
SAP ID: 500067706
Semester VI
B. Tech. (Computer Sc. and Engineering)
Specialization in CCVT

Submitted To

Ms. Shelly

School of Computer Science


UNIVERSITY OF PETROLEUM AND ENERGY STUDIES
Dehradun-248007
2021-22
Roll No: R110218138 CAD LAB
SAP ID: 500067706

Experiment 10:
Aim: Implement Machine Learning model/s on Cloud Platform.
Requirements: Google Cloud Platform(GCP), BigQuery
In this lab, we will create a machine learning model inside of BigQuery to predict the fare of
the cab ride given your model inputs. Then, we will evaluate the performance of our model
and make predictions with it.
Step 1: Go to https://cloud.google.com/ and login using credentials.

Step 2: Go to BigQuery. The following page will open

2
Roll No: R110218138 CAD LAB
SAP ID: 500067706
Step 3: To create a BigQuery dataset, select Project ID

Click on Create dataset.

In the Create Dataset dialog, enter in the following:


• Dataset ID: taxi
• Leave the other values at their defaults & click Create Dataset

3
Roll No: R110218138 CAD LAB
SAP ID: 500067706
Enter the following query to create a model and specify model options.

CREATE or REPLACE MODEL taxi.taxifare_model


OPTIONS
(model_type='linear_reg', labels=['total_fare']) AS

WITH params AS (
SELECT
1 AS TRAIN,
2 AS EVAL
),

daynames AS
(SELECT ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'] AS daysofweek),

taxitrips AS (
SELECT
(tolls_amount + fare_amount) AS total_fare,
daysofweek[ORDINAL(EXTRACT(DAYOFWEEK FROM pickup_datetime))] AS dayof
week,
EXTRACT(HOUR FROM pickup_datetime) AS hourofday,
pickup_longitude AS pickuplon,
pickup_latitude AS pickuplat,
dropoff_longitude AS dropofflon,
dropoff_latitude AS dropofflat,
passenger_count AS passengers
FROM
`nyc-tlc.yellow.trips`, daynames, params
WHERE
trip_distance > 0 AND fare_amount > 0
AND MOD(ABS(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING))),1000)
= params.TRAIN
)

4
Roll No: R110218138 CAD LAB
SAP ID: 500067706
SELECT *
FROM taxitrips

Click Run to train your model.

Wait for the model to train (5-10 minutes). Look inside your taxi dataset and confirm
taxifare_model now appears.

5
Roll No: R110218138 CAD LAB
SAP ID: 500067706

Step 4: To evaluate the model, run the following query

#standardSQL
SELECT
SQRT(mean_squared_error) AS rmse
FROM
ML.EVALUATE(MODEL taxi.taxifare_model,
(

WITH params AS (
SELECT
1 AS TRAIN,
2 AS EVAL
),

daynames AS
(SELECT ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'] AS daysofweek),

taxitrips AS (
SELECT
(tolls_amount + fare_amount) AS total_fare,
daysofweek[ORDINAL(EXTRACT(DAYOFWEEK FROM pickup_datetime))] AS dayof
week,
EXTRACT(HOUR FROM pickup_datetime) AS hourofday,
pickup_longitude AS pickuplon,
pickup_latitude AS pickuplat,
dropoff_longitude AS dropofflon,
dropoff_latitude AS dropofflat,

6
Roll No: R110218138 CAD LAB
SAP ID: 500067706
passenger_count AS passengers
FROM
`nyc-tlc.yellow.trips`, daynames, params
WHERE
trip_distance > 0 AND fare_amount > 0
AND MOD(ABS(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING))),1000)
= params.EVAL
)

SELECT *
FROM taxitrips

))

7
Roll No: R110218138 CAD LAB
SAP ID: 500067706
Click Run. The following output will be generated

Step 5: To predict taxi fare amount, run the following query

#standardSQL
SELECT
*
FROM
ml.PREDICT(MODEL `taxi.taxifare_model`,
(

WITH params AS (
SELECT
1 AS TRAIN,
2 AS EVAL
),

daynames AS
(SELECT ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'] AS daysofweek),

taxitrips AS (
SELECT
(tolls_amount + fare_amount) AS total_fare,
daysofweek[ORDINAL(EXTRACT(DAYOFWEEK FROM pickup_datetime))] AS dayof
week,
EXTRACT(HOUR FROM pickup_datetime) AS hourofday,
pickup_longitude AS pickuplon,

8
Roll No: R110218138 CAD LAB
SAP ID: 500067706
pickup_latitude AS pickuplat,
dropoff_longitude AS dropofflon,
dropoff_latitude AS dropofflat,
passenger_count AS passengers
FROM
`nyc-tlc.yellow.trips`, daynames, params
WHERE
trip_distance > 0 AND fare_amount > 0
AND MOD(ABS(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING))),1000)
= params.EVAL
)

SELECT *
FROM taxitrips

));

9
Roll No: R110218138 CAD LAB
SAP ID: 500067706
Click Run. The following output will be generated.

END OF EXERCISE

10

You might also like