所以我一直试图在这样的数据帧上建立一个朴素的Baynes预测,根据3个分类变量预测目标(1/0):
Target ConsumerType MostSigWeekday MostSigDayPart
1 c Monday Morning
1 y Friday Morning
0 bb Sunday Morning
1 ki Thursday Evening
0 yoe Monday Evening
我的问题是GaussianNB()函数不喜欢字符串:
^{pr2}$因此,我试图通过将所有这些变量叠加成一个-['MostSig']来构建一个CountVector:
MostSigonly = pivoted_data['MostSig']
count_vect = CountVectorizer()
vect = CountVectorizer()
train = vect.fit_transform(MostSigonly)
这个向量化步骤是可行的,GaussianNB确实给出了一些结果,但是没有比较所有三个列,模型预测的是单个变量,我得到了这样一个不合理的结果:
model2 = GaussianNB()
trained = model2.fit(train_data,target)
c_pred = trained.predict(train_data)
print("Number of mislabeled points out of a total %d points : %d" \
% (train_data.shape[0],(target != c_pred).sum()))
总共47121个点中错误标记的点数:30839
我的问题是,如何正确地矢量化变量? 或者更广泛地问,我应该如何处理这个问题?在
抱歉,我已经搜索了好几天了,但仍然没有解决问题的线索。在
先谢谢你!在
目前没有回答
相关问题 更多 >
编程相关推荐