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के रूप में परिभाषित करें.
- residual को
- खाली जगहें भरकर 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")