केस स्टडी: EDA और imputation

SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना

Meghan Kwartler

IT Consultant

टैक्सी राइड बिज़नेस समस्या

  1. EU प्राइवेट इक्विटी फर्म US Transportation में निवेश अवसर खोज रही है.
  2. हर सप्ताह के दिन पर प्रत्येक NYC borough के लिए average fare per distance, ride count और total ride time क्या है?
  3. उस borough के किन pickup locations को हर ड्राइवर shifts के लिए शेड्यूल करना चाहिए?

पीले टैक्सी की फोटो

SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना

आवश्यक EDA

  • Distributed transactional datasets में calibration समस्याओं के कारण असंभव scenarios आ सकते हैं
    • भविष्य की तारीखें
    • प्रारंभ से पहले समाप्ति तिथियाँ
SELECT * 
FROM CapitalBikeShare 
WHERE 
  StartDate > GetDate() 
  OR EndDate > GetDate() 
  OR StartDate > EndDate
SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना

डेटा imputation

  • Avg Fare/TripDistance निकालते समय divide-by-zero error
  • EDA में सैकड़ों TaxiRide रिकॉर्ड मिलते हैं जिनमें Trip Distance = 0
  • हल के लिए Data Imputation तरीके
    • Mean
    • Hot Deck
    • Omission
SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना

Mean imputation

  • missing value को mean से बदलें
  • mean वैल्यू नहीं बदलती
  • अन्य कॉलम्स संग correlations बढ़ते हैं
CREATE PROCEDURE dbo.ImputeDurMean 
AS
BEGIN
DECLARE @AvgTripDuration AS float

SELECT @AvgTripDuration = AVG(Duration) 
FROM CapitalBikeShare
WHERE Duration > 0

UPDATE CapitalBikeShare
SET Duration =  @AvgTripDuration
WHERE Duration = 0
END;
SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना

Hot Deck imputation

  • Missing value को रैंडम चुनी गई वैल्यू से सेट करें
  • FROM क्लॉज़ का TABLESAMPLE क्लॉज़
CREATE FUNCTION dbo.GetDurHotDeck()
RETURNS decimal (18,4)
AS BEGIN
RETURN (SELECT TOP 1 Duration
FROM CapitalBikeShare
TABLESAMPLE (1000 rows)
WHERE Duration >0)
END

SELECT StartDate, "TripDuration" = CASE WHEN Duration > 0 THEN Duration ELSE dbo.GetDurHotDeck() END FROM CapitalBikeShare;
SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना
SELECT 
  DATENAME(weekday, StartDate) AS DayofWeek, 
  AVG(Duration) AS 'AvgDuration' 
FROM CapitalBikeShare 
WHERE Duration > 0 
GROUP BY DATENAME(weekday, StartDate) 
ORDER BY AVG(Duration) desc
+-----------+-------------+
| DayofWeek | AvgDuration |
|-----------+-------------|
| Saturday  | 1476        |
| Sunday    | 1391        |
| Monday    |  979        |
| Friday    |  957        |
| Thursday  |  956        |
| Wednesday |  807        |
| Tuesday   |  763        |
+-----------+-------------|
SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना

अब आपकी बारी!

SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना

Preparing Video For Download...