iamDecode / sklearn-pmml-model

A library to parse and convert PMML models into Scikit-learn estimators.
BSD 2-Clause "Simplified" License
76 stars 15 forks source link

Support gaussian naive bayes model #15

Closed iamDecode closed 4 years ago

iamDecode commented 4 years ago

This PR adds basic support for Naive Bayes. Currently only the Gaussian distribution is supported. Categorical support is implemented by one hot encoding features, just like done for linear models. Results are consistent with predictions in R with naiveBayes from the e1071 library.

Support for the PoissonDistribution is as far as I know not possible in scikit-learn. The different scikit-learn Naive Bayes implementations (Multinomial, Complement, Bernoulli, Categorical) still need to be implemented, but they are less relevant as they only apply to categorical (only) data sets. It will need some investigation to check how these models would be represented in PMML.

codecov[bot] commented 4 years ago

Codecov Report

Merging #15 into master will not change coverage. The diff coverage is 100%.

Impacted file tree graph

@@          Coverage Diff          @@
##           master    #15   +/-   ##
=====================================
  Coverage     100%   100%           
=====================================
  Files           9     11    +2     
  Lines         376    411   +35     
=====================================
+ Hits          376    411   +35
Impacted Files Coverage Δ
sklearn_pmml_model/linear_model/__init__.py 100% <ø> (ø) :arrow_up:
sklearn_pmml_model/naive_bayes/implementations.py 100% <100%> (ø)
sklearn_pmml_model/naive_bayes/__init__.py 100% <100%> (ø)

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 309a659...103322c. Read the comment docs.