Add loss function practicve
This commit is contained in:
86
loss.R
Normal file
86
loss.R
Normal file
@@ -0,0 +1,86 @@
|
||||
# Install datawizard package (for calculating mode with 'distribution_mode()')
|
||||
|
||||
if (!require(datawizard)) {
|
||||
install.packages("datawizard")
|
||||
library(datawizard)
|
||||
}
|
||||
|
||||
|
||||
# Define the Salaries vector
|
||||
Salaries <- c(12567, 15400, 11345, 13130, 12567, 12812, 14908)
|
||||
|
||||
|
||||
# Calculate the mode
|
||||
modeS <- distribution_mode(Salaries)
|
||||
modeS
|
||||
|
||||
# Calculate the median
|
||||
meadianS <- median(Salaries)
|
||||
meadianS
|
||||
|
||||
# Calculate the mean
|
||||
meanS <- mean(Salaries)
|
||||
meanS
|
||||
|
||||
|
||||
|
||||
|
||||
# The first loss function ---------------------
|
||||
## For each value in vector "Salaries", check whether it is:
|
||||
#+ 1. different from the mode
|
||||
#+ 2. different from the median
|
||||
#+ 3. different from the mean
|
||||
#+ ...And sum up the results (the "True" results)
|
||||
|
||||
# How many values are different from the mode?
|
||||
# (how many people make something other than the mode?)
|
||||
sum(Salaries != modeS)
|
||||
# How many people make something other than the median?
|
||||
sum(Salaries != meadianS)
|
||||
# Etc
|
||||
sum(Salaries != meanS)
|
||||
|
||||
|
||||
|
||||
|
||||
# Second loss function ----------------------------
|
||||
sum( abs (Salaries - modeS))
|
||||
# ^ summarize the ^ absolute value of ^ each salary minus the modal salary
|
||||
sum(abs(Salaries - meadianS))
|
||||
sum(abs(Salaries - meanS))
|
||||
|
||||
|
||||
|
||||
# Third loss function ----------------------------
|
||||
sum((Salaries - modeS)^2)
|
||||
sum((Salaries - meadianS)^2)
|
||||
sum((Salaries - meanS)^2)
|
||||
|
||||
#..........................................Exercise 2
|
||||
#Create a vector of numbers
|
||||
potato <- runif(n=20, min=1, max=20)
|
||||
|
||||
#Calculate the mean, median and mod of the vector of numbers you created
|
||||
|
||||
potato_mean <- mean(potato)
|
||||
potato_mean
|
||||
potato_median <- median(potato)
|
||||
potato_median
|
||||
potato_mode=distribution_mode(potato)
|
||||
potato_mode
|
||||
# print results
|
||||
sprintf("Mean %s Median %s Mode %s", potato_mean, potato_median, potato_mode)
|
||||
|
||||
#Calculate the error for each loss function for each of the
|
||||
#measures you calculated (the mean, median and mod)
|
||||
|
||||
# 1st loss function
|
||||
sum(potato != potato_mode)
|
||||
|
||||
# 2nd loss function
|
||||
|
||||
sum(abs(potato - potato_median))
|
||||
|
||||
# 3rd loss function
|
||||
|
||||
sum((potato - potato_mean)^2)
|
||||
Reference in New Issue
Block a user