#!/usr/bin/env python # ------------------------------------------------------------------------------------------------------% # Created by "Thieu Nguyen" at 13:04, 23/07/2020 % # % # Email: [email protected] % # Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) obj1 = Metrics(y_true, y_pred) ## by name will use default parameters of function print(obj1.get_metrics_by_name("RMSE", "MAE")) ## by list you can change parameters of function print(obj1.get_metrics_by_list(["RMSE", "MAE", "MAPE", "SMAPE"])) print("=================================") ## > 1-D array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]]) obj2 = Metrics(y_true, y_pred) multi_outputs = [None, "raw_values", [0.3, 1.2], array([0.5, 0.2]), (0.1, 0.9)]
# Homepage: https://www.researchgate.net/profile/Nguyen_Thieu2 % # Github: https://github.com/thieu1995 % # ------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7, 5, 6]) y_pred = array([2.5, 0.0, 2, 8, 5, 6]) y_true2 = array([3, -0.5, 2, 7, 3, 5]) y_pred2 = array([2.5, 0.0, 2, 9, 4, 5]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.jensen_shannon_divergence(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.jensen_shannon_divergence(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6], [3, 4], [2, 1]]) y_pred = array([[0, 2], [-1, 2], [8, -5], [3, 5], [1, 2]])
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.mean_squared_log_error(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.mean_squared_log_error( clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2 ) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]]) multi_outputs = [None, "raw_values", [0.3, 1.2], array([0.5, 0.2]), (0.1, 0.9)]
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.mean_arctangent_absolute_percentage_error(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.mean_arctangent_absolute_percentage_error(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]])
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.explained_variance_score(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.explained_variance_score(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]]) multi_outputs = [None, "raw_values", [0.3, 1.2], array([0.5, 0.2]), (0.1, 0.9)] obj3 = Metrics(y_true, y_pred) for multi_output in multi_outputs:
# Homepage: https://www.researchgate.net/profile/Nguyen_Thieu2 % # Github: https://github.com/thieu1995 % # ------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7, 5, 6]) y_pred = array([2.5, 0.0, 2, 8, 5, 6]) y_true2 = array([3, -0.5, 2, 7, 3, 5]) y_pred2 = array([2.5, 0.0, 2, 9, 4, 5]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.a20_index(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.a20_index(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6], [3, 4], [2, 1]]) y_pred = array([[0, 2], [-1, 2], [8, -5], [3, 5], [1, 2]]) multi_outputs = [None, "raw_values", [0.3, 1.2], array([0.5, 0.2]), (0.1, 0.9)] obj3 = Metrics(y_true, y_pred)
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.deviation_of_runoff_volume(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.deviation_of_runoff_volume(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]])
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.kling_gupta_efficiency(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.kling_gupta_efficiency(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]])
#!/usr/bin/env python # ------------------------------------------------------------------------------------------------------% # Created by "Thieu Nguyen" at 13:04, 23/07/2020 % # % # Email: [email protected] % # Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics # 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) obj1 = Metrics(y_true, y_pred) ## If you care about changing paras, then you need to make a list of paras. ### by name will use default parameters of function print(obj1.get_metric_by_name("RMSE")) print(obj1.get_metric_by_name("RMSE", {"decimal": 5})) ### by list name you can call multiple metrics at the same time with its parameters dict print(obj1.get_metrics_by_list_names( ["RMSE", "MAE"])) # Using default parameters of function list_metrics = ["RMSE", "MAE", "MAPE"] list_parameters = [{ "decimal": 5 }, None, {
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.coefficient_of_determination(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.coefficient_of_determination(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]])
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.pearson_correlation_index_square(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.pearson_correlation_index_square(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]])
# Homepage: https://www.researchgate.net/profile/Nguyen_Thieu2 % # Github: https://github.com/thieu1995 % # ------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 8]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.residual_standard_error(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.residual_standard_error(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]]) multi_outputs = [None, "raw_values", [0.3, 1.2], array([0.5, 0.2]), (0.1, 0.9)] obj3 = Metrics(y_true, y_pred) for multi_output in multi_outputs:
# Homepage: https://www.researchgate.net/profile/Nguyen_Thieu2 % # Github: https://github.com/thieu1995 % # ------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.prediction_of_change_in_direction(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.prediction_of_change_in_direction(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]])
# Homepage: https://www.researchgate.net/profile/Nguyen_Thieu2 % # Github: https://github.com/thieu1995 % # ------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7, 5, 6]) y_pred = array([2.5, 0.0, 2, 8, 5, 6]) y_true2 = array([3, -0.5, 2, 7, 3, 5]) y_pred2 = array([2.5, 0.0, 2, 9, 4, 5]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.cross_entropy(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.cross_entropy(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6], [3, 4], [2, 1]]) y_pred = array([[0, 2], [-1, 2], [8, -5], [3, 5], [1, 2]])
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % # -------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.gini_coefficient(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.gini_coefficient(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]]) multi_outputs = [None, "raw_values", [0.3, 1.2], array([0.5, 0.2]), (0.1, 0.9)] obj3 = Metrics(y_true, y_pred)
# Homepage: https://www.researchgate.net/profile/Nguyen_Thieu2 % # Github: https://github.com/thieu1995 % # ------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7, 5, 6]) y_pred = array([2.5, 0.0, 2, 8, 5, 6]) y_true2 = array([3, -0.5, 2, 7, 3, 5]) y_pred2 = array([2.5, 0.0, 2, 9, 4, 5]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.variance_accounted_for(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.variance_accounted_for(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6], [3, 4], [2, 1]]) y_pred = array([[0, 2], [-1, 2], [8, -5], [3, 5], [1, 2]])
# Homepage: https://www.researchgate.net/profile/Nguyen_Thieu2 % # Github: https://github.com/thieu1995 % # ------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7, 5, 6]) y_pred = array([2.5, 0.0, 2, 8, 5, 6]) y_true2 = array([3, -0.5, 2, 7, 3, 5]) y_pred2 = array([2.5, 0.0, 2, 9, 4, 5]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.kullback_leibler_divergence(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.kullback_leibler_divergence(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6], [3, 4], [2, 1]]) y_pred = array([[0, 2], [-1, 2], [8, -5], [3, 5], [1, 2]])
# Homepage: https://www.researchgate.net/profile/Nguyen_Thieu2 % # Github: https://github.com/thieu1995 % # ------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7, 5, 6]) y_pred = array([2.5, 0.0, 2, 8, 5, 6]) y_true2 = array([3, -0.5, 2, 7, 3, 5]) y_pred2 = array([2.5, 0.0, 2, 9, 4, 5]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.normalized_root_mean_square_error(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.normalized_root_mean_square_error(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6], [3, 4], [2, 1]]) y_pred = array([[0, 2], [-1, 2], [8, -5], [3, 5], [1, 2]])
#!/usr/bin/env python # ------------------------------------------------------------------------------------------------------% # Created by "Thieu Nguyen" at 10:58, 19/07/2020 % # % # Email: [email protected] % # Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) obj1 = Metrics(y_true, y_pred) print(obj1.msle_func(clean=True, decimal=5)) ## > 1-D array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]]) multi_outputs = [None, "raw_values", [0.3, 1.2], array([0.5, 0.2]), (0.1, 0.9)] obj2 = Metrics(y_true, y_pred) for multi_output in multi_outputs: print(obj2.msle_func(clean=True, multi_output=multi_output, decimal=5))
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 % # Github: https://github.com/thieu1995 % #-------------------------------------------------------------------------------------------------------% from numpy import array from permetrics.regression import Metrics ## 1-D array y_true = array([3, -0.5, 2, 7]) y_pred = array([2.5, 0.0, 2, 8]) y_true2 = array([3, -0.5, 2, 7]) y_pred2 = array([2.5, 0.0, 2, 9]) ### C1. Using OOP style - very powerful when calculating multiple metrics obj1 = Metrics(y_true, y_pred) # Pass the data here result = obj1.nash_sutcliffe_efficiency_coefficient(clean=True, decimal=5) print(f"1-D array, OOP style: {result}") ### C2. Using functional style obj2 = Metrics() result = obj2.nash_sutcliffe_efficiency_coefficient(clean=True, decimal=5, y_true=y_true2, y_pred=y_pred2) # Pass the data here, remember the keywords (y_true, y_pred) print(f"1-D array, Functional style: {result}") ## > 1-D array - Multi-dimensional Array y_true = array([[0.5, 1], [-1, 1], [7, -6]]) y_pred = array([[0, 2], [-1, 2], [8, -5]]) multi_outputs = [None, "raw_values", [0.3, 1.2], array([0.5, 0.2]), (0.1, 0.9)] obj3 = Metrics(y_true, y_pred)