我已经用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级别,并抛出错误。