शुरू करेंमुफ़्त में शुरू करें

Relative error

इस अभ्यास में, आप relative error की तुलना absolute error से करेंगे. मॉडलिंग के उद्देश्य से, हम relative error को इस प्रकार परिभाषित करेंगे:

$$ rel = \frac{(y - pred)}{y} $$

अर्थात, error true outcome के सापेक्ष है. आप मॉडल के समग्र relative error को root mean squared relative error से मापेंगे:

$$ rmse_{rel} = \sqrt(\overline{rel^2}) $$

जहाँ \(\overline{rel^2}\), \(rel^2\) का mean है.

उदाहरण (toy) डेटासेट fdata पहले से लोड है. इसमें ये कॉलम शामिल हैं:

  • y: किसी मॉडल द्वारा predict किया जाने वाला true output; मान लीजिए यह वह रकम है जो कोई कस्टमर आपके स्टोर की एक विज़िट में खर्च करेगा.
  • pred: उस मॉडल की predictions जो y को predict करता है.
  • label: श्रेणीबद्ध (categorical): क्या y ऐसी population से आता है जो small खरीदारी करती है या large खरीदारी.

आप यह जानना चाहते हैं कि कौन-सा मॉडल "बेहतर" करता है: वह जो small खरीद को predict करता है, या वह जो large खरीद को.

यह अभ्यास पाठ्यक्रम का हिस्सा है

R में Supervised Learning: Regression

पाठ्यक्रम देखें

अभ्यास निर्देश

  • खाली जगहें भरकर डेटा देखें. ध्यान दें कि बड़ी खरीदें प्रायः छोटी खरीदों से लगभग 100 गुना बड़ी होती हैं.
  • खाली जगहें भरकर error वाले कॉलम बनाएँ:
    • residual को y - pred के रूप में परिभाषित करें.
    • relative error को residual / y के रूप में परिभाषित करें.
  • खाली जगहें भरकर RMSE और relative RMSE की गणना करें और उनकी तुलना करें.
    • absolute errors की तुलना कैसी है? relative errors की?
  • predictions बनाम outcome का plot देखें.
    • आपकी राय में, कौन-सा मॉडल "बेहतर" करता है?

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# fdata is available
summary(fdata)

# Examine the data: generate the summaries for the groups large and small:
fdata %>% 
    group_by(label) %>%     # group by small/large purchases
    summarize(min  = ___,   # min of y
              mean = ___,   # mean of y
              max  = ___)   # max of y

# Fill in the blanks to add error columns
fdata2 <- fdata %>% 
         group_by(label) %>%       # group by label
           mutate(residual = ___,  # Residual
                  relerr   = ___)  # Relative error

# Compare the rmse and rmse.rel of the large and small groups:
fdata2 %>% 
  group_by(label) %>% 
  summarize(rmse     = ___,   # RMSE
            rmse.rel = ___)   # Root mean squared relative error
            
# Plot the predictions for both groups of purchases
ggplot(fdata2, aes(x = pred, y = y, color = label)) + 
  geom_point() + 
  geom_abline() + 
  facet_wrap(~ label, ncol = 1, scales = "free") + 
  ggtitle("Outcome vs prediction")
कोड संपादित करें और चलाएँ