I am a software development engineer at Amazon Web Services, prototyping 'art of the possible' solutions for public sector and social good projects.
In my spare time I read, write, and maintain a few open-source projects.
A small, no dependencies, Naive Bayes Text Classifier for JavaScript
License: MIT License
Title just about says it all. There are some details that need documenting, for example how to export/import a model or change the stop words for a different language.
Any way to do this?
Two error criteria that now provide misleading error messages. These new issues are un-release in 3.0.0-SNAPSHOT.
whichx.addLabels('total')
should specify that labels must be unique. It complains about the type, which is incorrect.'total'
is not just a duplicate, it is a reserved key-word. The same can be said of other properties of object.The logic for adding a string label should be extracted to a private function so the error handling logic does not need to be duplicated.
Hello
I was glad to see that I was able to have a good outcome from your library to solve a classification problem at work.
I actually noticed that your library worked better than https://github.com/ttezel/bayes (about 400 stars) with the same training data.
So I would recommend that you make available by a better name your Naive Bayes code, so that more people can find it (and benefit from it) beyond the pets domain.
Congrats!
I couldn't find a simple way of doing this in the build. Write custom validation in Js to prevent the dist/index.js
from growing above a certain size. If this custom validation is good, consider publishing in a separate package.
The classifier currently strips out stop words to improve accuracy. The stop words are hard-coded into the library, which means they will not work with text in other languages.
Allow users to set new stop-words.
One of the value adds of this classification library is that it is really really small. It's worth taking that one step further and making it as small as it can be.
If your model contains user input it is possible that sensitive user information may make it into the model. If the model is exposed (for example in the browser) it may expose this information.
When creating a new WhichX objection, we should allow a configuration option to hash all words added to the model. This will also require that words are hashed during comparison so that they can effectively be compared.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.