Cyberjusticelab / JusticeAI

JusticeAI (ProceZeus) is a web chat bot that aims to facilitate access to judicial proceedings involving Quebec tenant/landlord law
https://cyberjusticelab.github.io/JusticeAI/docs/rendered/
MIT License
21 stars 16 forks source link

43/model metrics #385

Closed Samuel-Campbell closed 6 years ago

Samuel-Campbell commented 6 years ago

1) Created a metrics binary 2) Next PR will be to create an endpoint to get these metrics 3) Purpose is to display some of them on the dashboard. I assembled as many numbers as possible

        {
            'data_set':{
                'size': 5000
            },
            'regressor':{
                'regressor name':{
                    'std': 4,
                    'mean': 5,
                    'variance': 42,
                    'mean_fact_vector': [3, 1, 5, 6, 2]
                }
            },
            'classifier':{
                'classifier name':{
                    'prediction_accuracy': 0.92,
                }
            }
        }
codecov[bot] commented 6 years ago

Codecov Report

Merging #385 into master will increase coverage by 0.37%. The diff coverage is 79.31%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #385      +/-   ##
==========================================
+ Coverage    64.1%   64.48%   +0.37%     
==========================================
  Files          54       54              
  Lines        2212     2227      +15     
  Branches       17       17              
==========================================
+ Hits         1418     1436      +18     
+ Misses        789      786       -3     
  Partials        5        5
Impacted Files Coverage Δ
...n/single_output_regression/tenant_pays_landlord.py 35.48% <ø> (+1.1%) :arrow_up:
...le_output_regression/additional_indemnity_money.py 38.7% <ø> (+1.2%) :arrow_up:
src/ml_service/init.py 51.16% <ø> (ø) :arrow_up:
...ion/single_output_regression/abstract_regressor.py 68.91% <76.47%> (+8.31%) :arrow_up:
...raining/classifier/multi_output/multi_class_svm.py 87.12% <83.33%> (-0.69%) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update bdf8529...96c4ac5. Read the comment docs.

dodoels commented 6 years ago

For the endpoint, we only need the non-technical metrics (like, our system is 96% accurate). Users don't know what f1 is, so returning such data will not have user value.

Samuel-Campbell commented 6 years ago

@choitwao I thought we agreed that I should return as many statistics as possible and you guys choose which ones you want

dodoels commented 6 years ago

@Samuel-Campbell more is better yes, but if we know for fact that these data won't be present anywhere on the client side in the future then transferring these data only decrease our system's performance (i.e. requesting 1 metrics, but returning 10, which x10 size data)

dodoels commented 6 years ago

@Samuel-Campbell we do need the data for each numerical value to create the bell curve tho, so those data will be used to calculate/plot the curve. But for the F1 score stuff, we don't really need it. UNLESS we need to show them for DEMO purpose (like show it to CJL)

Samuel-Campbell commented 6 years ago

@choitwao removed f1, precision, recall