gpt4 book ai didi

r - 如何在 R 中为数值和分类变量创建朴素贝叶斯

转载 作者:行者123 更新时间:2023-12-04 16:08:24 24 4
gpt4 key购买 nike

我正在尝试根据已知信息在 R 中实现朴素贝叶斯模型:

Age group, e.g. "18-24" and "25-34", etc.
Gender, "male" and "female"
Region, "London" and "Wales", etc.
Income, "£10,000 - £15,000", etc.
Job, "Full Time" and "Part Time", etc.

我在实现时遇到错误。我的代码如下:

library(readxl)
iphone <- read_excel("~/Documents/iPhone_1k.xlsx")
View(iphone)

summary(iphone)
iphone

library(caTools)
library(e1071)

set.seed(101)
sample = sample.split(iphone$Gender, SplitRatio = .7)
train = subset(iphone, sample == TRUE)
test = subset(iphone, sample == FALSE)

nB_model <- naiveBayes(Gender ~ Region + Retailer, data = train)
pred <- predict(nB_model, test, type="raw")

在上述场景中,我有一个名为 iPhone_1k 的 excel 文件(1,000 个与访问网站购买 iPhone 的人相关的条目)。每行是一个访问该网站的人,并且上述人口统计数据是已知的。

我一直在努力使模型正常工作,并采用了以下仅使用两个变量的链接(我想至少使用 4 个,但如果可能的话引入更多):

https://rpubs.com/dvorakt/144238

我希望能够使用这些人口统计数据来预测他们将去哪个零售商(也为 iPhone_1k 文件中的每个实例所知)。只有3个选项。你能告诉我如何完成这个吗?

附言下面是我用来在 R 中保持简单的数据简化版本的屏幕截图。一旦我得到一些代码可以工作,我将扩展变量和条目的数量。

enter image description here

最佳答案

你设置的问题不对。应该是:

naiveBayes(Retailer ~  Gender + Region + AgeGroup, data = train)    

或者简而言之

naiveBayes(Retailer ~ ., data = train)  

如果列是字符,您可能还需要将它们转换为因子。您可以在从 excel 读取后立即对所有列执行此操作,方法是

iphone[] <- lapply(iphone, factor)  

请注意,如果您以后添加数值变量,则不应对其应用此步骤。

关于r - 如何在 R 中为数值和分类变量创建朴素贝叶斯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47514017/

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