mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-01-18 16:27:02 +00:00
scoring functions added
This commit is contained in:
parent
89d48b50b5
commit
5b03d56cd6
63
machine_learning/scoring_functions.py
Normal file
63
machine_learning/scoring_functions.py
Normal file
|
@ -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
|
Loading…
Reference in New Issue
Block a user