看不见的数据中不存在虚拟变量级别

我已经用5个级别的分类变量训练了逻辑回归模型,所有级别对于该模型都是有意义的。

但是,对于看不见的数据,分类变量的级别数为3。 因此,训练有素的模型无法预测看不见的数据,因为它无法找到某些级别。

我已经使用一种热编码来转换分类变量。 该问题如何解决?

用于在训练集中转换为虚拟变量的代码:

logsk.fit(X_train[col],y_train)
y_pred = logsk.predict_proba(X_test[col])

基于RFE,仅某些因素水平对于该模型很重要。因此,在训练模型时,请根据这些列对火车集进行分组

{{1}}

此处col仅包含3个级别的metas_employeegroup。说L1,L2,L3。

在看不见的数据上,正在按照相同的方法来创建虚拟变量。 但是,metadata_employeegroup的级别为L1和L2。 训练有素的模型找不到L3级别,并抛出错误。

elsawin2012 回答:看不见的数据中不存在虚拟变量级别

对于看不见的数据中缺少的分类变量级别,请通过添加这些缺失的级别并将所有记录的值保持为0,在数据中创建新功能。

我能够使用此One Hot Encoding Tutorial

解决
本文链接:https://www.f2er.com/2892524.html

大家都在问