Skip to content

Instantly share code, notes, and snippets.

@kokospapa8
Last active August 30, 2020 09:30
Show Gist options
  • Select an option

  • Save kokospapa8/fddf61dc0140bbf838e981dd619e0337 to your computer and use it in GitHub Desktop.

Select an option

Save kokospapa8/fddf61dc0140bbf838e981dd619e0337 to your computer and use it in GitHub Desktop.
1)
```
CREATE OR REPLACE TABLE taxirides.taxi_training_data (
`pickup_datetime` TIMESTAMP,
`pickuplon` FLOAT64,
`pickuplat` FLOAT64,
`dropofflon` FLOAT64,
`dropofflat` FLOAT64,
`passengers` FLOAT64,
`fare_amount` FLOAT64
)
as (
Select
pickup_datetime,
pickup_longitude AS pickuplon,
pickup_latitude AS pickuplat,
dropoff_longitude AS dropofflon,
dropoff_latitude AS dropofflat,
passenger_count AS passengers,
( tolls_amount + fare_amount ) AS fare_amount
FROM
`taxirides.historical_taxi_rides_raw`
WHERE
trip_distance > 0
AND fare_amount >= 2.5
AND pickup_longitude > -75
AND pickup_longitude < -73
AND dropoff_longitude > -75
AND dropoff_longitude < -73
AND pickup_latitude > 40
AND pickup_latitude < 42
AND dropoff_latitude > 40
AND dropoff_latitude < 42
AND passenger_count > 0
AND RAND() < 999999 / 1031673361
)
```
2)
```
CREATE or REPLACE MODEL taxirides.fare_model
OPTIONS (model_type='linear_reg',
labels=['fare_amount']
)
AS
WITH taxitrips AS (
SELECT
*,
ST_Distance(ST_GeogPoint(pickuplon, pickuplat), ST_GeogPoint(dropofflon, dropofflat)) AS euclidean
FROM
`taxirides.taxi_training_data`
)
SELECT
*
FROM
taxitrips
```
3)
```
CREATE OR REPLACE TABLE taxirides.2015_fare_amount_predictions
as (
SELECT
*
FROM
ML.PREDICT(MODEL `taxirides.fare_model`,
(
WITH taxitrips AS (
SELECT
*,
ST_Distance(ST_GeogPoint(pickuplon, pickuplat), ST_GeogPoint(dropofflon, dropofflat)) AS euclidean
FROM
`taxirides.report_prediction_data`
)
SELECT
*
FROM
taxitrips
)
)
)
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment