我有大约50,000个客户,其中按年龄段(65岁及65岁以上)已知10,000个客户。我有每个客户购买的品牌的历史。我想建立一个模型来根据购买历史预测客户属于哪个年龄段。我运行该模型,它显示了一些错误(下面进一步)。
问题:
我可以使用naiveBayes模型来预测客户属于哪个age_group吗?
如何了解为什么我的模型无法正常工作
如果我有客户年龄,可以使用哪个模型而不是age_group来预测年龄?
非常感谢
# building train and test sets
set.seed(100)
train_set_indexes <- sample (1:nrow(demand_by_customer_brand_year_2018_row), size = 5000)
train_set <- demand_by_customer_brand_year_2018_row [train_set_indexes, ]
test_set <- demand_by_customer_brand_year_2018_row [-train_set_indexes, ]
# Applying a model (naiveBayes) on train set
library(e1071)
model_age <- naiveBayes(Customer_Age_Group ~ ., data = train_set)
# Predicting the class labels of the train set
predicted_labels <- predict(model_age, test_set)
summary(model_age)
True_labels <- test_set[,1]
head(True_labels)
table1 <- table (True_labels,predicted_labels)
table1
# output of summary(model_age)
Length Class Mode
apriori 2 table numeric
tables 741 -none- list
levels 0 -none- NULL
call 4 -none- call
# Output when processing table1 <- table (True_labels,predicted_labels)
Error in table(True_labels, predicted_labels) : object 'True_labels' not found
答案 0 :(得分:0)
我已经解决了问题:
在使用chr格式之前,
'data.frame':1000磅。 742个变量:
$ Customer_Age_Group:chr“妈妈”“妈妈”“妈妈”“高级” ...
当我将其转换为w / 2级因子时,它起作用了 'data.frame':1000磅。 742个变量: $ Customer_Age_Group:具有2个级别的“妈妈”,“高级”因素:1 1 1 2 1 1