feat: adds accuracy, recall and precision metrics

This commit is contained in:
Volodymyr Orlov
2020-06-05 17:39:29 -07:00
parent e20e9ca6e0
commit c0c2029f2c
10 changed files with 285 additions and 8 deletions
+34
View File
@@ -0,0 +1,34 @@
pub mod accuracy;
pub mod recall;
pub mod precision;
use crate::math::num::FloatExt;
use crate::linalg::BaseVector;
pub struct ClassificationMetrics{}
impl ClassificationMetrics {
pub fn accuracy() -> accuracy::Accuracy{
accuracy::Accuracy {}
}
pub fn recall() -> recall::Recall{
recall::Recall {}
}
pub fn precision() -> precision::Precision{
precision::Precision {}
}
}
pub fn accuracy<T: FloatExt, V: BaseVector<T>>(y_true: &V, y_prod: &V) -> T{
ClassificationMetrics::accuracy().get_score(y_true, y_prod)
}
pub fn recall<T: FloatExt, V: BaseVector<T>>(y_true: &V, y_prod: &V) -> T{
ClassificationMetrics::recall().get_score(y_true, y_prod)
}
pub fn precision<T: FloatExt, V: BaseVector<T>>(y_true: &V, y_prod: &V) -> T{
ClassificationMetrics::precision().get_score(y_true, y_prod)
}