Skip to content

Commit

Permalink
Merge pull request TheAlgorithms#104 from sthkindacrazy/master
Browse files Browse the repository at this point in the history
scoring functions added
  • Loading branch information
dynamitechetan authored Sep 1, 2017
2 parents 75ccf5b + 5b03d56 commit 8af6d2e
Showing 1 changed file with 63 additions and 0 deletions.
63 changes: 63 additions & 0 deletions machine_learning/scoring_functions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import numpy

""" Here I implemented the scoring functions.
MAE, MSE, RMSE, RMSLE are included.
Those are used for calculating differences between
predicted values and actual values.
Metrics are slightly differentiated. Sometimes squared, rooted,
even log is used.
Using log and roots can be perceived as tools for penalizing big
erors. However, using appropriate metrics depends on the situations,
and types of data
"""

#Mean Absolute Error
def mae(predict, actual):
predict = np.array(predict)
actual = np.array(actual)

difference = abs(predict - actual)
score = difference.mean()

return score

#Mean Squared Error
def mse(predict, actual):
predict = np.array(predict)
actual = np.array(actual)

difference = predict - actual
square_diff = np.square(difference)

score = square_diff.mean()
return score

#Root Mean Squared Error
def rmse(predict, actual):
predict = np.array(predict)
actual = np.array(actual)

difference = predict - actual
square_diff = np.square(dfference)
mean_square_diff = square_diff.mean()
score = np.sqrt(mean_square_diff)
return score

#Root Mean Square Logarithmic Error
def rmsle(predict, actual):
predict = np.array(predict)
actual = np.array(actual)

log_predict = np.log(predict+1)
log_actual = np.log(actual+1)

difference = log_predict - log_actual
square_diff = np.square(difference)
mean_square_diff = square_diff.mean()

score = np.sqrt(mean_square_diff)

return score

0 comments on commit 8af6d2e

Please sign in to comment.