#NSFWJS has several models to chose from, and the 90% accuracy model loses accuracy in a specific way.
Because sometimes it's better to flag things and be wrong, rather than the alternative.
These errors are "false positives" and are called "Type 1 Errors".
In some cases a type 1 error is preferred. The 90% mobilenet model might seem silly when it makes this mistake, but due to the nature of NSFW content, it's important.
Type 2 Errors are the opposite.
It's actually an interesting aspect of #MachineLearning that you need to consider.
Do you hold accuracy over everything? Or do you sacrifice accuracy to limit a specific type of error? In NSFWJS it's important that you have options.
I'm considering adding a voting classifier to the library which would allow you to tweak the settings and use an "ensemble model" architecture.
Let me know what you think! And as always, it's free and #OpenSource to use NSFWJS 🎉
But #machinelearning doesn't give you an image, it gives you data. It's up to you to make it look simple.
You might think a #FrontEnd box gives you four values, and you're right, but it only gives you TWO points. From that you can infer a box to draw with #html5.