希望我还不晚。我最近用NumPy编写了一个名为Mixed Naive Bayes的库。可以在训练数据特征上假设混合了高斯分布和分类(multinoulli)分布。
https://github.com/remykarem/mixed-naive-bayes
该库的编写使API与scikit-learn相似。
在下面的示例中,我们假设前两个特征来自分类分布,后两个特征是高斯分布。在fit()
方法中,只需指定categorical_features=[0,1]
,指示列0和1将遵循分类分布。
from mixed_naive_bayes import MixedNB
X = [[0, 0, 180.9, 75.0],
[1, 1, 165.2, 61.5],
[2, 1, 166.3, 60.3],
[1, 1, 173.0, 68.2],
[0, 2, 178.4, 71.0]]
y = [0, 0, 1, 1, 0]
clf = MixedNB(categorical_features=[0,1])
clf.fit(X,y)
clf.predict(X)
可通过pip install mixed-naive-bayes
安装pip install mixed-naive-bayes
。 README.md文件中有关用法的更多信息。拉取请求非常感谢:)
0
我正在Python中使用scikit-learn开发分类算法,以预测某些客户的性别。除其他外,我想使用Naive Bayes分类器,但我的问题是我混合使用了分类数据(例如:“在线注册”,“接受电子邮件通知”等)和连续数据(例如:“年龄”,“长度”成员资格”等)。我以前没有使用过scikit,但我想高斯朴素贝叶斯适用于连续数据,而伯努利朴素贝叶斯可以用于分类数据。但是,由于我想在模型中同时包含分类数据和连续数据,所以我真的不知道该如何处理。任何想法将不胜感激!