Hi Prodigy team,
I have a query regarding text classifier. I am working on a domain specific dataset (Oil & Gas Industry) for training on one classification only.
I trained the model using 1700 annotations and 600 evalutation data (non skewed data).
My queries are:
- I have got the following results with 25 iterations.
`
LOSS F-SCORE ACCURACY
01 7.337 0.811 0.840
02 3.945 0.894 0.903
03 3.479 0.854 0.872
04 2.830 0.837 0.855
05 2.398 0.832 0.853
06 1.567 0.836 0.855
07 1.395 0.830 0.852
08 1.418 0.847 0.865
09 1.185 0.858 0.872
10 1.831 0.839 0.858
11 1.568 0.847 0.865
12 1.119 0.845 0.863
13 0.692 0.847 0.865
14 1.308 0.852 0.868
15 0.877 0.858 0.872
16 0.994 0.851 0.867
17 0.623 0.809 0.835
18 0.739 0.815 0.840
19 0.296 0.810 0.837
20 0.679 0.783 0.817
21 1.262 0.783 0.818
22 1.205 0.777 0.812
23 0.989 0.787 0.818
24 0.683 0.788 0.820
25 0.940 0.792 0.823
Baseline 0.50
Precision 0.99
Recall 0.82
F-score 0.89
Accuracy 0.90
Model is giving quite decent results with less iterations, which I am confused about since in NN models, the number of iterations is quite high. Is it normal to expect such decent results with less iterations in spacy? or I am missing something?
- I have gone through the Prodigy documentation which states that best model will be stored. What is the criteria for the best model? Let's say in the above example:
Model no. 19 with lowest loss
function or Model no. 2 with highest accuracy
will be stored?
-
The training classifier model evaluates on the basis of 'accept' and 'reject' (Eventually we can see the score also using
nlp command
and.cats
command). But how does the model assign a score to the sentences? or What is the threshold for assigning 'accept' or 'reject'. Is it .50? and Is there any way that we can change the threshold? -
I have gone through the following link:
https://support.prodi.gy/t/best-practices-for-text-classifier-annotations/135/4
but if you can give any other useful tip that I should keep in mind while training such kind of model?
Might be some of the above queries is already covered in documentation and I am not able to find it. Apologies for that.
Thanks