我找不到有关如何做出正确预测的信息 对于以下数据帧:
train data:
id variable value statement
1 x1 431 1
1 x2 11 1
1 x3 65 1
2 x1 33 0
2 x2 2 0
3 x3 58 1
3 x1 22 1
.
.
.
need to predict:
id variable value statement
996 x1 431 ?
996 x2 131 ?
997 x3 62 ?
997 x1 33 ?
997 x2 23 ?
998 x1 18 ?
999 x1 26 ?
我想知道如果我获得相同ID的不同语句该怎么办,例如:
id statement
997 0.66
997 0.95
997 0.34
在这种情况下,我应该怎么做,我应该按ID分组并获得最大值,还是应该是平均水平……正确的选择是什么? 谢谢...
答案 0 :(得分:0)
@@АндрейАлексеевич我会说这取决于ID在您的DF中的含义。
在大多数情况下,由于您必须拥有许多ID,而ID并不是一个数字,所以在预测时并不会考虑ID。
因此,您必须使用get_dummies将ID分成不同的列
df_ohe = pd.get_dummies(df, prefix_sep="__")
df_ohe.head()
out:
id_0 id_1 id_2 ...
0 1 0
0 0 1
1 0 0
总结:
编辑您的问题
@АндрейАлексеевич
假设每个ID代表一个客户端(id 1 =客户端1,...)
如果保留此功能,则将尝试预测客户端是否吸烟(是或否)。您的模型将了解(有点过拟合)客户端ID 1是吸烟者,依此类推。
因此,您的模型不会真正推广到新数据(您不知道新客户是否吸烟的新客户)
此外,正如我所说,ID不是数字(即使它写为0,1,2,..)。如果保留它们,则模型会将这些ID解释为数字。因此,它会说,id 100> id 20,依此类推。