gpt4 book ai didi

python - 使用 scikit-learn 在朴素贝叶斯分类器中混合分类和连续数据

转载 作者:IT老高 更新时间:2023-10-28 21:33:32 24 4
gpt4 key购买 nike

我在 Python 中使用 scikit-learn 开发一种分类算法来预测某些客户的性别。其中,我想使用朴素贝叶斯分类器,但我的问题是我混合了分类数据(例如:“在线注册”、“接受电子邮件通知”等)和连续数据(例如:“年龄”、“长度”成员(member)资格”等)。我以前没怎么用过 scikit,但我认为高斯朴素贝叶斯适用于连续数据,而伯努利朴素贝叶斯可用于分类数据。但是,由于我想在我的模型中同时拥有 分类数据和连续数据,我真的不知道如何处理这个问题。任何想法将不胜感激!

最佳答案

您至少有两个选择:

  • 通过计算每个连续变量的百分位数,然后使用百分位数作为分箱边界对连续变量进行分箱,将所有数据转换为分类表示。例如,对于一个人的高度,创建以下箱:“非常小”、“小”、“常规”、“大”、“非常大”,确保每个箱包含大约 20% 的训练集人口。我们没有任何实用程序可以在 scikit-learn 中自动执行此操作,但您自己做应该不会太复杂。然后在您的数据的这些分类表示上拟合一个唯一的多项式 NB。

  • 在数据的连续部分独立拟合高斯 NB 模型,在分类部分独立拟合多项式 NB 模型。然后通过将类分配概率(使用 predict_proba 方法)作为新特征来转换所有数据集:np.hstack((multinomial_probas, gaussian_probas)),然后重新拟合新模型(例如新的高斯 NB)关于新功能。

关于python - 使用 scikit-learn 在朴素贝叶斯分类器中混合分类和连续数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14254203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com