例如,如果我针对这些值训练模型
Column1 = A , Column2 = B , Column3 = C , Label = 10
Column1 = D , Column2 = E , Column3 = F , Label = 20
Column1 = G , Column2 = H , Column3 = I , Label = 30
如果我要预测怎么办?
Column1 = A , Column2 = B , Column3 = Z
模型为此做什么?
答案 0 :(得分:1)
这取决于您如何处理分类数据。 例如,如果您使用基于字典的一键矢量化程序:
new CategoricalOneHotVectorizer("Column2", "Column2", "Column3")
然后,该模型将建立每列术语词典: 第1列-> [A,D,G] 栏2-> [B,E,H] 第3列-> [C,F,I]
如果未看到该值(在字典中不存在),则CategoricalOneHotVectorizer
将零分配给所有“单热”槽。因此,您的示例A B Z
将变成1 0 0 1 0 0 0 0 0
。
另一方面,如果您使用基于哈希的单点编码:
new CategoricalHashOneHotVectorizer("Column2", "Column2", "Column3")
传入值Z将以与可见值C,F和I相同的方式进行哈希处理,这将基于哈希值激活输出列的2^HashBits
槽之一。
在CategoricalOneHotVectorizer
上的doc上不是很清楚,但是它仍然显示:
键值是在Ind / Bag选项中设置的插槽的从一开始的索引。如果找不到“密钥”选项,则会将其分配为零。</ p>